WebKit-https.git
7 years agoAdd support for Web IDL partial interfaces to the bindings generator
ch.dumez@sisa.samsung.com [Fri, 26 Apr 2013 07:29:19 +0000 (07:29 +0000)]
Add support for Web IDL partial interfaces to the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=115228

Reviewed by Kentaro Hara.

Add support for Web IDL partial interfaces to the bindings generator:
http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface

Also drop support for the the WebKit-specific [Supplemental] extended
attribute and use partial interfaces instead in existing IDL files.

No new tests, no behavior change.

* Modules/battery/NavigatorBattery.idl:
* Modules/filesystem/DOMWindowFileSystem.idl:
* Modules/filesystem/DataTransferItemFileSystem.idl:
* Modules/filesystem/HTMLInputElementFileSystem.idl:
* Modules/filesystem/WorkerContextFileSystem.idl:
* Modules/gamepad/NavigatorGamepad.idl:
* Modules/geolocation/NavigatorGeolocation.idl:
* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* Modules/indexeddb/WorkerContextIndexedDatabase.idl:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/NavigatorMediaStream.idl:
* Modules/navigatorcontentutils/NavigatorContentUtils.idl:
* Modules/networkinfo/NavigatorNetworkInfoConnection.idl:
* Modules/notifications/DOMWindowNotifications.idl:
* Modules/notifications/WorkerContextNotifications.idl:
* Modules/quota/DOMWindowQuota.idl:
* Modules/quota/NavigatorStorageQuota.idl:
* Modules/quota/WorkerNavigatorStorageQuota.idl:
* Modules/speech/DOMWindowSpeech.idl:
* Modules/speech/DOMWindowSpeechSynthesis.idl:
* Modules/vibration/NavigatorVibration.idl:
* Modules/webaudio/DOMWindowWebAudio.idl:
* Modules/webdatabase/DOMWindowWebDatabase.idl:
* Modules/webdatabase/WorkerContextWebDatabase.idl:
* Modules/websockets/DOMWindowWebSocket.idl:
* Modules/websockets/WorkerContextWebSocket.idl:
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/IDLParser.pm:
(parsePartialDefinition):
* bindings/scripts/generate-bindings.pl:
* bindings/scripts/preprocess-idls.pl:
(getPartialInterfaceNameFromIDLFile):
* bindings/scripts/test/TestSupplemental.idl:
* page/DOMWindowPagePopup.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Plugin process broken due to a missing symbol
zandobersek@gmail.com [Fri, 26 Apr 2013 06:50:05 +0000 (06:50 +0000)]
[GTK] Plugin process broken due to a missing symbol
https://bugs.webkit.org/show_bug.cgi?id=114901

Reviewed by Gustavo Noronha Silva.

Work around the missing symbols in the WebKitPluginProcess by specifying the required libraries
multiple times in the program's LDADD list. Libtool fights fiercely to avoid duplicate static library
references among the linker arguments (even if using the --preserve-dup-deps flag) so the required libraries
are specified in various ways.

The unresolved symbols in object files are no longer ignored as this can lead to further trouble (for instance
this patch also adds a few missing source files to the list of WebKitPluginProcess sources). The Freetype and
gamepad dependencies' libraries are also added to the binary's LDADD list.

* GNUmakefile.am:
* GNUmakefile.list.am: Add a few missing files to the build.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149169 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Hit testing is broken for absolutely positioned regions that have overf...
mihnea@adobe.com [Fri, 26 Apr 2013 06:23:53 +0000 (06:23 +0000)]
[CSS Regions] Hit testing is broken for absolutely positioned regions that have overflow: hidden
https://bugs.webkit.org/show_bug.cgi?id=113874

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/hit-test-abspos-overflow-region.html

When a region is an out-of-flow positioned object with an overflow clip, we need
to make sure that hit testing works also for cases other than foreground (content)
hit testing. This patch moves the previous hit testing code, that delegated foreground
hit testing to the region's flow thread hit testing, into the hitTestContent method,
now that RenderRegion is RenderBlock based.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::hitTestContents):
* rendering/RenderRegion.h:
(RenderRegion):

LayoutTests:

Add test for hit-testing of border of an out-of-flow region with overflow: hidden.

* fast/regions/hit-test-abspos-overflow-region-expected.txt: Added.
* fast/regions/hit-test-abspos-overflow-region.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCopy and paste can strip !important CSS rules due to a bug in mergeStyleFromRules
rniwa@webkit.org [Fri, 26 Apr 2013 04:51:28 +0000 (04:51 +0000)]
Copy and paste can strip !important CSS rules due to a bug in mergeStyleFromRules
https://bugs.webkit.org/show_bug.cgi?id=115217

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by mergeStyleFromRules overriding "important" style rules with "unimportant" inline styles.
Fixed the bug by using addParsedProperty, which respects !important, in MutableStylePropertySet's
mergeAndOverrideOnConflict, which was only used in editing code. Now that we've fixed this function, we can use
it in ViewportStyleResolver::addViewportRule as well.

Test: editing/pasteboard/copy-paste-with-important-rules.html

* css/StylePropertySet.cpp:
(WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict): Fixed to respect !important.
* css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::addViewportRule): Use mergeAndOverrideOnConflict now that the code is identical.

LayoutTests:

Added a regression test.

* editing/pasteboard/copy-paste-with-important-rules-expected.txt: Added.
* editing/pasteboard/copy-paste-with-important-rules.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149167 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove support for Chromium from build/update scripts
commit-queue@webkit.org [Fri, 26 Apr 2013 04:50:30 +0000 (04:50 +0000)]
Remove support for Chromium from build/update scripts
https://bugs.webkit.org/show_bug.cgi?id=115218

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-25
Reviewed by Darin Adler.

* Scripts/build-webkit:
(writeCongrats):
* Scripts/update-webkit:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149166 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSuperRegion doesn't call deallocate() on its PageReservation
mhahnenberg@apple.com [Fri, 26 Apr 2013 02:47:26 +0000 (02:47 +0000)]
SuperRegion doesn't call deallocate() on its PageReservation
https://bugs.webkit.org/show_bug.cgi?id=115208

Reviewed by Geoffrey Garen.

It should. This doesn't cause us to leak physical memory, but it does cause us to leak virtual
address space (and probably mach ports), which is also bad :-( FixedVMPoolExecutableAllocator
also has this bug, but it doesn't matter much because there's only one instance of that class
throughout the entire lifetime of the process, whereas each VM has its own SuperRegion.

* heap/SuperRegion.cpp:
(JSC::SuperRegion::~SuperRegion):
* heap/SuperRegion.h:
(SuperRegion):
* jit/ExecutableAllocatorFixedVMPool.cpp:
(FixedVMPoolExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::~FixedVMPoolExecutableAllocator):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149165 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove support for Chromium from api-test
commit-queue@webkit.org [Fri, 26 Apr 2013 02:30:11 +0000 (02:30 +0000)]
Remove support for Chromium from api-test
https://bugs.webkit.org/show_bug.cgi?id=115211

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-25
Reviewed by Dirk Pranke.

* Scripts/build-api-tests:
* Scripts/run-api-tests:
(isSupportedPlatform):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGet rid of Chromium in build-dumprendertree
commit-queue@webkit.org [Fri, 26 Apr 2013 01:38:23 +0000 (01:38 +0000)]
Get rid of Chromium in build-dumprendertree
https://bugs.webkit.org/show_bug.cgi?id=115212

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-25
Reviewed by Dirk Pranke.

* Scripts/build-dumprendertree:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149163 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDFG doesn't support to_jsnumber
fpizlo@apple.com [Fri, 26 Apr 2013 01:18:18 +0000 (01:18 +0000)]
DFG doesn't support to_jsnumber
https://bugs.webkit.org/show_bug.cgi?id=115129

Reviewed by Geoffrey Garen.

Based on Oliver's patch. Implements to_jsnumber as Identity(Number:@thingy), and then does
an optimization in Fixup to turn Identity(Number:) into Identity(Int32:) if the predictions
tell us to. Identity is later turned into Phantom.

Also fixed BackPropMask, which appeared to have NodeDoesNotExit included in it. That's
wrong; NodeDoesNotExit is not a backward propagation property.

Also fixed Identity to be marked as CanExit (i.e. not NodeDoesNotExit).

This more than doubles the FPS on ammo.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(FixupPhase):
(JSC::DFG::FixupPhase::observeUseKindOnNode):
(JSC::DFG::FixupPhase::observeUseKindOnEdge):
* dfg/DFGNodeFlags.h:
(DFG):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoVersioning.
mrowe@apple.com [Fri, 26 Apr 2013 00:50:24 +0000 (00:50 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd support for Math.imul
oliver@apple.com [Fri, 26 Apr 2013 00:41:38 +0000 (00:41 +0000)]
Add support for Math.imul
https://bugs.webkit.org/show_bug.cgi?id=115143

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Add support for Math.imul, a thunk generator for Math.imul,
and an intrinsic.

Fairly self explanatory set of changes, DFG intrinsics simply
leverages the existing ValueToInt32 nodes.

* create_hash_table:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::executeEffects):
* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithIMul):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/ThunkGenerators.cpp:
(JSC::imulThunkGenerator):
(JSC):
* jit/ThunkGenerators.h:
(JSC):
* runtime/Intrinsic.h:
* runtime/MathObject.cpp:
(JSC):
(JSC::mathProtoFuncIMul):
* runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):

LayoutTests:

Add a bunch of tests for Math.imul

* fast/js/Object-getOwnPropertyNames-expected.txt:
* fast/js/imul-expected.txt: Added.
* fast/js/imul.html: Added.
* fast/js/regress/imul-double-only-expected.txt: Added.
* fast/js/regress/imul-double-only.html: Added.
* fast/js/regress/imul-int-only-expected.txt: Added.
* fast/js/regress/imul-int-only.html: Added.
* fast/js/regress/imul-mixed-expected.txt: Added.
* fast/js/regress/imul-mixed.html: Added.
* fast/js/regress/script-tests/imul-double-only.js: Added.
(f):
* fast/js/regress/script-tests/imul-int-only.js: Added.
(f):
* fast/js/regress/script-tests/imul-mixed.js: Added.
(f):
* fast/js/script-tests/Object-getOwnPropertyNames.js:
* fast/js/script-tests/imul.js: Added.
(testIMul):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149159 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, roll out http://trac.webkit.org/changeset/148999
fpizlo@apple.com [Fri, 26 Apr 2013 00:40:27 +0000 (00:40 +0000)]
Unreviewed, roll out trac.webkit.org/changeset/148999
It broke http://kripken.github.io/ammo.js/examples/new/ammo.html

Source/JavaScriptCore:

