| Index: third_party/WebKit/Source/core/dom/Node.h
|
| diff --git a/third_party/WebKit/Source/core/dom/Node.h b/third_party/WebKit/Source/core/dom/Node.h
|
| index 7b49709b72fed66830752e2af367ccdf69a08306..1a1012ecff552f254a0d28e9c3124ce4a61e51c4 100644
|
| --- a/third_party/WebKit/Source/core/dom/Node.h
|
| +++ b/third_party/WebKit/Source/core/dom/Node.h
|
| @@ -394,7 +394,8 @@ class CORE_EXPORT Node : public EventTarget {
|
| }
|
|
|
| bool needsAttach() const {
|
| - return getStyleChangeType() == NeedsReattachStyleChange;
|
| + return getStyleChangeType() == NeedsReattachStyleChange ||
|
| + getFlag(NeedsReattachLayoutTree);
|
| }
|
| bool needsStyleRecalc() const {
|
| return getStyleChangeType() != NoStyleChange;
|
| @@ -830,7 +831,9 @@ class CORE_EXPORT Node : public EventTarget {
|
| NeedsReattachLayoutTree = 1 << 26,
|
| ChildNeedsReattachLayoutTree = 1 << 27,
|
|
|
| - DefaultNodeFlags = IsFinishedParsingChildrenFlag | NeedsReattachStyleChange
|
| + DefaultNodeFlags = IsFinishedParsingChildrenFlag |
|
| + NeedsReattachStyleChange |
|
| + NeedsReattachLayoutTree
|
| };
|
|
|
| // 4 bits remaining.
|
| @@ -853,8 +856,9 @@ class CORE_EXPORT Node : public EventTarget {
|
| enum ConstructionType {
|
| CreateOther = DefaultNodeFlags,
|
| CreateText = DefaultNodeFlags | IsTextFlag,
|
| - CreateContainer =
|
| - DefaultNodeFlags | ChildNeedsStyleRecalcFlag | IsContainerFlag,
|
| + CreateContainer = DefaultNodeFlags | ChildNeedsStyleRecalcFlag |
|
| + ChildNeedsReattachLayoutTree |
|
| + IsContainerFlag,
|
| CreateElement = CreateContainer | IsElementFlag,
|
| CreateShadowRoot =
|
| CreateContainer | IsDocumentFragmentFlag | IsInShadowTreeFlag,
|
| @@ -978,6 +982,7 @@ inline void Node::lazyReattachIfAttached() {
|
|
|
| detachLayoutTree(context);
|
| markAncestorsWithChildNeedsStyleRecalc();
|
| + markAncestorsWithChildNeedsReattachLayoutTree();
|
| }
|
|
|
| inline bool Node::shouldCallRecalcStyle(StyleRecalcChange change) {
|
|
|