weakCompareAndSwap should work on Windows
https://bugs.webkit.org/show_bug.cgi?id=87549

Reviewed by Jessie Berlin.

* wtf/Atomics.h:
(WTF):
(WTF::weakCompareAndSwap):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
cursor gets trapped when border-style: dashed is used
https://bugs.webkit.org/show_bug.cgi?id=37693

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-05-25
Reviewed by Tony Chang.

This bug has been fixed. Add a test to make sure that it won't regress.

* editing/selection/move-by-line-006-expected.txt: Added.
* editing/selection/move-by-line-006.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Roll chromium DEPS from r139156 to r139184.

* DEPS:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Instrument V8 GC with TraceEvent
https://bugs.webkit.org/show_bug.cgi?id=87530

Reviewed by Kentaro Hara.

We sometimes get performance issues where performance stalls can
be attributed to badly timed GC operations, especially ones that
happen just before a frame running. This adds tracing calls around
GC so that we can better understand these kinds of hangs.

* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::gcEpilogue):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening after r118577 and r118585.

* platform/gtk/http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt: Added.
* platform/gtk/http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt: Added.
* platform/gtk/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid updateFromElement() usage in SVG
https://bugs.webkit.org/show_bug.cgi?id=87573

Stop relying on updateFromElement() - instead rely on addChild/removeChild, which
allows us to optimize the resources re-fetching. When a child is added to the tree
we don't need to remove existing resources from the SVGResourcesCache - the renderer
can't be in the cache yet. Similary, remove the entry from the cache earlier: as soon
as the renderer is removed from the tree, instead of waiting for willBeDestroyed().

No new tests, refactoring only.

