Diff
Added: trunk/LayoutTests/fast/dom/shadow/shadow-aware-shadow-root-expected.txt (0 => 136924)
--- trunk/LayoutTests/fast/dom/shadow/shadow-aware-shadow-root-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-aware-shadow-root-expected.txt 2012-12-07 07:20:18 UTC (rev 136924)
@@ -0,0 +1,13 @@
+Tests for ShadowAware.shadowRoot property.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS host.webkitShadowRoot is null
+PASS root1 is host.webkitShadowRoot
+PASS root2 is host.webkitShadowRoot
+PASS hostWithUAShadow.webkitShadowRoot is null
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/fast/dom/shadow/shadow-aware-shadow-root.html (0 => 136924)
--- trunk/LayoutTests/fast/dom/shadow/shadow-aware-shadow-root.html (rev 0)
+++ trunk/LayoutTests/fast/dom/shadow/shadow-aware-shadow-root.html 2012-12-07 07:20:18 UTC (rev 136924)
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<script>
+description("Tests for ShadowAware.shadowRoot property.");
+
+var host = document.createElement('div');
+shouldBeNull("host.webkitShadowRoot");
+var root1 = host.webkitCreateShadowRoot();
+shouldBe("root1", "host.webkitShadowRoot");
+var root2 = host.webkitCreateShadowRoot();
+shouldBe("root2", "host.webkitShadowRoot");
+
+var hostWithUAShadow = document.createElement('input');
+shouldBeNull("hostWithUAShadow.webkitShadowRoot");
+
+</script>
+<script src=""
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (136923 => 136924)
--- trunk/Source/WebCore/ChangeLog 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/ChangeLog 2012-12-07 07:20:18 UTC (rev 136924)
@@ -1,3 +1,74 @@
+2012-12-06 Hajime Morrita <morr...@google.com>
+
+ [Shadow DOM] Implement Element::shadowRoot with prefix
+ https://bugs.webkit.org/show_bug.cgi?id=102912
+
+ Reviewed by Dimitri Glazkov.
+
+ - Added Element::shadowRoot() which return the youngest author shadow root.
+ - Renamed existing Node::shadowRoot() to containingShadowRoot() to avoid name shadowing.
+ The name shadowRoot() is confusing anyway so this is good opportunity to rename it.
+
+ Test: fast/dom/shadow/shadow-aware-shadow-root.html
+
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkSelector):
+ * css/StyleScopeResolver.cpp:
+ (WebCore::StyleScopeResolver::scopeFor):
+ (WebCore::StyleScopeResolver::addHostRule):
+ * dom/Element.cpp:
+ (WebCore::Element::shadowRoot):
+ (WebCore):
+ * dom/Element.h:
+ (Element):
+ * dom/Element.idl:
+ * dom/ElementShadow.cpp:
+ (WebCore::ElementShadow::setShouldCollectSelectFeatureSet):
+ * dom/Node.cpp:
+ (WebCore::Node::rendererIsEditable):
+ (WebCore::Node::shadowHost):
+ (WebCore::Node::shadowAncestorNode):
+ (WebCore::Node::containingShadowRoot):
+ * dom/Node.h:
+ (Node):
+ * dom/Range.cpp:
+ (WebCore::Range::shadowRoot):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::insertedInto):
+ (WebCore::ShadowRoot::removedFrom):
+ * dom/ShadowRoot.h:
+ (WebCore::ShadowRoot::isAccessible):
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::handleReplacedElement):
+ * editing/htmlediting.cpp:
+ (WebCore::indexForVisiblePosition):
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::scopedAttributeChanged):
+ (WebCore::HTMLStyleElement::registerWithScopingNode):
+ (WebCore::HTMLStyleElement::removedFrom):
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ContentDistributor::distribute):
+ * html/shadow/HTMLContentElement.cpp:
+ (WebCore::HTMLContentElement::parseAttribute):
+ (WebCore::HTMLContentElement::insertedInto):
+ (WebCore::HTMLContentElement::removedFrom):
+ * html/shadow/HTMLShadowElement.cpp:
+ (WebCore::HTMLShadowElement::insertedInto):
+ (WebCore::HTMLShadowElement::removedFrom):
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore::InsertionPoint::attach):
+ (WebCore::InsertionPoint::detach):
+ (WebCore::InsertionPoint::isActive):
+ (WebCore::InsertionPoint::childrenChanged):
+ (WebCore::InsertionPoint::insertedInto):
+ (WebCore::InsertionPoint::removedFrom):
+ (WebCore::InsertionPoint::setResetStyleInheritance):
+ * page/EventHandler.cpp:
+ (WebCore::instanceAssociatedWithShadowTreeElement):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::correspondingElement):
+ (WebCore::collectInstancesForSVGElement):
+
2012-12-06 Michael Pruett <mich...@68k.org>
IndexedDB: Replace int64 with int64_t
Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (136923 => 136924)
--- trunk/Source/WebCore/css/SelectorChecker.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -448,7 +448,7 @@
if (context.selector->m_match == CSSSelector::PseudoElement) {
if (context.selector->isCustomPseudoElement()) {
- if (ShadowRoot* root = context.element->shadowRoot()) {
+ if (ShadowRoot* root = context.element->containingShadowRoot()) {
if (context.element->shadowPseudoId() != context.selector->value())
return SelectorFailsLocally;
Modified: trunk/Source/WebCore/css/StyleScopeResolver.cpp (136923 => 136924)
--- trunk/Source/WebCore/css/StyleScopeResolver.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/css/StyleScopeResolver.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -68,7 +68,7 @@
HTMLStyleElement* styleElement = static_cast<HTMLStyleElement*>(ownerNode);
if (!styleElement->scoped())
- return styleElement->isInShadowTree() ? styleElement->shadowRoot() : 0;
+ return styleElement->isInShadowTree() ? styleElement->containingShadowRoot() : 0;
ContainerNode* parent = styleElement->parentNode();
if (!parent)
@@ -175,7 +175,7 @@
if (!scope || !scope->isInShadowTree())
return;
- ShadowRoot* shadowRoot = scope->shadowRoot();
+ ShadowRoot* shadowRoot = scope->containingShadowRoot();
if (!shadowRoot || !shadowRoot->host())
return;
Modified: trunk/Source/WebCore/dom/Element.cpp (136923 => 136924)
--- trunk/Source/WebCore/dom/Element.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/Element.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -1381,6 +1381,17 @@
return ShadowRoot::create(this, ec);
}
+ShadowRoot* Element::shadowRoot() const
+{
+ ElementShadow* elementShadow = shadow();
+ if (!elementShadow)
+ return 0;
+ ShadowRoot* shadowRoot = elementShadow->youngestShadowRoot();
+ if (!shadowRoot->isAccessible())
+ return 0;
+ return shadowRoot;
+}
+
ShadowRoot* Element::userAgentShadowRoot() const
{
if (ElementShadow* elementShadow = shadow()) {
Modified: trunk/Source/WebCore/dom/Element.h (136923 => 136924)
--- trunk/Source/WebCore/dom/Element.h 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/Element.h 2012-12-07 07:20:18 UTC (rev 136924)
@@ -277,6 +277,7 @@
ElementShadow* shadow() const;
ElementShadow* ensureShadow();
PassRefPtr<ShadowRoot> createShadowRoot(ExceptionCode&);
+ ShadowRoot* shadowRoot() const;
virtual void willAddAuthorShadowRoot() { }
virtual bool areAuthorShadowsAllowed() const { return true; }
Modified: trunk/Source/WebCore/dom/Element.idl (136923 => 136924)
--- trunk/Source/WebCore/dom/Element.idl 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/Element.idl 2012-12-07 07:20:18 UTC (rev 136924)
@@ -123,6 +123,7 @@
#if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM
[Reflect=pseudo, V8EnabledAtRuntime=shadowDOM, ImplementedAs=pseudo] attribute DOMString webkitPseudo;
[V8EnabledAtRuntime=shadowDOM, ImplementedAs=createShadowRoot] ShadowRoot webkitCreateShadowRoot() raises(DOMException);
+ [V8EnabledAtRuntime=shadowDOM, ImplementedAs=shadowRoot] readonly attribute ShadowRoot webkitShadowRoot;
#endif
// DOM 4
Modified: trunk/Source/WebCore/dom/ElementShadow.cpp (136923 => 136924)
--- trunk/Source/WebCore/dom/ElementShadow.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/ElementShadow.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -200,7 +200,7 @@
m_shouldCollectSelectFeatureSet = true;
- if (ShadowRoot* parentShadowRoot = host()->shadowRoot()) {
+ if (ShadowRoot* parentShadowRoot = host()->containingShadowRoot()) {
if (ElementShadow* parentElementShadow = parentShadowRoot->owner())
parentElementShadow->setShouldCollectSelectFeatureSet();
}
Modified: trunk/Source/WebCore/dom/Node.cpp (136923 => 136924)
--- trunk/Source/WebCore/dom/Node.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/Node.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -730,7 +730,7 @@
bool Node::rendererIsEditable(EditableLevel editableLevel, UserSelectAllTreatment treatment) const
{
- if (document()->frame() && document()->frame()->page() && document()->frame()->page()->isEditable() && !shadowRoot())
+ if (document()->frame() && document()->frame()->page() && document()->frame()->page()->isEditable() && !containingShadowRoot())
return true;
if (isPseudoElement())
@@ -1362,20 +1362,20 @@
Element* Node::shadowHost() const
{
- if (ShadowRoot* root = shadowRoot())
+ if (ShadowRoot* root = containingShadowRoot())
return root->host();
return 0;
}
Node* Node::shadowAncestorNode() const
{
- if (ShadowRoot* root = shadowRoot())
+ if (ShadowRoot* root = containingShadowRoot())
return root->host();
return const_cast<Node*>(this);
}
-ShadowRoot* Node::shadowRoot() const
+ShadowRoot* Node::containingShadowRoot() const
{
Node* root = const_cast<Node*>(this);
while (root) {
Modified: trunk/Source/WebCore/dom/Node.h (136923 => 136924)
--- trunk/Source/WebCore/dom/Node.h 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/Node.h 2012-12-07 07:20:18 UTC (rev 136924)
@@ -265,7 +265,7 @@
// If this node is in a shadow tree, returns its shadow host. Otherwise, returns this.
// Deprecated. Should use shadowHost() and check the return value.
Node* shadowAncestorNode() const;
- ShadowRoot* shadowRoot() const;
+ ShadowRoot* containingShadowRoot() const;
ShadowRoot* youngestShadowRoot() const;
// Returns 0, a child of ShadowRoot, or a legacy shadow root.
Modified: trunk/Source/WebCore/dom/Range.cpp (136923 => 136924)
--- trunk/Source/WebCore/dom/Range.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/Range.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -1562,7 +1562,7 @@
ShadowRoot* Range::shadowRoot() const
{
- return startContainer() ? startContainer()->shadowRoot() : 0;
+ return startContainer() ? startContainer()->containingShadowRoot() : 0;
}
Node* Range::pastLastNode() const
Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (136923 => 136924)
--- trunk/Source/WebCore/dom/ShadowRoot.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -283,7 +283,7 @@
if (m_registeredWithParentShadowRoot)
return InsertionDone;
- if (ShadowRoot* root = host()->shadowRoot()) {
+ if (ShadowRoot* root = host()->containingShadowRoot()) {
root->registerElementShadow();
m_registeredWithParentShadowRoot = true;
}
@@ -294,9 +294,9 @@
void ShadowRoot::removedFrom(ContainerNode* insertionPoint)
{
if (insertionPoint->inDocument() && m_registeredWithParentShadowRoot) {
- ShadowRoot* root = host()->shadowRoot();
+ ShadowRoot* root = host()->containingShadowRoot();
if (!root)
- root = insertionPoint->shadowRoot();
+ root = insertionPoint->containingShadowRoot();
if (root)
root->unregisterElementShadow();
Modified: trunk/Source/WebCore/dom/ShadowRoot.h (136923 => 136924)
--- trunk/Source/WebCore/dom/ShadowRoot.h 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/dom/ShadowRoot.h 2012-12-07 07:20:18 UTC (rev 136924)
@@ -110,6 +110,7 @@
virtual void unregisterScopedHTMLStyleChild() OVERRIDE;
ShadowRootType type() const { return m_isAuthorShadowRoot ? AuthorShadowRoot : UserAgentShadowRoot; }
+ bool isAccessible() const { return type() == AuthorShadowRoot; }
PassRefPtr<Node> cloneNode(bool, ExceptionCode&);
Modified: trunk/Source/WebCore/editing/TextIterator.cpp (136923 => 136924)
--- trunk/Source/WebCore/editing/TextIterator.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/editing/TextIterator.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -684,7 +684,7 @@
if (m_entersTextControls && renderer->isTextControl()) {
if (HTMLElement* innerTextElement = toRenderTextControl(renderer)->textFormControlElement()->innerTextElement()) {
- m_node = innerTextElement->shadowRoot();
+ m_node = innerTextElement->containingShadowRoot();
pushFullyClippedState(m_fullyClippedStack, m_node);
m_offset = 0;
return false;
Modified: trunk/Source/WebCore/editing/htmlediting.cpp (136923 => 136924)
--- trunk/Source/WebCore/editing/htmlediting.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/editing/htmlediting.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -1099,7 +1099,7 @@
Position p(visiblePosition.deepEquivalent());
Document* document = p.anchorNode()->document();
- ShadowRoot* shadowRoot = p.anchorNode()->shadowRoot();
+ ShadowRoot* shadowRoot = p.anchorNode()->containingShadowRoot();
if (shadowRoot)
scope = shadowRoot;
Modified: trunk/Source/WebCore/html/HTMLStyleElement.cpp (136923 => 136924)
--- trunk/Source/WebCore/html/HTMLStyleElement.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/html/HTMLStyleElement.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -98,7 +98,7 @@
// As any <style> in a shadow tree is treated as "scoped",
// need to remove the <style> from its shadow root.
if (m_scopedStyleRegistrationState == RegisteredInShadowRoot)
- unregisterWithScopingNode(shadowRoot());
+ unregisterWithScopingNode(containingShadowRoot());
if (m_scopedStyleRegistrationState != RegisteredAsScoped)
registerWithScopingNode(true);
@@ -131,7 +131,7 @@
if (m_scopedStyleRegistrationState != NotRegistered)
return;
- ContainerNode* scope = scoped ? parentNode() : shadowRoot();
+ ContainerNode* scope = scoped ? parentNode() : containingShadowRoot();
if (!scope)
return;
if (!scope->isElementNode() && !scope->isShadowRoot()) {
@@ -190,9 +190,9 @@
if (m_scopedStyleRegistrationState != NotRegistered) {
ContainerNode* scope;
if (m_scopedStyleRegistrationState == RegisteredInShadowRoot) {
- scope = shadowRoot();
+ scope = containingShadowRoot();
if (!scope)
- scope = insertionPoint->shadowRoot();
+ scope = insertionPoint->containingShadowRoot();
} else
scope = parentNode() ? parentNode() : insertionPoint;
unregisterWithScopingNode(scope);
Modified: trunk/Source/WebCore/html/shadow/ContentDistributor.cpp (136923 => 136924)
--- trunk/Source/WebCore/html/shadow/ContentDistributor.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/html/shadow/ContentDistributor.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -163,7 +163,7 @@
for (size_t i = activeShadowInsertionPoints.size(); i > 0; --i) {
HTMLShadowElement* shadowElement = activeShadowInsertionPoints[i - 1];
- ShadowRoot* root = shadowElement->shadowRoot();
+ ShadowRoot* root = shadowElement->containingShadowRoot();
ASSERT(root);
if (root->olderShadowRoot()) {
distributeNodeChildrenTo(shadowElement, root->olderShadowRoot());
Modified: trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp (136923 => 136924)
--- trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/html/shadow/HTMLContentElement.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -101,7 +101,7 @@
void HTMLContentElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
if (name == selectAttr) {
- if (ShadowRoot* root = shadowRoot()) {
+ if (ShadowRoot* root = containingShadowRoot()) {
root->owner()->setShouldCollectSelectFeatureSet();
root->owner()->invalidateDistribution();
}
@@ -115,7 +115,7 @@
InsertionPoint::insertedInto(insertionPoint);
if (insertionPoint->inDocument() && isActive()) {
- ShadowRoot* root = shadowRoot();
+ ShadowRoot* root = containingShadowRoot();
root->registerContentElement();
root->owner()->setShouldCollectSelectFeatureSet();
m_registeredWithShadowRoot = true;
@@ -127,9 +127,9 @@
void HTMLContentElement::removedFrom(ContainerNode* insertionPoint)
{
if (insertionPoint->inDocument() && m_registeredWithShadowRoot) {
- ShadowRoot* root = shadowRoot();
+ ShadowRoot* root = containingShadowRoot();
if (!root)
- root = insertionPoint->shadowRoot();
+ root = insertionPoint->containingShadowRoot();
if (root)
root->unregisterContentElement();
m_registeredWithShadowRoot = false;
Modified: trunk/Source/WebCore/html/shadow/HTMLShadowElement.cpp (136923 => 136924)
--- trunk/Source/WebCore/html/shadow/HTMLShadowElement.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/html/shadow/HTMLShadowElement.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -65,7 +65,7 @@
InsertionPoint::insertedInto(insertionPoint);
if (insertionPoint->inDocument() && isActive()) {
- if (ShadowRoot* root = shadowRoot()) {
+ if (ShadowRoot* root = containingShadowRoot()) {
root->registerShadowElement();
m_registeredWithShadowRoot = true;
}
@@ -77,9 +77,9 @@
void HTMLShadowElement::removedFrom(ContainerNode* insertionPoint)
{
if (insertionPoint->inDocument() && m_registeredWithShadowRoot) {
- ShadowRoot* root = shadowRoot();
+ ShadowRoot* root = containingShadowRoot();
if (!root)
- root = insertionPoint->shadowRoot();
+ root = insertionPoint->containingShadowRoot();
if (root)
root->unregisterShadowElement();
m_registeredWithShadowRoot = false;
Modified: trunk/Source/WebCore/html/shadow/InsertionPoint.cpp (136923 => 136924)
--- trunk/Source/WebCore/html/shadow/InsertionPoint.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/html/shadow/InsertionPoint.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -49,7 +49,7 @@
void InsertionPoint::attach()
{
- if (ShadowRoot* root = shadowRoot())
+ if (ShadowRoot* root = containingShadowRoot())
root->owner()->ensureDistribution();
for (size_t i = 0; i < m_distribution.size(); ++i) {
if (!m_distribution.at(i)->attached())
@@ -61,7 +61,7 @@
void InsertionPoint::detach()
{
- if (ShadowRoot* root = shadowRoot())
+ if (ShadowRoot* root = containingShadowRoot())
root->owner()->ensureDistribution();
for (size_t i = 0; i < m_distribution.size(); ++i)
m_distribution.at(i)->detach();
@@ -81,7 +81,7 @@
bool InsertionPoint::isActive() const
{
- if (!shadowRoot())
+ if (!containingShadowRoot())
return false;
const Node* node = parentNode();
while (node) {
@@ -128,7 +128,7 @@
void InsertionPoint::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
{
HTMLElement::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
- if (ShadowRoot* root = shadowRoot())
+ if (ShadowRoot* root = containingShadowRoot())
root->owner()->invalidateDistribution();
}
@@ -136,7 +136,7 @@
{
HTMLElement::insertedInto(insertionPoint);
if (insertionPoint->inDocument()) {
- if (ShadowRoot* root = shadowRoot()) {
+ if (ShadowRoot* root = containingShadowRoot()) {
root->owner()->setValidityUndetermined();
root->owner()->invalidateDistribution();
}
@@ -148,9 +148,9 @@
void InsertionPoint::removedFrom(ContainerNode* insertionPoint)
{
if (insertionPoint->inDocument()) {
- ShadowRoot* root = shadowRoot();
+ ShadowRoot* root = containingShadowRoot();
if (!root)
- root = insertionPoint->shadowRoot();
+ root = insertionPoint->containingShadowRoot();
// host can be null when removedFrom() is called from ElementShadow destructor.
if (root && root->host())
@@ -173,7 +173,7 @@
if (value != m_shouldResetStyleInheritance) {
m_shouldResetStyleInheritance = value;
if (attached() && isActive())
- shadowRoot()->host()->setNeedsStyleRecalc();
+ containingShadowRoot()->host()->setNeedsStyleRecalc();
}
}
Modified: trunk/Source/WebCore/page/EventHandler.cpp (136923 => 136924)
--- trunk/Source/WebCore/page/EventHandler.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -2252,7 +2252,7 @@
if (!referenceNode || !referenceNode->isSVGElement())
return 0;
- ShadowRoot* shadowRoot = referenceNode->shadowRoot();
+ ShadowRoot* shadowRoot = referenceNode->containingShadowRoot();
if (!shadowRoot)
return 0;
Modified: trunk/Source/WebCore/svg/SVGElement.cpp (136923 => 136924)
--- trunk/Source/WebCore/svg/SVGElement.cpp 2012-12-07 07:02:31 UTC (rev 136923)
+++ trunk/Source/WebCore/svg/SVGElement.cpp 2012-12-07 07:20:18 UTC (rev 136924)
@@ -301,7 +301,7 @@
SVGElement* SVGElement::correspondingElement()
{
- ASSERT(!hasSVGRareData() || !svgRareData()->correspondingElement() || shadowRoot());
+ ASSERT(!hasSVGRareData() || !svgRareData()->correspondingElement() || containingShadowRoot());
return hasSVGRareData() ? svgRareData()->correspondingElement() : 0;
}
@@ -356,7 +356,7 @@
static inline void collectInstancesForSVGElement(SVGElement* element, HashSet<SVGElementInstance*>& instances)
{
ASSERT(element);
- if (element->shadowRoot())
+ if (element->containingShadowRoot())
return;
if (!element->isStyled())