diff options
Diffstat (limited to 'Source/WebCore/dom/ShadowRoot.cpp')
-rw-r--r-- | Source/WebCore/dom/ShadowRoot.cpp | 12 |
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(); +} + } |