* JavaScriptCore.order:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::shouldEmitProfileHooks):
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC):
(JSC::NullNode::emitBytecode):
(JSC::BooleanNode::emitBytecode):
(JSC::NumberNode::emitBytecode):
(JSC::StringNode::emitBytecode):
(JSC::IfNode::emitBytecode):
(JSC::IfElseNode::emitBytecode):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createIfStatement):
(ASTBuilder):
* parser/NodeConstructors.h:
(JSC):
(JSC::NullNode::NullNode):
(JSC::BooleanNode::BooleanNode):
(JSC::NumberNode::NumberNode):
(JSC::StringNode::StringNode):
(JSC::IfNode::IfNode):
(JSC::IfElseNode::IfElseNode):
* parser/Nodes.h:
(JSC::ExpressionNode::isPure):
(JSC::ExpressionNode::isSubtract):
(StatementNode):
(NullNode):
(JSC::NullNode::isNull):
(BooleanNode):
(JSC::BooleanNode::isPure):
(NumberNode):
(JSC::NumberNode::value):
(JSC::NumberNode::isPure):
(StringNode):
(JSC::StringNode::isPure):
(JSC::StringNode::isString):
(BinaryOpNode):
(IfNode):
(JSC):
(IfElseNode):
(ContinueNode):
(BreakNode):
* parser/Parser.cpp:
(JSC::::parseIfStatement):
* parser/ResultType.h:
(ResultType):
* runtime/JSCJSValueInlines.h:
(JSC::JSValue::pureToBoolean):
* runtime/JSCell.h:
(JSCell):
* runtime/JSCellInlines.h:
(JSC):

Source/WTF:

* wtf/TriState.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149158 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStylePropertySet::getPropertyShorthand() should return a String.
akling@apple.com [Fri, 26 Apr 2013 00:33:59 +0000 (00:33 +0000)]
StylePropertySet::getPropertyShorthand() should return a String.
<http://webkit.org/b/115213>

Reviewed by Anders Carlsson.

Return a String directly from getPropertyShorthand() instead of forcing clients
to call getPropertyNameString().

* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyShorthand):
* css/StylePropertySet.h:
(StylePropertySet):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWEB SPEECH: language support does not work as expected
cfleizach@apple.com [Fri, 26 Apr 2013 00:27:56 +0000 (00:27 +0000)]
WEB SPEECH: language support does not work as expected
https://bugs.webkit.org/show_bug.cgi?id=115119

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Make the Mac platform synthesizer have access to all the voices installed on the system.

* WebCore.exp.in:
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

WebKitLibraries:

* WebKitSystemInterface.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149156 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/WebCore: <meter> element not exposed to accessibility
cfleizach@apple.com [Thu, 25 Apr 2013 23:33:23 +0000 (23:33 +0000)]
Source/WebCore: <meter> element not exposed to accessibility
https://bugs.webkit.org/show_bug.cgi?id=109023
rdar://problem/13658964

Reviewed by Tim Horton.

Makes the <meter> element appear in the AX tree by reusing the
AccessibilityProgressIndicator element to handle either progress or meter
elements.

Test: accessibility/meter-element.html

* accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
(WebCore::AXObjectCache::getOrCreate):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore::AccessibilityNodeObject::visibleText):
* accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
(WebCore::AccessibilityProgressIndicator::create):
(WebCore::AccessibilityProgressIndicator::valueForRange):
(WebCore::AccessibilityProgressIndicator::maxValueForRange):
(WebCore::AccessibilityProgressIndicator::minValueForRange):
(WebCore::AccessibilityProgressIndicator::progressElement):
(WebCore::AccessibilityProgressIndicator::meterElement):
* accessibility/AccessibilityProgressIndicator.h:
(AccessibilityProgressIndicator):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::firstChild):
(WebCore::AccessibilityRenderObject::lastChild):
    These methods are modified to handle when there is no rendered children, but there are Node
    children. The node children are desired when calculating text within a node, for example.

LayoutTests: <meter> element not exposed to accessibility
https://bugs.webkit.org/show_bug.cgi?id=109023

Reviewed by Tim Horton.

* accessibility/meter-element-expected.txt: Added.
* accessibility/meter-element.html: Added.
* platform/mac/accessibility/role-subrole-roledescription-expected.txt:
* platform/mac/accessibility/role-subrole-roledescription.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPreciseJumpTargets should treat loop_hint as a jump target
fpizlo@apple.com [Thu, 25 Apr 2013 23:10:41 +0000 (23:10 +0000)]
PreciseJumpTargets should treat loop_hint as a jump target
https://bugs.webkit.org/show_bug.cgi?id=115209

Reviewed by Mark Hahnenberg.

I didn't add a test but I turned this into a release assertion. Running Octane is enough
to trigger it.

* bytecode/PreciseJumpTargets.cpp:
(JSC::computePreciseJumpTargets):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149154 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Shaders] Remove the meshType from the CustomFilterOperation
commit-queue@webkit.org [Thu, 25 Apr 2013 23:06:35 +0000 (23:06 +0000)]
[CSS Shaders] Remove the meshType from the CustomFilterOperation
https://bugs.webkit.org/show_bug.cgi?id=102529

Patch by Qiankun Miao <qiankun.miao@intel.com> on 2013-04-25
Reviewed by Dean Jackson.

No new tests, no new functionality.

MeshType can be accessed from program, so remove the m_meshType
related code in CustomFilterOperation.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
* platform/graphics/filters/CustomFilterOperation.cpp:
(WebCore::CustomFilterOperation::CustomFilterOperation):
(WebCore::CustomFilterOperation::blend):
* platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::create):
(WebCore::CustomFilterOperation::meshType):
(CustomFilterOperation):
(WebCore::CustomFilterOperation::operator==):
* platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h:
(WebCore::CoordinatedCustomFilterOperation::CoordinatedCustomFilterOperation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149153 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/JavaScriptCore: Fix problems with processing negative zero on DFG.
commit-queue@webkit.org [Thu, 25 Apr 2013 22:52:34 +0000 (22:52 +0000)]
Source/JavaScriptCore: Fix problems with processing negative zero on DFG.
https://bugs.webkit.org/show_bug.cgi?id=113862

Patch by Roman Zhuykov <zhroma@ispras.ru> on 2013-04-25
Reviewed by Filip Pizlo.

Fix NodeNeedsNegZero flag propagation in BackwardPropagationPhase.
Function arithNodeFlags should not mask NodeNeedsNegZero flag for ArithNegate and DoubleAsInt32
nodes and this flag should be always used to decide where we need to generate nezative-zero checks.
Remove unnecessary negative-zero checks from integer ArithDiv on ARM.
Also remove such checks from integer ArithMod on ARM and X86, and make them always to
check not only "modulo_result == 0" but also "dividend < 0".
Generate faster code for case when ArithMod operation divisor is constant power of 2 on ARMv7
in the same way as on ARMv7s, and add negative-zero checks into this code when needed.
Change speculationCheck ExitKind from Overflow to NegativeZero where applicable.

This shows 30% speedup of math-spectral-norm, and 5% speedup
on SunSpider overall on ARMv7 Linux.

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branchConvertDoubleToInt32):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchConvertDoubleToInt32):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::branchConvertDoubleToInt32):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branchConvertDoubleToInt32):
* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::isNotNegZero):
(JSC::DFG::BackwardsPropagationPhase::isNotPosZero):
(JSC::DFG::BackwardsPropagationPhase::propagate):
* dfg/DFGNode.h:
(JSC::DFG::Node::arithNodeFlags):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::compileSoftModulo):
(JSC::DFG::SpeculativeJIT::compileArithNegate):

LayoutTests: Arithmetic operations with negative zero should be optimized correclty.
https://bugs.webkit.org/show_bug.cgi?id=113862

Patch by Roman Zhuykov <zhroma@ispras.ru> on 2013-04-25
Reviewed by Filip Pizlo.
* fast/js/regress/negative-zero-divide-expected.txt: Added.
* fast/js/regress/negative-zero-divide.html: Added.
* fast/js/regress/negative-zero-modulo-expected.txt: Added.
* fast/js/regress/negative-zero-modulo.html: Added.
* fast/js/regress/negative-zero-negate-expected.txt: Added.
* fast/js/regress/negative-zero-negate.html: Added.
* fast/js/regress/script-tests/negative-zero-divide.js: Added.
(foo):
* fast/js/regress/script-tests/negative-zero-modulo.js: Added.
(foo):
* fast/js/regress/script-tests/negative-zero-negate.js: Added.
(foo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149152 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIgnore invalid regular expressions for input[pattern].
tkent@chromium.org [Thu, 25 Apr 2013 22:51:08 +0000 (22:51 +0000)]
Ignore invalid regular expressions for input[pattern].
https://bugs.webkit.org/show_bug.cgi?id=115204

Reviewed by Darin Adler.

Source/WebCore:

According to the specification, we should not proceed regular expression
matching if a pattern attribute value is an invalid regular
expression. We had a bug that invalid expressions such as
pattern=")foo(" made RegularExpression objects successfully.

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-pattern-attribute
> If an input element has a pattern attribute specified, and the
> attribute's value, when compiled as a JavaScript regular expression with
> the global, ignoreCase, and multiline flags disabled (see ECMA262
> Edition 5, sections 15.10.7.2 through 15.10.7.4), compiles successfully,
> then the resulting regular expression is the element's compiled pattern
> regular expression. If the element has no such attribute, or if the
> value doesn't compile successfully, then the element has no compiled
> pattern regular expression.

This imports a part of Blink r148951.

Tests: Update fast/forms/ValidityState-patternMismatch.html

* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
Check correctness of pattern attribute value before wrapping with parentheses.
* platform/text/RegularExpression.cpp:
(WebCore::RegularExpression::isValid): Added.
* platform/text/RegularExpression.h:
(RegularExpression): Declare isValid.

LayoutTests:

* fast/forms/ValidityState-patternMismatch-expected.txt:
* fast/forms/ValidityState-patternMismatch.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149151 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix 32bit build
oliver@apple.com [Thu, 25 Apr 2013 22:50:07 +0000 (22:50 +0000)]
Fix 32bit build

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix for smart compliers.
simon.fraser@apple.com [Thu, 25 Apr 2013 22:37:22 +0000 (22:37 +0000)]
Build fix for smart compliers.

Reviewed by Tim Horton.

[NSDictionary dictionaryWithObjectsAndKeys:] returns an NSDictionary,
not a NSMutableDictionary.

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::updateSpellingUIWithGrammarString):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149149 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago Pass relatedPage when creating a page in WebKitTestRunner
ap@apple.com [Thu, 25 Apr 2013 22:25:07 +0000 (22:25 +0000)]
    Pass relatedPage when creating a page in WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=115206

        Reviewed by Geoffrey Garen.

        To make sure that window.open() opens in the same process even when using multiple processes.

        * WebKitTestRunner/PlatformWebView.h:
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::createOtherPage):
        (WTR::TestController::createWebViewWithOptions):
        * WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
        (WTR::PlatformWebView::PlatformWebView):
        * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
        (WTR::PlatformWebView::PlatformWebView):
        * WebKitTestRunner/mac/PlatformWebViewMac.mm:
        (-[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:relatedToPage:useTiledDrawing:]):
        (WTR::PlatformWebView::PlatformWebView):
        * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
        (WTR::PlatformWebView::PlatformWebView):
        * WebKitTestRunner/win/PlatformWebViewWin.cpp:
        (WTR::PlatformWebView::PlatformWebView):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149148 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRename DecidePolicyForResponse message to DecidePolicyForResponseSync
andersca@apple.com [Thu, 25 Apr 2013 22:23:39 +0000 (22:23 +0000)]
Rename DecidePolicyForResponse message to DecidePolicyForResponseSync
https://bugs.webkit.org/show_bug.cgi?id=115207

Reviewed by Beth Dakin.