* rendering/svg/RenderSVGBlock.cpp:
* rendering/svg/RenderSVGBlock.h:
(RenderSVGBlock):
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::addChild):
(WebCore):
(WebCore::RenderSVGContainer::removeChild):
* rendering/svg/RenderSVGContainer.h:
(RenderSVGContainer):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::addChild):
(WebCore::RenderSVGInline::removeChild):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::addChild):
(WebCore):
(WebCore::RenderSVGRoot::removeChild):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::addChild):
(WebCore::RenderSVGText::removeChild):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientStyleChanged):
(WebCore::rendererCanHaveResources):
(WebCore):
(WebCore::SVGResourcesCache::clientWasAddedToTree):
(WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
* rendering/svg/SVGResourcesCache.h:
(SVGResourcesCache):
* svg/SVGStyledElement.cpp:
* svg/SVGStyledElement.h:
(SVGStyledElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Bug 15799: textPath element does not re-render when referenced path changes
https://bugs.webkit.org/show_bug.cgi?id=15799

Patch by Rob Buis <rwlbuis@webkit.org> on 2012-05-26
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Support textPath updating to changes on the referenced path. To make this possible
use the target reference functionality also used by SVGFEImageElement.

Tests: svg/custom/textPath-change-id-expected.svg
       svg/custom/textPath-change-id-pattern-expected.svg
       svg/custom/textPath-change-id-pattern.svg
       svg/custom/textPath-change-id.svg
       svg/custom/textPath-change-id2-expected.svg
       svg/custom/textPath-change-id2-pattern-expected.svg
       svg/custom/textPath-change-id2-pattern.svg
       svg/custom/textPath-change-id2.svg
       svg/custom/textPath-change-reference-expected.svg
       svg/custom/textPath-change-reference-pattern-expected.svg
       svg/custom/textPath-change-reference-pattern.svg
       svg/custom/textPath-change-reference-using-baseval-expected.svg
       svg/custom/textPath-change-reference-using-baseval-pattern-expected.svg
       svg/custom/textPath-change-reference-using-baseval-pattern.svg
       svg/custom/textPath-change-reference-using-baseval.svg
       svg/custom/textPath-change-reference.svg
       svg/custom/textPath-change-reference2-expected.svg
       svg/custom/textPath-change-reference2-pattern-expected.svg
       svg/custom/textPath-change-reference2-pattern.svg
       svg/custom/textPath-change-reference2-using-baseval-expected.svg
       svg/custom/textPath-change-reference2-using-baseval-pattern-expected.svg
       svg/custom/textPath-change-reference2-using-baseval-pattern.svg
       svg/custom/textPath-change-reference2-using-baseval.svg
       svg/custom/textPath-change-reference2.svg
       svg/custom/textPath-insert-path-expected.svg
       svg/custom/textPath-insert-path-pattern-expected.svg
       svg/custom/textPath-insert-path-pattern.svg
       svg/custom/textPath-insert-path.svg
       svg/custom/textPath-modify-child-expected.svg
       svg/custom/textPath-modify-child-pattern-expected.svg
       svg/custom/textPath-modify-child-pattern.svg
       svg/custom/textPath-modify-child.svg
       svg/custom/textPath-path-change-expected.svg
       svg/custom/textPath-path-change-pattern-expected.svg
       svg/custom/textPath-path-change-pattern.svg
       svg/custom/textPath-path-change-using-svg-dom-expected.svg
       svg/custom/textPath-path-change-using-svg-dom-pattern-expected.svg
       svg/custom/textPath-path-change-using-svg-dom-pattern.svg
       svg/custom/textPath-path-change-using-svg-dom.svg
       svg/custom/textPath-path-change.svg
       svg/custom/textPath-path-change2-expected.svg
       svg/custom/textPath-path-change2-pattern-expected.svg
       svg/custom/textPath-path-change2-pattern.svg
       svg/custom/textPath-path-change2.svg
       svg/custom/textPath-remove-path-expected.svg
       svg/custom/textPath-remove-path-pattern-expected.svg
       svg/custom/textPath-remove-path-pattern.svg
       svg/custom/textPath-remove-path.svg
       svg/custom/textPath-set-id-expected.svg
       svg/custom/textPath-set-id.svg
       svg/custom/textPath-startoffset-expected.svg
       svg/custom/textPath-startoffset-pattern-expected.svg
       svg/custom/textPath-startoffset-pattern.svg
       svg/custom/textPath-startoffset.svg

* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::~SVGTextPathElement):
(WebCore):
(WebCore::SVGTextPathElement::clearResourceReferences):
(WebCore::SVGTextPathElement::svgAttributeChanged):
(WebCore::SVGTextPathElement::buildPendingResource):
(WebCore::SVGTextPathElement::insertedInto):
(WebCore::SVGTextPathElement::removedFrom):
* svg/SVGTextPathElement.h:

LayoutTests:

- textPath-path-change-id.svg, react to change of id attribute on referenced path (makes the xlink:href valid).
- textPath-path-change-id2.svg, react to change of id attribute on referenced path (makes the xlink:href invalid).
- textPath-path-set-id.svg, react to setting of id attribute on referenced path (makes the xlink:href valid).
- textPath-change-reference.svg, <textPath> references existing <path>, change the xlink:href to a non-existing one.
- textPath-change-reference-using-baseval.svg, <textPath> references existing <path>, change the xlink:href to a non-existing one using SVG DOM.
- textPath-change-reference2.svg, <textPath> references non-existing <path>, change xlink:href to an existing one.
- textPath-change-reference2-using-baseval.svg, <textPath> references non-existing <path>, change xlink:href to an existing one using SVG DOM.
- textPath-insert-path.svg, <textPath> references non-existing <path>, <path> added dynamically.
- textPath-modify-child.svg, react to change on textPath content.
- textPath-path-change-using-svg-dom.svg, react to change on pathSegList of referenced path.
- textPath-path-change.svg, react to change on d attribute of referenced path.
- textPath-path-change2.svg, react to change on d attribute of path referenced by multiple <textPath>s.
- textPath-remove-path.svg, <textPath> references existing <path>, <path> is removed from DOM.
- textPath-startoffset.svg, react to startOffset attribute change on <textPath>.

These tests are duplicated for <textPath> inside a <pattern>.

* svg/custom/textPath-change-id-expected.svg: Added.
* svg/custom/textPath-change-id-pattern-expected.svg: Added.
* svg/custom/textPath-change-id-pattern.svg: Added.
* svg/custom/textPath-change-id.svg: Added.
* svg/custom/textPath-change-id2-expected.svg: Added.
* svg/custom/textPath-change-id2-pattern-expected.svg: Added.
* svg/custom/textPath-change-id2-pattern.svg: Added.
* svg/custom/textPath-change-id2.svg: Added.
* svg/custom/textPath-change-reference-expected.svg: Added.
* svg/custom/textPath-change-reference-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference-pattern.svg: Added.
* svg/custom/textPath-change-reference-using-baseval-expected.svg: Added.
* svg/custom/textPath-change-reference-using-baseval-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference-using-baseval-pattern.svg: Added.
* svg/custom/textPath-change-reference-using-baseval.svg: Added.
* svg/custom/textPath-change-reference.svg: Added.
* svg/custom/textPath-change-reference2-expected.svg: Added.
* svg/custom/textPath-change-reference2-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference2-pattern.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval-expected.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval-pattern-expected.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval-pattern.svg: Added.
* svg/custom/textPath-change-reference2-using-baseval.svg: Added.
* svg/custom/textPath-change-reference2.svg: Added.
* svg/custom/textPath-insert-path-expected.svg: Added.
* svg/custom/textPath-insert-path-pattern-expected.svg: Added.
* svg/custom/textPath-insert-path-pattern.svg: Added.
* svg/custom/textPath-insert-path.svg: Added.
* svg/custom/textPath-modify-child-expected.svg: Added.
* svg/custom/textPath-modify-child-pattern-expected.svg: Added.
* svg/custom/textPath-modify-child-pattern.svg: Added.
* svg/custom/textPath-modify-child.svg: Added.
* svg/custom/textPath-path-change-expected.svg: Added.
* svg/custom/textPath-path-change-pattern-expected.svg: Added.
* svg/custom/textPath-path-change-pattern.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom-expected.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom-pattern-expected.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom-pattern.svg: Added.
* svg/custom/textPath-path-change-using-svg-dom.svg: Added.
* svg/custom/textPath-path-change.svg: Added.
* svg/custom/textPath-path-change2-expected.svg: Added.
* svg/custom/textPath-path-change2-pattern-expected.svg: Added.
* svg/custom/textPath-path-change2-pattern.svg: Added.
* svg/custom/textPath-path-change2.svg: Added.
* svg/custom/textPath-remove-path-expected.svg: Added.
* svg/custom/textPath-remove-path-pattern-expected.svg: Added.
* svg/custom/textPath-remove-path-pattern.svg: Added.
* svg/custom/textPath-remove-path.svg: Added.
* svg/custom/textPath-set-id-expected.svg: Added.
* svg/custom/textPath-set-id.svg: Added.
* svg/custom/textPath-startoffset-expected.svg: Added.
* svg/custom/textPath-startoffset-pattern-expected.svg: Added.
* svg/custom/textPath-startoffset-pattern.svg: Added.
* svg/custom/textPath-startoffset.svg: Added.

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