summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/dom/ShadowRoot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/dom/ShadowRoot.cpp')
-rw-r--r--Source/WebCore/dom/ShadowRoot.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/WebCore/dom/ShadowRoot.cpp b/Source/WebCore/dom/ShadowRoot.cpp
index 3eba812fc..6723a0f6d 100644
--- a/Source/WebCore/dom/ShadowRoot.cpp
+++ b/Source/WebCore/dom/ShadowRoot.cpp
@@ -189,8 +189,7 @@ void ShadowRoot::setApplyAuthorStyles(bool value)
{
if (m_applyAuthorStyles != value) {
m_applyAuthorStyles = value;
- if (attached() && owner())
- owner()->setNeedsRedistributing();
+ host()->setNeedsStyleRecalc();
}
}
@@ -198,8 +197,15 @@ void ShadowRoot::attach()
{
StyleResolver* styleResolver = document()->styleResolver();
styleResolver->pushParentShadowRoot(this);
- DocumentFragment::attach();
+ attachChildrenIfNeeded();
+ attachAsNode();
styleResolver->popParentShadowRoot(this);
}
+void ShadowRoot::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
+{
+ ContainerNode::childrenChanged(changedByParser, beforeChange, afterChange, childCountDelta);
+ owner()->invalidateDistribution();
+}
+
}