In preparation for adding a new async DecidePolicyForResponse message,
rename the current one to DecidePolicyForResponseSync. Also split out the async part
into a separate WebPageProxy::decidePolicyForResponse member function.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149147 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStack guards are too conservative
oliver@apple.com [Thu, 25 Apr 2013 22:17:34 +0000 (22:17 +0000)]
Stack guards are too conservative
https://bugs.webkit.org/show_bug.cgi?id=115147

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Increase stack guard to closer to old size.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::StackPolicy::StackPolicy):

Source/WTF:

Use getrlimit on darwin to get the stack size for the main thread.

* wtf/StackBounds.cpp:
(WTF::StackBounds::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149146 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Selection overlay on non-composited iframes are incorrectly positioned.
commit-queue@webkit.org [Thu, 25 Apr 2013 21:39:35 +0000 (21:39 +0000)]
[BlackBerry] Selection overlay on non-composited iframes are incorrectly positioned.
https://bugs.webkit.org/show_bug.cgi?id=115197

Patch by Andrew Lo <anlo@rim.com> on 2013-04-25
Reviewed by Rob Buis.

When drawing the selection overlay, the rects to
paint when selecting text on non-composited sub-frames
need to be adjusted by the frame position.

* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::paintContents):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGlyphs may fail to render when using SVG font
graouts@apple.com [Thu, 25 Apr 2013 21:29:45 +0000 (21:29 +0000)]
Glyphs may fail to render when using SVG font
https://bugs.webkit.org/show_bug.cgi?id=115193

Reviewed by Simon Fraser.

Calling SimpleFontData::applyTransforms() when the font used is
an SVG font makes little sense since Core Text doesn’t know or
understand SVG fonts and would be passed some other, unrelated
platform font.

* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::applyTransforms):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149144 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix autocompletion for Benjamin. The Bugzilla email address must come first.
rniwa@webkit.org [Thu, 25 Apr 2013 21:21:07 +0000 (21:21 +0000)]
Fix autocompletion for Benjamin. The Bugzilla email address must come first.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149143 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMedia elements shouldn't resume playback when a page is restored from the back/forwar...
jer.noble@apple.com [Thu, 25 Apr 2013 21:02:20 +0000 (21:02 +0000)]
Media elements shouldn't resume playback when a page is restored from the back/forward cache if the WKView isn't in a window
https://bugs.webkit.org/show_bug.cgi?id=115191

Reviewed by Eric Carlson.

If a page is suspended, then resumed when its WebView or WKView has been removed from a window,
the page's media elements will unpause. Check whether media is allowed to start during resume()
via Page::canMediaStart() and if not, register for mediaCanStart notifications. Then, in
mediaCanStart() if the media is force-paused, unpause it.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::suspend):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::mediaCanStart):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::pageConsentRequiredForResume):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago Update a comment, mentioning a newly filed bug.
ap@apple.com [Thu, 25 Apr 2013 21:01:13 +0000 (21:01 +0000)]
    Update a comment, mentioning a newly filed bug.

        * platform/wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149141 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
akling@apple.com [Thu, 25 Apr 2013 20:37:50 +0000 (20:37 +0000)]
Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.

Rubber-stamped by Anders Koivisto.

Source/WebCore:

* PlatformWinCE.cmake:
* accessibility/AccessibilityObject.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):

Source/WebKit:

* PlatformWinCE.cmake:

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WTF:

* wtf/FeatureDefines.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove OS(WINCE) from AccessibilityObject.h
paroga@webkit.org [Thu, 25 Apr 2013 20:26:56 +0000 (20:26 +0000)]
Remove OS(WINCE) from AccessibilityObject.h
https://bugs.webkit.org/show_bug.cgi?id=115192

Reviewed by Andreas Kling.

Use the same files like the the other PLATFORM(WIN) ports use.

Source/WebCore:

* PlatformWinCE.cmake:
* accessibility/AccessibilityObject.h:
(AccessibilityObject):

Source/WebKit:

* PlatformWinCE.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149139 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd definition of GlyphBufferGlyph for BlackBerry
commit-queue@webkit.org [Thu, 25 Apr 2013 20:11:06 +0000 (20:11 +0000)]
Add definition of GlyphBufferGlyph for BlackBerry
https://bugs.webkit.org/show_bug.cgi?id=115183

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-25
Reviewed by Xan Lopez.

BlackBerry uses an unsigned int.

* platform/graphics/GlyphBuffer.h:
(WebCore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Make scroll position adjustment work with pages with fixed position...
commit-queue@webkit.org [Thu, 25 Apr 2013 20:02:55 +0000 (20:02 +0000)]
[BlackBerry] Make scroll position adjustment work with pages with fixed position elements.
https://bugs.webkit.org/show_bug.cgi?id=115178

Patch by Iris Wu <shuwu@blackberry.com> on 2013-04-25
Reviewed by Rob Buis.

PR 308796

Currently the position WebPage::adjustDocumentScrollPosition adjusts is the top
left point of the viewport.
On the page with fixed position elements, we want it to adjust the position beneath
the fixed elements so it can be always visible.

The basic idea is:
1.  Detect if there are fixed position elements before going through ProximityDetector.
2.  If the fixed element exists, calculate its the size and the actual visible position
    beneath it.
3.  Pass the position to ProximityDetector. Then according to the new position we get,
    calculate the top left position of the viewport (final scroll position).

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::fixedElementSizeDelta):
(WebKit):
* Api/WebPage.h:
* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositorPrivate::findFixedElementRect):
(WebKit):
* Api/WebPageCompositor_p.h:
(WebPageCompositorPrivate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStack guards are too conservative
oliver@apple.com [Thu, 25 Apr 2013 20:00:36 +0000 (20:00 +0000)]
Stack guards are too conservative
https://bugs.webkit.org/show_bug.cgi?id=115147

Reviewed by Geoffrey Garen.

Reduce the limits and simplify the decision making.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::StackPolicy::StackPolicy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149136 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Enable balanced page group load deferrer behaviour.
commit-queue@webkit.org [Thu, 25 Apr 2013 19:56:58 +0000 (19:56 +0000)]
[BlackBerry] Enable balanced page group load deferrer behaviour.
https://bugs.webkit.org/show_bug.cgi?id=115189

Patch by Mike Lattanzio <mlattanzio@blackberry.com> on 2013-04-25
Reviewed by Rob Buis.

Prevent a possible deadlock by enabling balanced deferrers.
Internally reviewed by: Joe Mason
PR 329986

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::init):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoJSC: Fix interpreter misbehavior in builds with JIT disabled
commit-queue@webkit.org [Thu, 25 Apr 2013 19:54:53 +0000 (19:54 +0000)]
JSC: Fix interpreter misbehavior in builds with JIT disabled
https://bugs.webkit.org/show_bug.cgi?id=115190

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-04-25
Reviewed by Oliver Hunt.

