Revert r153632, since it caused fast/forms/change-form-element-document-crash.html
to assert.

* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
hasIndexingHeader should be a property of the Structure, not just the IndexingType
https://bugs.webkit.org/show_bug.cgi?id=119422

Reviewed by Oliver Hunt.
        
This simplifies some code and also allows Structure to claim that an object
has an indexing header even if it doesn't have indexed properties.
        
I also changed some calls to use hasIndexedProperties() since in some cases,
that's what we actually meant. Currently the two are synonyms.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
* runtime/ButterflyInlines.h:
(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):
* runtime/IndexingType.h:
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):
(JSC::JSObject::setPrototype):
* runtime/JSObject.h:
(JSC::JSObject::setButterfly):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
* runtime/Structure.h:
(JSC::Structure::hasIndexingHeader):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement canvas blending test that should validate the following scenarios:
Validate that all blending operators work as expected for the following layer combinations:

https://bugs.webkit.org/show_bug.cgi?id=119082

Patch by Mihai Tica <mitica@adobe.com> on 2013-08-02
Reviewed by Dirk Schulze.

* fast/canvas/canvas-blending-clipping-expected.txt: Added.
* fast/canvas/canvas-blending-clipping.html: Added.
* fast/canvas/canvas-blending-color-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-color.html: Added.
* fast/canvas/canvas-blending-color-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-gradient.html: Added.
* fast/canvas/canvas-blending-color-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-image.html: Added.
* fast/canvas/canvas-blending-color-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-pattern.html: Added.
* fast/canvas/canvas-blending-fill-style-expected.txt: Added.
* fast/canvas/canvas-blending-fill-style.html: Added.
* fast/canvas/canvas-blending-global-alpha-expected.txt: Added.
* fast/canvas/canvas-blending-global-alpha.html: Added.
* fast/canvas/canvas-blending-gradient-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-color.html: Added.
* fast/canvas/canvas-blending-gradient-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-gradient.html: Added.
* fast/canvas/canvas-blending-gradient-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-image.html: Added.
* fast/canvas/canvas-blending-gradient-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-pattern.html: Added.
* fast/canvas/canvas-blending-helpers.js: Added.
(separateBlendFunctions.normal):
(separateBlendFunctions.multiply):
(separateBlendFunctions.screen):
(separateBlendFunctions.overlay):
(separateBlendFunctions.darken):
(separateBlendFunctions.lighten):
(separateBlendFunctions.colorDodge):
(separateBlendFunctions.colorBurn):
(separateBlendFunctions.hardLight):
(separateBlendFunctions.softLight):
(separateBlendFunctions.difference):
(separateBlendFunctions.exclusion):
(applyBlendMode):
(luminosity):
(clipColor):
(setLuminosity):
(saturation):
(setSaturation):
(nonSeparateBlendFunctions.hue):
(nonSeparateBlendFunctions.saturation):
(nonSeparateBlendFunctions.color):
(nonSeparateBlendFunctions.luminosity):
(drawColorInContext):
(drawBackdropColorInContext):
(drawSourceColorInContext):
(fillPathWithColorInContext):
(fillPathWithBackdropInContext):
(fillPathWithSourceInContext):
(applyTransformsToContext):
(drawBackdropColorWithShadowInContext):
(drawSourceColorRectOverShadow):
(.backdropImage.onload):
(drawColorImageInContext):
(drawBackdropColorImageInContext):
(drawSourceColorImageInContext):
(drawColorPatternInContext):
(drawBackdropColorPatternInContext):
(drawSourceColorPatternInContext):
(drawGradientInContext):
(drawBackdropColorGradientInContext):
(drawSourceColorGradientInContext):
(blendColors):
(separateBlendColors):
(nonSeparateBlendColors):
* fast/canvas/canvas-blending-image-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-color.html: Added.
* fast/canvas/canvas-blending-image-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-gradient.html: Added.
* fast/canvas/canvas-blending-image-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-image.html: Added.
* fast/canvas/canvas-blending-image-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-pattern.html: Added.
* fast/canvas/canvas-blending-pattern-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-color.html: Added.
* fast/canvas/canvas-blending-pattern-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-gradient.html: Added.
* fast/canvas/canvas-blending-pattern-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-image.html: Added.
* fast/canvas/canvas-blending-pattern-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-pattern.html: Added.
* fast/canvas/canvas-blending-shadow-expected.txt: Added.
* fast/canvas/canvas-blending-shadow.html: Added.
* fast/canvas/canvas-blending-text-expected.txt: Added.
* fast/canvas/canvas-blending-text.html: Added.
* fast/canvas/canvas-blending-transforms-expected.txt: Added.
* fast/canvas/canvas-blending-transforms.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(FTL): Fix mips implementation of ctiVMThrowTrampolineSlowpath.
https://bugs.webkit.org/show_bug.cgi?id=119447

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-02
Reviewed by Geoffrey Garen.

Fix .cpload, update call frame and do not restore registers from JIT stack frame in
mips implementation of ctiVMThrowTrampolineSlowpath. This change is similar to
r153583 (sh4) and r153648 (ARM).

* jit/JITStubsMIPS.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
compareDocumentPosition() should report PRECEDING or FOLLOWING information even if nodes are disconnected
https://bugs.webkit.org/show_bug.cgi?id=119316

Reviewed by Ryosuke Niwa.

Source/WebCore:

As per the latest specification, compareDocumentPosition() should report PRECEDING or FOLLOWING
information even if nodes are disconnected:
- http://dom.spec.whatwg.org/#dom-node-comparedocumentposition

This behavior is consistent with both IE10, Firefox 22 and since recently Blink.

No new tests, covered by existing tests.

* dom/Node.cpp:
(WebCore::compareDetachedElementsPosition):
(WebCore::Node::compareDocumentPosition):

LayoutTests:

Update fast/dom/compare-document-position-disconnected-nodes.html to check that compareDocumentPosition()
now returns one of the following values for disconnected nodes:
- DOCUMENT_POSITION_DISCONNECTED | DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_PRECEDING
- DOCUMENT_POSITION_DISCONNECTED | DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_FOLLOWING

Several dom/xhtml/level3 are skipped and marked as WonfFix because they are outdated and no longer match
the DOM4 specification. They expect compareDocumentPosition() not to return PRECEDING / FOLLOWING
information for disconnected nodes.

* TestExpectations:
* dom/xhtml/level3/core/nodecomparedocumentposition38-expected.txt:
* fast/dom/compare-document-position-disconnected-nodes-expected.txt:
* fast/dom/compare-document-position-disconnected-nodes.html:
* fast/dom/shadow/compare-document-position-expected.txt:
* fast/dom/shadow/compare-document-position.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
https://bugs.webkit.org/show_bug.cgi?id=119309

Reviewed by Kent Tamura.

Merge https://chromium.googlesource.com/chromium/blink/+/6fbdcbf311de539107bc28711b3f7a527176e97b.

I'm not merging the test since the attached test case only works when the shadow DOM API is enabled.

* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):


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