[SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
https://bugs.webkit.org/show_bug.cgi?id=97905

Reviewed by Dirk Schulze.

Rebuilding the shadow and instance trees of dependent use nodes recursively can be
extremely inefficient with non-trivial dependency graphs (the trees are not constructed
in topological order).

To avoid redundant buildShadowAndInstanceTree() invokations, separate the invalidation
phase from the actual tree (re)building phase, and only descend into the dependency DAG
during the invalidation phase (recursion also stops at nodes that have been previously
invalidated).

No new tests: functional coverage provided by existing tests, perfomance tracked by
PerformanceTests/SVG/SvgNestedUse.html.

* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::buildShadowAndInstanceTree):
(WebCore::SVGUseElement::invalidateShadowTree):
(WebCore):
(WebCore::SVGUseElement::invalidateDependentShadowTrees):
* svg/SVGUseElement.h:
(SVGUseElement):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143498 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unnecessary includes for Platform.h from headers
https://bugs.webkit.org/show_bug.cgi?id=110300

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2013-02-20
Reviewed by Alexey Proskuryakov.

Source/WebCore:

wtf/Platform.h only need to be included in a few places directly
as it is included in config.h. Remove the unnecessay duplicate as
it can be confusing.

No new tests, no change in functionality.

* platform/SecureTextInput.h:
* platform/audio/Biquad.h:
* platform/audio/FFTFrame.h:
* platform/graphics/cpu/arm/filters/FEBlendNEON.h:
* platform/graphics/cpu/arm/filters/NEONHelpers.h:
* platform/graphics/filters/FELighting.h:

Source/WebKit2:

wtf/Platform.h only need to be included in a few places directly
as it is included in config.h. Remove the unnecessay duplicate as
it can be confusing.

* Shared/PrintInfo.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed gardening.

Patch by Ian Vollick <vollick@chromium.org> on 2013-02-20

* platform/chromium/TestExpectations:

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