Crash in WebCore::SVGUseElement::instanceForShadowTreeElement
authorschenney@chromium.org <schenney@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Mar 2012 20:07:11 +0000 (20:07 +0000)
committerschenney@chromium.org <schenney@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Mar 2012 20:07:11 +0000 (20:07 +0000)
commit4e8396155dd770853f4d95c679ab22075b0750dc
tree4cef82e86fa7f79a05cbfa0f9c3cd53ae2e7a90b
parent70df7afca90d0e24ec7d8834a7e39280b5d321bb
Crash in WebCore::SVGUseElement::instanceForShadowTreeElement
https://bugs.webkit.org/show_bug.cgi?id=80406

Reviewed by Nikolas Zimmermann.

Code assumes that an object that is an SVG Element and in a shadow
tree must be in an SVG use shadow tree, and casts the shadow host with
a static_cast. It may be that an SVG element appears in a non-use
shadow tree, in which case bad things happen. While it appears that
the current code prevents such a situation from arising (checks are
made within the shadow tree code to prevent it) there are also
indications that the situation may change.

No new tests. I believe that the problem here cannot currently be
reproduced. That is, other code prevents SVG elements from appearing
in non-svg shadow trees.

* dom/EventDispatcher.cpp:
(WebCore::eventTargetRespectingSVGTargetRules):
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::title):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/dom/EventDispatcher.cpp
Source/WebCore/svg/SVGStyledElement.cpp