Commit http://trac.webkit.org/changeset/147858 modified
some details on how JS stack traces are built. The method
"getLineNumberForCallFrame", renamed in that changeset to
"getBytecodeOffsetForCallFrame" is always returning `0' when
JIT is disabled

How to reproduce:
 - Build webkit with JIT disabled
 - Open MiniBrowser, for example, with http://google.com
 - In a debug build, WebProcess will hit the following ASSERT:
   Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp:279 ASSERT(low);

* interpreter/Interpreter.cpp:
(JSC::getBytecodeOffsetForCallFrame):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149134 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBuild fix. Forgot to merge args.
rniwa@webkit.org [Thu, 25 Apr 2013 19:50:03 +0000 (19:50 +0000)]
Build fix. Forgot to merge args.

* Scripts/webkitpy/tool/bot/irc_command.py:
(Hi.execute):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149133 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agowebkitbot should recognize its own nickname in greetings.
rniwa@webkit.org [Thu, 25 Apr 2013 19:44:20 +0000 (19:44 +0000)]
webkitbot should recognize its own nickname in greetings.
https://bugs.webkit.org/show_bug.cgi?id=115196

Reviewed by Andreas Kling.

Make webkitbot recognize other forms of its nick. Also be tolerant of spaces between the nick and !.

* Scripts/webkitpy/tool/bot/irc_command.py:
(Hi.execute):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149132 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoScriptExecutionContext log exception should include a column number
joepeck@webkit.org [Thu, 25 Apr 2013 19:31:50 +0000 (19:31 +0000)]
ScriptExecutionContext log exception should include a column number
https://bugs.webkit.org/show_bug.cgi?id=114315

Reviewed by Oliver Hunt.

Source/WebCore:

Test: inspector/console/console-exception-stack-traces.html

* bindings/js/ScriptCallStackFactory.h:
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStackFromException):
Generate a ScriptCallStack from an exception. Use the vm.exceptionStack
if available, and fallback to the exception object where needed.

* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
Always include a non-empty call stack with exceptions.
Where not provided, fallback to the exception object.

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
* dom/ScriptExecutionContext.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::PendingException::PendingException):
(ScriptExecutionContext::PendingException):
(WebCore::ScriptExecutionContext::reportException):
* workers/DefaultSharedWorkerRepository.cpp:
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::logExceptionToConsole):
* workers/SharedWorkerContext.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::logExceptionToConsole):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::performTask):
Plumb columnNumber through as needed.

LayoutTests:

* inspector/console/console-exception-stack-traces-expected.txt: Added.
* inspector/console/console-exception-stack-traces.html: Added.
Verifies that exceptions have stack traces and match a console.trace stack.

* http/tests/inspector-enabled/console-exception-while-no-inspector-expected.txt: Removed.
* http/tests/inspector-enabled/console-exception-while-no-inspector.html: Removed.
We now save exception backtraces even if the inspector is not open.

* fast/dom/javascript-url-exception-isolation-expected.txt
* fast/events/remove-target-with-shadow-in-drag-expected.txt
* fast/events/set-attribute-listener-window-onerror-crash-expected.txt
* inspector-protocol/media-query-listener-exception-expected.txt:
* inspector/console/console-uncaught-exception-expected.txt:
* inspector/console/console-uncaught-exception-in-eval-expected.txt:
Update results that now include backtraces or different data. Most better, some worse.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake checkSyntax take a VM instead of an ExecState
oliver@apple.com [Thu, 25 Apr 2013 18:59:50 +0000 (18:59 +0000)]
Make checkSyntax take a VM instead of an ExecState

RS=Tim

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix build files so WebGLDebugXXX extensions can be used if enabled.
gman@chromium.org [Thu, 25 Apr 2013 18:50:46 +0000 (18:50 +0000)]
Fix build files so WebGLDebugXXX extensions can be used if enabled.
https://bugs.webkit.org/show_bug.cgi?id=113976

Reviewed by Dean Jackson.

No new tests as no new functionality.

* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149129 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago32 Bit: Crash due to RegExpTest nodes not setting result type to Boolean
msaboff@apple.com [Thu, 25 Apr 2013 18:35:04 +0000 (18:35 +0000)]
32 Bit: Crash due to RegExpTest nodes not setting result type to Boolean
https://bugs.webkit.org/show_bug.cgi?id=115188

Reviewed by Geoffrey Garen.

Changed the RegExpTest node to set the AbstractValue to boolean, since that
what it is.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::executeEffects):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149128 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agocloneChildNodes looks for deleteButtonController in each level of recursion
rniwa@webkit.org [Thu, 25 Apr 2013 18:33:22 +0000 (18:33 +0000)]
cloneChildNodes looks for deleteButtonController in each level of recursion
https://bugs.webkit.org/show_bug.cgi?id=115146

Reviewed by Andreas Kling.

Obtain the delete button controller upfront, and shallow copy descendents of each child
so that we don't look for the delete button controller inside cloneNode called on each child.

Performance Tests: DOM/CloneNodes.html

* dom/ContainerNode.cpp:
(WebCore::cloneChildNodesAvoidingDeleteButon): Extracted.
(WebCore::ContainerNode::cloneChildNodes):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149127 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHTMLOptionsCollection's namedItem and name getter should return the first item
rniwa@webkit.org [Thu, 25 Apr 2013 18:32:06 +0000 (18:32 +0000)]
HTMLOptionsCollection's namedItem and name getter should return the first item
https://bugs.webkit.org/show_bug.cgi?id=115150

Reviewed by Andreas Kling.

Source/WebCore:

Following the resolution in http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038355.html,
the spefication has been updated to only return the first item when there are multiple items of the same name
in HTMLOptionsCollection; this new behavior matches that of Firefox and Opera (Presto).

Implement this new behavior to remove the custom binding code and use the fast path in namedItem and name
getter of HTMLOptionsCollection. (Obtaining all items for a given name is expensive!).

Tests: fast/dom/HTMLSelectElement/named-options.html
       fast/dom/html-collections-named-getter.html

* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore): Removed the custom bindings for name getter and namedItem.
* html/HTMLOptionsCollection.idl:

LayoutTests:

Changed the expectations of the tests.

* fast/dom/HTMLSelectElement/named-options-expected.txt:
* fast/dom/HTMLSelectElement/script-tests/named-options.js:
* fast/dom/html-collections-named-getter-expected.txt:
* fast/dom/html-collections-named-getter.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: ConsoleMessage should include line and column number where possible
joepeck@webkit.org [Thu, 25 Apr 2013 18:31:05 +0000 (18:31 +0000)]
Web Inspector: ConsoleMessage should include line and column number where possible
https://bugs.webkit.org/show_bug.cgi?id=114929

Source/WebCore:

  - adds "m_column" to WebCore::ConsoleMessage
  - adds "column" to Console.ConsoleMessage in the inspector protocol
  - set the column number for console.* functions (Console.cpp)
  - set the column number for XSLT errors (XSLTProcessor)
  - plumb columnNumber everywhere else it is needed, set it to 0 and file
    bugs for all cases missing columnNumber that could provide it.

Reviewed by Timothy Hatcher.

Test: inspector/console/console-url-line-column.html
      inspector/console/console-messages-stack-traces.html

* inspector/ConsoleMessage.h:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::autogenerateMetadata):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::isEqual):
Add m_column and set it where appropriate.

* inspector/Inspector.json:
Add column property to Console.ConsoleMessage.

* page/Console.cpp:
(WebCore::internalAddMessage):
(WebCore::Console::profile):
Set columnNumber like lineNumber from the last stack frame.
(WebCore::Console::groupEnd):
Line and column are unused in this message type, set both to 0.

* xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):
* xml/XSLTProcessorQt.cpp:
(WebCore::XSLTMessageHandler::handleMessage):
Add real column numbers, the XSLT handlers already had it available.

* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* css/CSSParser.cpp:
(WebCore::CSSParser::logError):
* dom/ScriptExecutionContext.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::addConsoleMessage):
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):
* dom/Document.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addMessageToConsole):
(WebCore::InspectorConsoleAgent::stopTiming):
(WebCore::InspectorConsoleAgent::didFinishXHRLoading):
(WebCore::InspectorConsoleAgent::didReceiveResponse):
(WebCore::InspectorConsoleAgent::didFailLoading):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::addProfileImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
(WebCore::InspectorProfilerAgent::start):
(WebCore::InspectorProfilerAgent::stop):
* inspector/InspectorProfilerAgent.h:
(InspectorProfilerAgent):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::addMessageToConsole):
* page/ChromeClient.h:
(WebCore::ChromeClient::addMessageToConsole):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::logToConsole):
* page/PageConsole.cpp:
(WebCore::PageConsole::addMessage):
* page/PageConsole.h:
* workers/DefaultSharedWorkerRepository.cpp:
(SharedWorkerProxy):
(WebCore::postExceptionTask):
(WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
(WebCore::postConsoleMessageTask):
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::logExceptionToConsole):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::logExceptionToConsole):
(WebCore::WorkerContext::addConsoleMessage):
(WebCore::WorkerContext::addMessage):
(WebCore::WorkerContext::addMessageToWorkerConsole):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::create):
(WebCore::WorkerExceptionTask::WorkerExceptionTask):
(WebCore::WorkerExceptionTask::performTask):
(WorkerExceptionTask):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::postConsoleMessageTask):
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
* workers/WorkerMessagingProxy.h:
(WorkerMessagingProxy):
* workers/WorkerReportingProxy.h:
(WorkerReportingProxy):
Plumb columnNumber through where appropriate. File bugs where missing.

Source/WebKit/blackberry:

Reviewed by Timothy Hatcher.

* Api/DumpRenderTreeClient.h:
* Api/WebPageClient.h:
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::addMessageToConsole):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):

Source/WebKit/efl:

Reviewed by Timothy Hatcher.

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::addMessageToConsole):
* WebCoreSupport/ChromeClientEfl.h:
(ChromeClientEfl):

Source/WebKit/gtk:

Reviewed by Timothy Hatcher.

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::addMessageToConsole):
* WebCoreSupport/ChromeClientGtk.h:
(ChromeClient):

Source/WebKit/mac:

Reviewed by Timothy Hatcher.

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::addMessageToConsole):

Source/WebKit/qt:

Reviewed by Timothy Hatcher.

* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::addMessageToConsole):
* WebCoreSupport/ChromeClientQt.h:

Source/WebKit/win:

Reviewed by Timothy Hatcher.

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::addMessageToConsole):
* WebCoreSupport/WebChromeClient.h:

Source/WebKit/wince:

Reviewed by Timothy Hatcher.

* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::addMessageToConsole):
* WebCoreSupport/ChromeClientWinCE.h:

Source/WebKit2:

Reviewed by Timothy Hatcher.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::addMessageToConsole):
* WebProcess/WebCoreSupport/WebChromeClient.h:

LayoutTests:

Update a test that was outputting the url and line number of console
method calls, to output the column number as well. Added a test that
verifies that console API messages have stack traces if appropriate.

Reviewed by Timothy Hatcher.

* inspector/console/console-url-and-line-expected.txt: Removed.
* inspector/console/console-url-line-column-expected.txt: Added.
* inspector/console/console-url-line-column.html: Renamed from LayoutTests/inspector/console/console-url-and-line.html.
* inspector/console/console-messages-stack-traces-expected.txt: Added.
* inspector/console/console-messages-stack-traces.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149125 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] Get rid of return in void method
commit-queue@webkit.org [Thu, 25 Apr 2013 18:29:07 +0000 (18:29 +0000)]
[BlackBerry] Get rid of return in void method
https://bugs.webkit.org/show_bug.cgi?id=115186

Patch by Konrad Piascik <kpiascik@blackberry.com> on 2013-04-25
Reviewed by Rob Buis.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::setForcedTextEncoding):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149124 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Animated opacity does not trigger accelerated compositing
allan.jensen@digia.com [Thu, 25 Apr 2013 18:19:05 +0000 (18:19 +0000)]
[Qt] Animated opacity does not trigger accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=115107

Reviewed by Simon Fraser.

Source/WebCore:

Add extra option to also trigger compositing on animated opacity.

* page/ChromeClient.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):

Source/WebKit/qt:

We should trigger compositing on animated opacity as it is always faster on Qt.

* WebCoreSupport/ChromeClientQt.cpp:
VideoTrigger removed because we have already disabled AC for video in qwebsettings.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149123 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Adding myself to the reviwers list.
achicu@adobe.com [Thu, 25 Apr 2013 18:09:10 +0000 (18:09 +0000)]
Unreviewed. Adding myself to the reviwers list.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoThread safety issues in WKCustomProtocol.
beidson@apple.com [Thu, 25 Apr 2013 17:59:07 +0000 (17:59 +0000)]
Thread safety issues in WKCustomProtocol.
<rdar://problem/13247304> and https://bugs.webkit.org/show_bug.cgi?id=115185

Reviewed by Alexey Proskuryakov.

* Shared/Network/CustomProtocols/CustomProtocolManager.h:

* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::addCustomProtocol): Protect m_customProtocolMap with its mutex.
(WebKit::CustomProtocolManager::removeCustomProtocol): Ditto.
(WebKit::CustomProtocolManager::didFailWithError):
(WebKit::CustomProtocolManager::didLoadData):
(WebKit::CustomProtocolManager::didReceiveResponse):
(WebKit::CustomProtocolManager::didFinishLoading):
(WebKit::CustomProtocolManager::protocolForID): Protect m_customProtocolMap with its mutex, and return
  a RetainPtr instead of a raw pointer.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSec-WebSocket-Extensions header field must not appear more than once in an HTTP response.
commit-queue@webkit.org [Thu, 25 Apr 2013 17:48:58 +0000 (17:48 +0000)]
Sec-WebSocket-Extensions header field must not appear more than once in an HTTP response.
https://bugs.webkit.org/show_bug.cgi?id=115128

Patch by Lamarque V. Souza <Lamarque.Souza@basyskom.com> on 2013-04-25
Reviewed by Alexey Proskuryakov.

Source/WebCore:

According to WebSocket specification Sec-WebSocket-Extensions header field
must not appear more than once in an HTTP response. It is ok if it appears
more than once in client request. Also add a check for invalid UTF-8
characters when parsing Sec-WebSocket-Extensions quoted string.

Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header.html

* Modules/websockets/WebSocketExtensionParser.cpp:
(WebCore::WebSocketExtensionParser::consumeQuotedString): Return false if there is
invalid character in the quoted string being parsed.
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readHTTPHeaders): Check if Sec-WebSocket-Extensions
appears more than once in header response. Abort handshake if it does.

LayoutTests:

* http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header-expected.txt: Added.
* http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header.html: Added.
* http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header_wsh.py: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFurther build fixes: correct two more misnames of WebProcessShim.dyld.
jer.noble@apple.com [Thu, 25 Apr 2013 17:31:05 +0000 (17:31 +0000)]
Further build fixes: correct two more misnames of WebProcessShim.dyld.

* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
(WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake gobject-introspection warnings non-fatal
mrobinson@webkit.org [Thu, 25 Apr 2013 17:12:30 +0000 (17:12 +0000)]
Make gobject-introspection warnings non-fatal
https://bugs.webkit.org/show_bug.cgi?id=115184

Reviewed by Carlos Garcia Campos.

* GNUmakefile.am: Make it so that gobject-introspection errors do not fail the buld
until we get to a point where gobject-introspection gives consistent warnings.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Add WebKitWebViewGroup to WebKit2 GTK+ API
carlosgc@webkit.org [Thu, 25 Apr 2013 16:46:55 +0000 (16:46 +0000)]
[GTK] Add WebKitWebViewGroup to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=111265

Reviewed by Anders Carlsson.

In the current API the settings are always shared by all web
views, because they are always created on the default page
group. This makes impossible to have different settings on
different web views. Expose the page group in the API,
so that users can create web views on a group different than the
default one to have their own settings.

* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/gtk/WebKitSettings.cpp:
(webkitSettingsGetPreferences): Helper private method to get the
WebPreferences wrapped by a WebKitSettings object.
* UIProcess/API/gtk/WebKitSettingsPrivate.h:
* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate): Add a default WebKitWebViewGroup.
(webkitWebContextCreatePageForWebView): Create the WebPageProxy
with the WebPageGroup of the given WebKitWebViewGroup.
(webkitWebContextGetDefaultWebViewGroup): Helper private method to
get the default WebKitWebViewGroup.
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate): Add a WebKitWebViewGroup in case the view
is created with a group.
(webkitWebViewUpdateSettings): Keep a reference of the group
settings to be able to disconnect the signals when the settings
object is replaced in the view group and connect to the signals
for the custom settings.
(webkitWebViewSettingsChanged): Disconnect the signals for the
previous settings and set the new settings.
(webkitWebViewDisconnectSettingsChangedSignalHandler): Disconnect
notify::settings signal of WebKitWebViewGroup.
(webkitWebViewConstructed): Pass the current WebKitWebViewGroup to
webkitWebContextCreatePageForWebView().
(webkitWebViewSetProperty): Add setter for group property.
(webkitWebViewGetProperty): Add getter for group property.
(webkitWebViewDispose): Call
webkitWebViewDisconnectSettingsChangedSignalHandler().
(webkit_web_view_class_init): Add WebKitWebView:group property.
(webkitWebViewHandleAuthenticationChallenge): Use
webkit_web_view_get_settings().
(webkit_web_view_new_with_group): Create a new web view with the
given WebKitWebViewGroup.
(webkit_web_view_get_group): Return the current WebKitWebViewGroup
or the default one if the view was not created with
webkit_web_view_new_with_group().
(webkit_web_view_set_settings): Set the settings of the current
WebKitWebViewGroup.
(webkit_web_view_get_settings): Get the settings of the current
WebKitWebViewGroup.
(webkit_web_view_set_zoom_level): Use
webkit_web_view_get_settings().
(webkit_web_view_get_zoom_level): Ditto.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewGroup.cpp: Added.
(_WebKitWebViewGroupPrivate):
(webkitWebViewGroupSetProperty):
(webkitWebViewGroupGetProperty):
(webkitWebViewGroupConstructed):
(webkit_web_view_group_class_init):
(webkitWebViewGroupAttachSettingsToPageGroup): Set the
WebPreferences of the current WebKitSettings to the WebPageGroup.
(webkitWebViewGroupCreate): Create a new WebKitWebViewGroup for
the given WebPageGroup.
(webkitWebViewGroupGetPageGroup): Helper private method to get the
WebPageGroup wrapped by the WebKitWebViewGroup.
(webkit_web_view_group_new): Create a new WebKitWebViewGroup.
(webkit_web_view_group_get_name): Return the name of a
WebKitWebViewGroup.
(webkit_web_view_group_get_settings): Get the settings of a
WebKitWebViewGroup.
(webkit_web_view_group_set_settings): Set new settings of a
WebKitWebViewGroup.
* UIProcess/API/gtk/WebKitWebViewGroup.h: Added.
(_WebKitWebViewGroup):
(_WebKitWebViewGroupClass):
* UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Added.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
WebKitWebViewGroup section.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
* UIProcess/API/gtk/docs/webkit2gtk.types: Add
webkit_web_view_group_get_type.
* UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to
compilation.
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewSettings): We can't watch settings in the default view
group anymore, because they are not released with the web view but
with the web context that is freed after the Test destructor.
* UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added.
(testWebViewGroupDefault):
(testWebViewGroupNewGroup):
(testWebViewNewWithGroup):
(testWebViewGroupSettings):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/webkit2.h: Include WebKitWebViewGroup.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Windows] Compile fix.
commit-queue@webkit.org [Thu, 25 Apr 2013 16:39:56 +0000 (16:39 +0000)]
[Windows] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=115170

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-04-25
Reviewed by Filip Pizlo.

Forward declare function, instead of including intrin.h.

* wtf/Atomics.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION(r148758): Remove WTFLogAlways call from IconLoader.
rakuco@webkit.org [Thu, 25 Apr 2013 16:32:51 +0000 (16:32 +0000)]
REGRESSION(r148758): Remove WTFLogAlways call from IconLoader.
https://bugs.webkit.org/show_bug.cgi?id=115182

Reviewed by Dan Bernstein.

The call added in r148758 was apparently a leftover from some debugging
session, and it makes the Interactive/window-resize.html performance
test randomly fail on Qt and EFL due to WTFLogAlways writing to stderr.

* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::notifyFinished):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION(r137994): Random crashes occur with SH4 JSC.
commit-queue@webkit.org [Thu, 25 Apr 2013 16:18:43 +0000 (16:18 +0000)]
REGRESSION(r137994): Random crashes occur with SH4 JSC.
https://bugs.webkit.org/show_bug.cgi?id=115167.

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-04-25
Reviewed by Oliver Hunt.

Since r137994, uncommited pages could be inside the area of memory in
parameter of the cacheFlush function. That's why we have to flush each
page separately to avoid a fail of the whole flush, if an uncommited page
is in the area.

This patch is very similar to changeset 145194 made for ARMv7 architecture,
see https://bugs.webkit.org/show_bug.cgi?id=111441 for further information.

* assembler/SH4Assembler.h:
(JSC::SH4Assembler::cacheFlush):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd support for Web IDL callback interfaces to the bindings generator
ch.dumez@sisa.samsung.com [Thu, 25 Apr 2013 15:55:12 +0000 (15:55 +0000)]
Add support for Web IDL callback interfaces to the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=115179

Reviewed by Kentaro Hara.

Add support in the bindings generator for Web IDL callback interfaces:
http://dev.w3.org/2006/webapi/WebIDL/#dfn-callback-interface

Drop support for the WebKit-specific [Callback] extended attributes
on Web IDL interfaces and update existing IDL files to use proper
callback interfaces instead.

No new tests, no behavior change.

* Modules/filesystem/EntriesCallback.idl:
* Modules/filesystem/EntryCallback.idl:
* Modules/filesystem/ErrorCallback.idl:
* Modules/filesystem/FileCallback.idl:
* Modules/filesystem/FileSystemCallback.idl:
* Modules/filesystem/FileWriterCallback.idl:
* Modules/filesystem/MetadataCallback.idl:
* Modules/geolocation/PositionCallback.idl:
* Modules/geolocation/PositionErrorCallback.idl:
* Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
* Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
* Modules/mediastream/RTCErrorCallback.idl:
* Modules/mediastream/RTCSessionDescriptionCallback.idl:
* Modules/mediastream/RTCStatsCallback.idl:
* Modules/notifications/NotificationPermissionCallback.idl:
* Modules/quota/StorageErrorCallback.idl:
* Modules/quota/StorageQuotaCallback.idl:
* Modules/quota/StorageUsageCallback.idl:
* Modules/webaudio/AudioBufferCallback.idl:
* Modules/webdatabase/DatabaseCallback.idl:
* Modules/webdatabase/SQLStatementCallback.idl:
* Modules/webdatabase/SQLStatementErrorCallback.idl:
* Modules/webdatabase/SQLTransactionCallback.idl:
* Modules/webdatabase/SQLTransactionErrorCallback.idl:
* Modules/webdatabase/SQLTransactionSyncCallback.idl:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateInterface):
* bindings/scripts/IDLParser.pm:
(parseCallbackRestOrInterface):
* bindings/scripts/test/TestCallback.idl:
* dom/RequestAnimationFrameCallback.idl:
* dom/StringCallback.idl:
* html/VoidCallback.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUse std::move in AtomicString
mikhail.pozdnyakov@intel.com [Thu, 25 Apr 2013 15:17:57 +0000 (15:17 +0000)]
Use std::move in AtomicString
https://bugs.webkit.org/show_bug.cgi?id=115102

Reviewed by Anders Carlsson.

Use std::move in AtomicString instead of direct casting to rvalue references.

* wtf/text/AtomicString.h:
(AtomicString):
(WTF::AtomicString::AtomicString):
(WTF::AtomicString::operator=):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GStreamer] Add audio/speex MIME type as supported
commit-queue@webkit.org [Thu, 25 Apr 2013 14:52:27 +0000 (14:52 +0000)]
[GStreamer] Add audio/speex MIME type as supported
https://bugs.webkit.org/show_bug.cgi?id=115032

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2013-04-25
Reviewed by Philippe Normand.

Source/WebCore:

GStreamer has support for the Speex codec (http://www.speex.org).
Speex streams may be embedded in a Ogg container, or standalone.
The case of the Ogg container is already covered by the "*/ogg"
MIME types declared as supported by the GStreamer media playing
code, but for standalone streams to work, "audio/speex" has to
be added.

With this, and the needed GStreamer plugin installed, the GTK+
launcher is able to correctly play Speex streams served with
"Content-type: audio/speex".

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

LayoutTests:

Speex (http://www.speex.org) streams can be embedded into Ogg
Ogg containers, so add a check for it in the test case.

* media/media-can-play-ogg-expected.txt:
* media/media-can-play-ogg.html:
* platform/blackberry/media/media-can-play-ogg-expected.txt:
* platform/mac/media/media-can-play-ogg-expected.txt:
* platform/qt-linux/media/media-can-play-ogg-expected.txt:
* platform/win/media/media-can-play-ogg-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd FINAL decorators to the InlineBox class hierarchy.
akling@apple.com [Thu, 25 Apr 2013 14:33:54 +0000 (14:33 +0000)]
Add FINAL decorators to the InlineBox class hierarchy.
<http://webkit.org/b/115177>

Reviewed by Antti Koivisto.

From Blink r148628 by <cevans@chromium.org>:

FINAL is a macro in wtf/Compiler.h that does the correct thing if the compiler does not support "final")
The approach used is as simple as possible whilst being thorough.
So, leaf classes have FINAL applied to the whole class whereas intermediary classes have FINAL applied to relevant methods.

FINAL allows a compiler to devirtualize call sites and turn them into direct calls. As you might expect, this is perf positive:
(clang on Linux):
- line_layout.html goes from 120 runs/s -> 123 runs/2, +2.5%
- html5-full-render.html goes from 3176ms -> 3162ms, +0.4%

I have confidence that the former result is statistically significant (as the numbers are very very stable) but not the latter.

* rendering/EllipsisBox.h:
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.h:
* rendering/RootInlineBox.h:
* rendering/TrailingFloatsRootInlineBox.h:
* rendering/svg/SVGInlineFlowBox.h:
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGRootInlineBox.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Tools/gtk/install-dependencies added ragel dependency
commit-queue@webkit.org [Thu, 25 Apr 2013 14:19:40 +0000 (14:19 +0000)]
[GTK] Tools/gtk/install-dependencies added ragel dependency
https://bugs.webkit.org/show_bug.cgi?id=115163

Patch by Xavier Castano <xcastanho@igalia.com> on 2013-04-25
Reviewed by Xan Lopez.

The install-dependencies script was missing a dependency on ragel
which is expected when building HarfBuzz.

* gtk/install-dependencies: Added a dependency on ragel for both
apt and yum.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[GTK] Remove pango from optional jhbuild dependencies
commit-queue@webkit.org [Thu, 25 Apr 2013 14:05:51 +0000 (14:05 +0000)]
[GTK] Remove pango from optional jhbuild dependencies
https://bugs.webkit.org/show_bug.cgi?id=115162

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2013-04-25
Reviewed by Martin Robinson.

Pango is not needed since revision r148293 that lowers the pango
dependency to 1.30, which is available in most distributions.

* gtk/jhbuild-optional.modules: Removes description of pango module.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix: Fix the name of DyldInterpose.h in
jer.noble@apple.com [Thu, 25 Apr 2013 13:46:17 +0000 (13:46 +0000)]
Unreviewed build fix: Fix the name of DyldInterpose.h in
SecItemShimLibrary.mm, fix the name of WebProcessShim.dyld in
WebContentServiceEntryPoint.mm, and stop linking against libWTF.a
directly (which means removing ASSERTs from
CookieStorageShimLibrary.cpp).

* Shared/mac/CookieStorageShimLibrary.cpp:
(WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL):
(WebKit::WebKitCookieStorageShimInitialize):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
* WebProcess/mac/SecItemShimLibrary.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCSS parser: Add error recovery while parsing @-webkit-keyframes key values.
akling@apple.com [Thu, 25 Apr 2013 13:43:33 +0000 (13:43 +0000)]
CSS parser: Add error recovery while parsing @-webkit-keyframes key values.
<http://webkit.org/b/115175>

Source/WebCore:

From Blink r148714 by <apavlov@chromium.org>:

If not a percentage, "from", or "to" value is used in a key list, the rule is erroneous,
and due to the absense of recovery, the parser skips the following, valid CSS rule.

On a related note, keyframes, whose selectors contain invalid keys, should be discarded
altogether, according to <http://www.w3.org/TR/css3-animations/#keyframes>

Tests: animations/keyframes-invalid-keys.html
       fast/css/webkit-keyframes-errors.html

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::rewriteSpecifiers):

LayoutTests:

From Blink r148714 by <apavlov@chromium.org>.

* animations/keyframes-invalid-keys-expected.txt: Added.
* animations/keyframes-invalid-keys.html: Added.
* fast/css/webkit-keyframes-errors-expected.html: Added.
* fast/css/webkit-keyframes-errors.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoREGRESSION (r147797): Animations slideshows of images on www.thesuperficial.com are...
antti@apple.com [Thu, 25 Apr 2013 13:23:47 +0000 (13:23 +0000)]
REGRESSION (r147797): Animations slideshows of images on thesuperficial.com are slow
https://bugs.webkit.org/show_bug.cgi?id=115172

Reviewed by Andreas Kling.

On this page ads dynamically loaded to subframes on slideshow navigation switch us to state where we throttle layer flushes.

Fix by ignoring any subframe-originated loads when determining throttling.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadProgressingStatusChanged):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::isMainLoadProgressing):

    Rename, ignore subframe originated loads. Subframe loads that are initiated during the main load still count.

* loader/ProgressTracker.h:
(ProgressTracker):
* page/FrameView.cpp:
(WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
* page/FrameView.h:
(FrameView):
* rendering/RenderLayerBacking.cpp:
(WebCore::computeTileCoverage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening. Skip some failing tests after r148996.
kadam@inf.u-szeged.hu [Thu, 25 Apr 2013 13:10:15 +0000 (13:10 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests after r148996.

* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove Chromium-specific cases from FeatureList.pm
commit-queue@webkit.org [Thu, 25 Apr 2013 13:04:05 +0000 (13:04 +0000)]
Remove Chromium-specific cases from FeatureList.pm
https://bugs.webkit.org/show_bug.cgi?id=115169

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-25
Reviewed by Andreas Kling.

* Scripts/webkitperl/FeatureList.pm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSVG: Fix viewBox animations on shapes with non-scaling-stroke.
akling@apple.com [Thu, 25 Apr 2013 12:56:20 +0000 (12:56 +0000)]
SVG: Fix viewBox animations on shapes with non-scaling-stroke.
<http://webkit.org/b/115173>

Source/WebCore:

From Blink r149058 by <pdr@chromium.org>:

Previously hasAttribute() to determine if a viewBox was set in the transform
code for non-scaling-strokes. hasAttribute() should not be used in this case,
as it will return false if the attribute is not set but the value is animating.

This patch switches to checking if the viewBox is empty instead of checking for
the presence of the attribute.

Test: svg/stroke/animated-non-scaling-stroke.html

* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::hasEmptyViewBox):

LayoutTests:

From Blink r149058 by <pdr@chromium.org>.

* svg/stroke/animated-non-scaling-stroke-expected.html: Added.
* svg/stroke/animated-non-scaling-stroke.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove isPluginElement hack in Document::setFocusedNode()
akling@apple.com [Thu, 25 Apr 2013 12:32:49 +0000 (12:32 +0000)]
Remove isPluginElement hack in Document::setFocusedNode()
<http://webkit.org/b/115171>

From Blink r148800 by <tkent@chromium.org>:

This hack is no longer necessary because r147591 made isFocusable for plugin
elements work correctly.

* dom/Document.cpp:
(WebCore::Document::setFocusedNode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening. Unskip now passing tests.
kadam@inf.u-szeged.hu [Thu, 25 Apr 2013 12:13:33 +0000 (12:13 +0000)]
[Qt] Unreviewed gardening. Unskip now passing tests.

* platform/qt-5.0-wk1/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening. Organize expected files after r149095.
kadam@inf.u-szeged.hu [Thu, 25 Apr 2013 10:49:09 +0000 (10:49 +0000)]
[Qt] Unreviewed gardening. Organize expected files after r149095.

* platform/qt-5.0-wk1/editing/deleting/delete-by-word-002-expected.txt: Copied from LayoutTests/platform/qt/editing/deleting/delete-by-word-002-expected.txt.
* platform/qt-5.0-wk1/editing/deleting/delete-cell-contents-expected.txt: Copied from LayoutTests/platform/qt/editing/deleting/delete-cell-contents-expected.txt.
* platform/qt-5.0-wk1/editing/execCommand/button-expected.txt: Copied from LayoutTests/platform/qt/editing/execCommand/button-expected.txt.
* platform/qt-5.0-wk1/editing/execCommand/createLink-expected.txt: Copied from LayoutTests/platform/qt/editing/execCommand/createLink-expected.txt.
* platform/qt-5.0-wk1/editing/execCommand/indent-pre-expected.txt: Copied from LayoutTests/platform/qt/editing/execCommand/indent-pre-expected.txt.
* platform/qt-5.0-wk1/editing/execCommand/unlink-expected.txt: Copied from LayoutTests/platform/qt/editing/execCommand/unlink-expected.txt.
* platform/qt-5.0-wk1/editing/input/emacs-ctrl-o-expected.txt: Copied from LayoutTests/platform/qt/editing/input/emacs-ctrl-o-expected.txt.
* platform/qt-5.0-wk1/editing/inserting/insert-before-link-1-expected.txt: Copied from LayoutTests/platform/qt/editing/inserting/insert-before-link-1-expected.txt.
* platform/qt-5.0-wk1/editing/pasteboard/display-block-on-spans-expected.txt: Copied from LayoutTests/platform/qt/editing/pasteboard/display-block-on-spans-expected.txt.
* platform/qt-5.0-wk1/editing/pasteboard/emacs-cntl-y-001-expected.txt: Copied from LayoutTests/platform/qt/editing/pasteboard/emacs-cntl-y-001-expected.txt.
* platform/qt-5.0-wk1/editing/pasteboard/merge-end-list-2-expected.txt: Copied from LayoutTests/platform/qt/editing/pasteboard/merge-end-list-2-expected.txt.
* platform/qt-5.0-wk1/editing/pasteboard/merge-end-table-2-expected.txt: Copied from LayoutTests/platform/qt/editing/pasteboard/merge-end-table-2-expected.txt.
* platform/qt-5.0-wk1/editing/pasteboard/page-zoom-expected.txt: Copied from LayoutTests/platform/qt/editing/pasteboard/page-zoom-expected.txt.
* platform/qt-5.0-wk1/editing/selection/extend-selection-word-expected.txt: Copied from LayoutTests/platform/qt/editing/selection/extend-selection-word-expected.txt.
* platform/qt-5.0-wk1/editing/style/apply-through-end-of-document-expected.txt: Copied from LayoutTests/platform/qt/editing/style/apply-through-end-of-document-expected.txt.
* platform/qt-5.0-wk1/editing/style/remove-underline-across-paragraph-expected.txt: Copied from LayoutTests/platform/qt/editing/style/remove-underline-across-paragraph-expected.txt.
* platform/qt-5.0-wk1/editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Copied from LayoutTests/platform/qt/editing/style/remove-underline-across-paragraph-in-bold-expected.txt.
* platform/qt-5.0-wk1/editing/style/remove-underline-expected.txt: Copied from LayoutTests/platform/qt/editing/style/remove-underline-expected.txt.
* platform/qt-5.0-wk1/editing/style/remove-underline-from-stylesheet-expected.txt: Copied from LayoutTests/platform/qt/editing/style/remove-underline-from-stylesheet-expected.txt.
* platform/qt-5.0-wk1/editing/style/remove-underline-in-bold-expected.txt: Copied from LayoutTests/platform/qt/editing/style/remove-underline-in-bold-expected.txt.
* platform/qt-5.0-wk1/editing/style/unbold-in-bold-expected.txt: Copied from LayoutTests/platform/qt/editing/style/unbold-in-bold-expected.txt.
* platform/qt-5.0-wk1/editing/undo/replace-text-in-node-preserving-markers-crash-expected.txt: Copied from LayoutTests/platform/qt/editing/undo/replace-text-in-node-preserving-markers-crash-expected.txt.
* platform/qt/editing/deleting/delete-by-word-002-expected.txt:
* platform/qt/editing/deleting/delete-cell-contents-expected.txt:
* platform/qt/editing/execCommand/button-expected.txt:
* platform/qt/editing/execCommand/createLink-expected.txt:
* platform/qt/editing/execCommand/indent-pre-expected.txt:
* platform/qt/editing/execCommand/unlink-expected.txt:
* platform/qt/editing/input/emacs-ctrl-o-expected.txt:
* platform/qt/editing/inserting/insert-before-link-1-expected.txt:
* platform/qt/editing/pasteboard/display-block-on-spans-expected.txt:
* platform/qt/editing/pasteboard/emacs-cntl-y-001-expected.txt:
* platform/qt/editing/pasteboard/merge-end-list-2-expected.txt:
* platform/qt/editing/pasteboard/merge-end-table-2-expected.txt:
* platform/qt/editing/pasteboard/page-zoom-expected.txt:
* platform/qt/editing/selection/extend-selection-word-expected.txt:
* platform/qt/editing/style/apply-through-end-of-document-expected.txt:
* platform/qt/editing/style/remove-underline-across-paragraph-expected.txt:
* platform/qt/editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
* platform/qt/editing/style/remove-underline-expected.txt:
* platform/qt/editing/style/remove-underline-from-stylesheet-expected.txt:
* platform/qt/editing/style/remove-underline-in-bold-expected.txt:
* platform/qt/editing/style/unbold-in-bold-expected.txt:
* platform/qt/editing/undo/replace-text-in-node-preserving-markers-crash-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoEventSource: Synchronous loader callback not handled properly
commit-queue@webkit.org [Thu, 25 Apr 2013 09:51:36 +0000 (09:51 +0000)]
EventSource: Synchronous loader callback not handled properly
https://bugs.webkit.org/show_bug.cgi?id=115104

Source/WebCore:

When attempting a cross-origin request towards a non-HTTP URL, an early verification
of the protocol scheme will cause didFailAccessControlCheck to be called synchronously
before the loader has even finished being created. This special case was not handled
properly, since we tried to cancel a non-existing loader, which resulted in a crash.
In addition to checking whether a request is in flight before trying to cancel it,
this change also schedules the initial creation of the loader to happen asynchronously
when an EventSource is constructed, so that a script can register for the error event
before it is dispatched (as a result of passing a non-HTTP URL to the constructor).

Patch by Per-Erik Brodin <per-erik.brodin@ericsson.com> on 2013-04-25
Reviewed by Alexey Proskuryakov.

Test: http/tests/eventsource/eventsource-cors-non-http.html

* page/EventSource.cpp:
(WebCore::EventSource::EventSource):
(WebCore::EventSource::create):
(WebCore::EventSource::scheduleInitialConnect):
(WebCore):
(WebCore::EventSource::scheduleReconnect):
(WebCore::EventSource::connectTimerFired):
(WebCore::EventSource::close):
(WebCore::EventSource::abortConnectionAttempt):
* page/EventSource.h:
(EventSource):

LayoutTests:

Patch by Per-Erik Brodin <per-erik.brodin@ericsson.com> on 2013-04-25
Reviewed by Alexey Proskuryakov.

* http/tests/eventsource/eventsource-cors-non-http-expected.txt: Added.
* http/tests/eventsource/eventsource-cors-non-http.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed WinCE build fix after r148888.
paroga@webkit.org [Thu, 25 Apr 2013 09:43:31 +0000 (09:43 +0000)]
Unreviewed WinCE build fix after r148888.

* wtf/Atomics.h: WinCE version of intrin.h is called cmnintrin.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed WinCE build fix after r148545.
paroga@webkit.org [Thu, 25 Apr 2013 09:42:50 +0000 (09:42 +0000)]
Unreviewed WinCE build fix after r148545.

* page/wince/FrameWinCE.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt] Unreviewed gardening. Added platform specific expected files after r148987.
kadam@inf.u-szeged.hu [Thu, 25 Apr 2013 08:01:53 +0000 (08:01 +0000)]
[Qt] Unreviewed gardening. Added platform specific expected files after r148987.

* platform/qt/editing/deleting/delete-by-word-002-expected.txt: Added.
* platform/qt/editing/deleting/delete-cell-contents-expected.txt: Added.
* platform/qt/editing/execCommand/button-expected.txt: Added.
* platform/qt/editing/execCommand/createLink-expected.txt: Added.
* platform/qt/editing/execCommand/indent-pre-expected.txt: Added.
* platform/qt/editing/execCommand/unlink-expected.txt: Added.
* platform/qt/editing/input/emacs-ctrl-o-expected.png:
* platform/qt/editing/input/emacs-ctrl-o-expected.txt:
* platform/qt/editing/inserting/insert-before-link-1-expected.txt: Added.
* platform/qt/editing/pasteboard/display-block-on-spans-expected.txt: Added.
* platform/qt/editing/pasteboard/emacs-cntl-y-001-expected.png:
* platform/qt/editing/pasteboard/emacs-cntl-y-001-expected.txt:
* platform/qt/editing/pasteboard/merge-end-list-2-expected.txt: Added.
* platform/qt/editing/pasteboard/merge-end-table-2-expected.txt: Added.
* platform/qt/editing/pasteboard/page-zoom-expected.txt: Added.
* platform/qt/editing/selection/extend-selection-word-expected.txt: Added.
* platform/qt/editing/selection/selection-extend-should-not-move-across-caret-on-mac-expected.txt: Added.
* platform/qt/editing/style/apply-through-end-of-document-expected.txt: Added.
* platform/qt/editing/style/make-text-writing-direction-inline-win-expected.txt: Added.
* platform/qt/editing/style/remove-underline-across-paragraph-expected.txt: Added.
* platform/qt/editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Added.
* platform/qt/editing/style/remove-underline-expected.txt: Added.
* platform/qt/editing/style/remove-underline-from-stylesheet-expected.txt: Added.
* platform/qt/editing/style/remove-underline-in-bold-expected.txt: Added.
* platform/qt/editing/style/unbold-in-bold-expected.png:
* platform/qt/editing/style/unbold-in-bold-expected.txt:
* platform/qt/editing/undo/replace-text-in-node-preserving-markers-crash-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r149032.
rniwa@webkit.org [Thu, 25 Apr 2013 07:50:58 +0000 (07:50 +0000)]
Unreviewed, rolling out r149032.
http://trac.webkit.org/changeset/149032
https://bugs.webkit.org/show_bug.cgi?id=115151

EFL WK1 API test has been broken after r149032 (Requested by
gyuyoung on #webkit).

* tests/test_ewk_setting.cpp:
(TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoBack references don't work in pattern attribute
tkent@chromium.org [Thu, 25 Apr 2013 06:42:03 +0000 (06:42 +0000)]
Back references don't work in pattern attribute
https://bugs.webkit.org/show_bug.cgi?id=105875

Reviewed by Geoffrey Garen.

Source/WebCore:

This imports a part of Blink r148951.

Tests: Update fast/forms/ValidityState-patternMismatch.html

* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
Don't use capturing parentheses. They affected back references in
pattern attribute values.

LayoutTests:

* fast/forms/ValidityState-patternMismatch-expected.txt:
* fast/forms/ValidityState-patternMismatch.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove checking chromium from run-webkit-tests
commit-queue@webkit.org [Thu, 25 Apr 2013 05:41:07 +0000 (05:41 +0000)]
Remove checking chromium from run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=115139

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-24
Reviewed by Benjamin Poulain.

* Scripts/run-webkit-tests:
(useNewRunWebKitTests):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPDFPlugin: Cursor should become an i-beam when over selectable text
timothy_horton@apple.com [Thu, 25 Apr 2013 05:30:36 +0000 (05:30 +0000)]
PDFPlugin: Cursor should become an i-beam when over selectable text
https://bugs.webkit.org/show_bug.cgi?id=115018
<rdar://problem/12645012>

Reviewed by Alexey Proskuryakov.

* WebProcess/Plugins/PDF/PDFPlugin.h:
Add updateCursor(), the UpdateCursorMode and HitTestResult enums, and
storage for the last PDF hit test result.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::updateCursor):
Hit test the PDF. If there is a word under the cursor, use the I-beam cursor,
otherwise, use the default pointer cursor. This approximates PDFKit's behavior,
though does not match it precisely in the case of annotations.
Only send the cursor update to the UIProcess if it is a change, or if
we're explicitly asked to update.
(WebKit::PDFPlugin::handleMouseEvent):
If we're processing a mouse moved event, update the cursor if needed.
(WebKit::PDFPlugin::handleMouseEnterEvent):
If the cursor just moved over the PDFPlugin, force-update the cursor,
even if it matches the previously-set cursor (because something else
likely updated the cursor while it was not over the PDFPlugin).

* WebCore.exp.in: Export the I-beam and arrow cursors.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRoll out AppleWin re-baselines from r149088.
roger_fong@apple.com [Thu, 25 Apr 2013 04:56:09 +0000 (04:56 +0000)]
Roll out AppleWin re-baselines from r149088.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd watchdog timer polling for the DFG.
mark.lam@apple.com [Thu, 25 Apr 2013 02:59:51 +0000 (02:59 +0000)]
Add watchdog timer polling for the DFG.
https://bugs.webkit.org/show_bug.cgi?id=115134.

Reviewed by Geoffrey Garen.

The strategy is to add a speculation check to the DFG generated code to
test if the watchdog timer has fired or not. If the watchdog timer has
fired, the generated code will do an OSR exit to the baseline JIT, and
let it handle servicing the watchdog timer.

If the watchdog is not enabled, this speculation check will not be
emitted.

* API/tests/testapi.c:
(currentCPUTime_callAsFunction):
(extendTerminateCallback):
(main):
- removed try/catch statements so that we can test the watchdog on the DFG.
- added JS bindings to a native currentCPUTime() function so that the timeout
  tests can be more accurate.
- also shortened the time values so that the tests can complete sooner.

* bytecode/ExitKind.h:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* runtime/Watchdog.cpp:
(JSC::Watchdog::setTimeLimit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed optimize-baselines for mac and win.
roger_fong@apple.com [Thu, 25 Apr 2013 02:44:19 +0000 (02:44 +0000)]
Unreviewed optimize-baselines for mac and win.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPixel tests in SVG are all broken in WK2
simon.fraser@apple.com [Thu, 25 Apr 2013 02:09:22 +0000 (02:09 +0000)]
Pixel tests in SVG are all broken in WK2
https://bugs.webkit.org/show_bug.cgi?id=114218

Reviewed by Darin Adler.

Window snapshots in WebKitTestRunner on Mac are window-sized
(800x600), which is wrong for the W3C SVG tests that require a
480x360 snapshot.

Fix by resizing the window, as well as the web view in
PlatformWebView::resizeTo() so that window snapshots are correctly
sized.

Also do some drive-by cleanup of the window size constants in both
DRT and WTR to remove magic numbers, and make the code more similar.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::setShouldPaintBrokenImage):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/efl/DumpRenderTree.cpp:
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(webInspectorShowWindow):
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(sizeWebViewForCurrentTest):
* DumpRenderTree/mac/DumpRenderTreeMac.h:
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createPagedBitmapContext):
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(DumpRenderTree::DumpRenderTree):
(DumpRenderTree::open):
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
* DumpRenderTree/win/DumpRenderTree.cpp:
(sizeWebViewForCurrentTest):
* DumpRenderTree/wx/DumpRenderTreeWx.cpp:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::sizeWebViewForCurrentTest):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::resizeTo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoPage Overlays shouldn't waste time flushing layers if we're not going to use it
timothy_horton@apple.com [Thu, 25 Apr 2013 01:32:47 +0000 (01:32 +0000)]
Page Overlays shouldn't waste time flushing layers if we're not going to use it
https://bugs.webkit.org/show_bug.cgi?id=115145

Reviewed by Simon Fraser.

Don't flush the page overlay layer when it's installed - it starts out
with paintContents=false, so we don't really need a CALayer yet. We'll
flush later if need be.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGarbage at the top of http://www.technologyreview.com after scrolling
simon.fraser@apple.com [Thu, 25 Apr 2013 01:27:20 +0000 (01:27 +0000)]
Garbage at the top of technologyreview.com after scrolling
https://bugs.webkit.org/show_bug.cgi?id=114825

Source/WebCore:

Reviewed by Tim Horton.

Garbage pixels are caused by GraphicsLayerCA setting a layer to be opaque,
but then not painting anything into it. On this page, the element is
toggled to be visibility:hidden on scrolling, but RenderLayer::backgroundIsKnownToBeOpaqueInRect()
failed to consider that as something that can cause backgrounds not to be opaque.

For the bug to happen, some subtle interactions with r142012 come into play
for the layer to remain visible, hence the slightly complex testcase.

Test: compositing/contents-opaque/visibility-hidden.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Tim Horton.

Test that sets visibility:hidden on an element with some complex
configuration of layer children, and dumps the layer tree to check
that the contents are not marked as opaque.

* compositing/contents-opaque/visibility-hidden-expected.txt: Added.
* compositing/contents-opaque/visibility-hidden.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDump layer opaqueness in the Compositing log output
simon.fraser@apple.com [Thu, 25 Apr 2013 01:27:13 +0000 (01:27 +0000)]
Dump layer opaqueness in the Compositing log output
https://bugs.webkit.org/show_bug.cgi?id=115132

Reviewed by Tim Horton.

It's useful to see whether we consider layers to be opaque in the Compositing
log channel output, so dump it.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSpecial thunks for math functions should work on ARMv7
fpizlo@apple.com [Thu, 25 Apr 2013 01:26:35 +0000 (01:26 +0000)]
Special thunks for math functions should work on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=115144

Reviewed by Gavin Barraclough and Oliver Hunt.

The only hard bit here was ensuring that we implemented the very special
"cheap C call" convention on ARMv7.

* assembler/AbstractMacroAssembler.h:
(JSC::isARMv7s):
(JSC):
(JSC::isX86):
* dfg/DFGCommon.h:
* jit/SpecializedThunkJIT.h:
(SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::callDoubleToDoublePreservingReturn):
* jit/ThunkGenerators.cpp:
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd efl to JSInspectorFrontendHost::port()
commit-queue@webkit.org [Thu, 25 Apr 2013 00:51:29 +0000 (00:51 +0000)]
Add efl to JSInspectorFrontendHost::port()
https://bugs.webkit.org/show_bug.cgi?id=115137

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-24
Reviewed by Timothy Hatcher.

No new tests, because there is no change in behavior.

* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::port):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFunction parameter quotePair can be passed by reference
kangil.han@samsung.com [Thu, 25 Apr 2013 00:44:13 +0000 (00:44 +0000)]
Function parameter quotePair can be passed by reference
https://bugs.webkit.org/show_bug.cgi?id=115089

Reviewed by Alexey Proskuryakov.

Minor performance patch.

* rendering/style/QuotesData.cpp:
(WebCore::QuotesData::addPair):
* rendering/style/QuotesData.h:
(QuotesData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoImplementors of CachedResource subclasses should be forced to decide if encoded data...
beidson@apple.com [Thu, 25 Apr 2013 00:17:16 +0000 (00:17 +0000)]
Implementors of CachedResource subclasses should be forced to decide if encoded data can be replaced.
https://bugs.webkit.org/show_bug.cgi?id=115140

Reviewed by Beth Dakin.

No new tests (No behavior change).

This makes mayTryReplaceEncodedData() return false in CachedResource, but overrides to true
in all CachedResource subclasses besides CachedFont (which already has an implementation).

* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedImage.h:
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.h:
* loader/cache/CachedSVGDocument.h:
* loader/cache/CachedScript.h:
* loader/cache/CachedShader.h:
* loader/cache/CachedTextTrack.h:
* loader/cache/CachedXSLStyleSheet.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMisc bugfix and cleaning in sh4 base JIT.
commit-queue@webkit.org [Thu, 25 Apr 2013 00:10:15 +0000 (00:10 +0000)]
Misc bugfix and cleaning in sh4 base JIT.
https://bugs.webkit.org/show_bug.cgi?id=115022.

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-04-24
Reviewed by Oliver Hunt.

Remove unused add32() and sub32() with scratchreg parameter to avoid
confusion as this function prototype means another behaviour.
Remove unused "void push(Address)" function which seems quite buggy.

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::and32): Cosmetic change.
(JSC::MacroAssemblerSH4::lshift32): Cosmetic change.
(JSC::MacroAssemblerSH4::or32): Cosmetic change.
(JSC::MacroAssemblerSH4::xor32): Cosmetic change.
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::load32): Cosmetic change.
(JSC::MacroAssemblerSH4::load8Signed): Fix invalid offset upper limit
when using r0 register and cosmetic changes.
(JSC::MacroAssemblerSH4::load8): Reuse load8Signed to avoid duplication.
(JSC::MacroAssemblerSH4::load16): Fix invalid offset upper limit when
using r0 register, fix missing offset shift and cosmetic changes.
(JSC::MacroAssemblerSH4::store32): Cosmetic change.
(JSC::MacroAssemblerSH4::branchAdd32): Store result value before branch.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFurther unreviewed build fix; CFNetwork.framework is the one which Lion
jer.noble@apple.com [Wed, 24 Apr 2013 23:46:06 +0000 (23:46 +0000)]
Further unreviewed build fix; CFNetwork.framework is the one which Lion
refuses to link against.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed build fix; link against CoreServices.framework instead of against
jer.noble@apple.com [Wed, 24 Apr 2013 23:32:32 +0000 (23:32 +0000)]
Unreviewed build fix; link against CoreServices.framework instead of against
CoreFoundation.framework directly, to make the linker happy on Lion.

* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix invalid test names in jsc-test-list
ddkilzer@apple.com [Wed, 24 Apr 2013 23:31:55 +0000 (23:31 +0000)]
Fix invalid test names in jsc-test-list
<http://webkit.org/b/115136>

Reviewed by Geoffrey Garen.

This shell script finds all the invalid tests listed in
LayoutTests/fast/js/jsc-test-list:

    $ for F in `cat LayoutTests/fast/js/jsc-test-list`; do if [ ! -f LayoutTests/$F.html ]; then echo $F; fi; done
    fast/js/dfg-double-addition-simplify-to-int.html
    fast/js/dfg-mul-big-integers-with-small-integer-and-bitor
    fast/js/dfg-mul-big-integers-with-small-integer-and-detect-overflow
    fast/js/dfg-mul-big-integers-with-small-integer
    fast/js/dfg-value-to-int32-with-side-effects

* fast/js/jsc-test-list: Fix invalid test names by removing
*.html suffix or stray "s" characters.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWWDC session videos don’t play at developer.apple.com
jer.noble@apple.com [Wed, 24 Apr 2013 23:20:44 +0000 (23:20 +0000)]
WWDC session videos don’t play at developer.apple.com
https://bugs.webkit.org/show_bug.cgi?id=114858

Reviewed by Eric Carlson. Rubber stamped by Brady Eidson.

AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
However, in the case where network access happens in the NetworkProcess, session
cookies are stored in-memory, and are not accessable in the WebProcess. Until such
a time as AVFoundation can provide an API which would allow us to provide cookies
for a specific request, we will interpose the CFNetwork method which they use to
retrieve the cookie string from the cookie store for their pending request.

Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
target includes the SecItemShim functionality, but will add a new shim for cookie
retrieval:
* Shared/mac/CookieStorageShimLibrary.h: Added
(CookieStorageShimCallbacks):
* Shared/mac/CookieStorageShimLibrary.cpp: Added.
(WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
(WebKit::ShimProtector::~ShimProtector):
(WebKit::ShimProtector::count):
(WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose
    the CFNetwork call, and pass to the registered callback.
(WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.

Add a helper singleton class which will talk to the shim through the
registered callbacks:
* Shared/mac/CookieStorageShim.h: Added
(WebKit::CookieStorageShim::CookieStorageShim):
* Shared/mac/CookieStorageShim.cpp: Added.
(WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request
    over to the NetworkProcess.
(WebKit::CookieStorageShim::shared): Simple singleton.
(WebKit::CookieStorageShim::initialize): Call the library initializer.

Initialize the shim only when the WebProcess is delegating network loading
to the NetworkProcess:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):

Rename the WebProcess's shim from SecItemShim -> WebProcessShim:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::addDYLDEnvironmentAdditions):
* WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
(WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
* WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):

As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
own header:
* Shared/mac/DyldInterpose.h: Added.
* PluginProcess/mac/PluginProcessShim.mm:
* WebProcess/mac/SecItemShimLibrary.mm:

Add new files to the project:
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Fix build error after r148963.
bw80.lee@samsung.com [Wed, 24 Apr 2013 22:50:14 +0000 (22:50 +0000)]
[EFL] Fix build error after r148963.
https://bugs.webkit.org/show_bug.cgi?id=115126

Reviewed by Laszlo Gombos.

Generate forwarding headers for 'CoordinatedGraphics' to generate WKView.h

Source/WebKit2:

* PlatformEfl.cmake:

Tools:

* TestWebKitAPI/PlatformEfl.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WIN] Remove pthread from Visual Studio files in JavaScriptCore
paroga@webkit.org [Wed, 24 Apr 2013 22:42:54 +0000 (22:42 +0000)]
[WIN] Remove pthread from Visual Studio files in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=114864

Reviewed by Brent Fulgham.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorCommon.vsprops:
* JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
* JavaScriptCore.vcproj/testRegExp/testRegExpCommon.vsprops:
* JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
* JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
* JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExportGeneratorCommon.props:
* JavaScriptCore.vcxproj/LLInt/LLIntOffsetsExtractor/LLIntOffsetsExtractorCommon.props:
* JavaScriptCore.vcxproj/jsc/jscCommon.props:
* JavaScriptCore.vcxproj/testRegExp/testRegExpCommon.props:
* JavaScriptCore.vcxproj/testapi/testapiCommon.props:
* JavaScriptCore.vcxproj/testapi/testapiCommonCFLite.props:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDFG should keep the operand to create_this alive if it's emitting code for create_this
fpizlo@apple.com [Wed, 24 Apr 2013 22:39:33 +0000 (22:39 +0000)]
DFG should keep the operand to create_this alive if it's emitting code for create_this
https://bugs.webkit.org/show_bug.cgi?id=115133

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

The DFG must model bytecode liveness, or else OSR exit is going to have a really bad time.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):

LayoutTests:

Reviewed by Mark Hahnenberg.

This test crashes prior to my change.

* fast/js/dfg-allocation-profile-watch-point-exit-expected.txt: Added.
* fast/js/dfg-allocation-profile-watch-point-exit.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-allocation-profile-watch-point-exit.js: Added.
(Foo):
(foo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoOnce a custom font is cached to disk, it starts failing to render until the page...
beidson@apple.com [Wed, 24 Apr 2013 22:35:47 +0000 (22:35 +0000)]
Once a custom font is cached to disk, it starts failing to render until the page is refreshed.
<rdar://problem/13622998> and https://bugs.webkit.org/show_bug.cgi?id=115131

Reviewed by Alexey Proskuryakov.

No new tests (Not a tested config, nor are disk cache issues currently testable).

* loader/cache/CachedResource.h:
(WebCore::CachedResource:: mayTryReplaceEncodedData): Allow subclasses to refuse encoded data replacement.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::tryReplaceEncodedData): Only try if shouldTryReplaceEncodedData() is true.

* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::mayTryReplaceEncodedData): Return false if the custom font data has ever been created.
* loader/cache/CachedFont.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago fast/js/global-constructors.html was deleted in r149001, removing it from
ap@apple.com [Wed, 24 Apr 2013 22:05:13 +0000 (22:05 +0000)]
    fast/js/global-constructors.html was deleted in r149001, removing it from
        TextExpectations too.

        * platform/mac/TestExpectations:
        * platform/qt-arm/TestExpectations:
        * platform/win/TestExpectations:
        * platform/wincairo/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149068 268f45cc-cd09-0410-ab3c-d52691b4dbfc