Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Side by Side Diff: third_party/WebKit/Source/core/dom/shadow/ShadowRoot.cpp

Issue 2473743003: Call Element::rebuildLayoutTree from Document::updateStyle directly (Closed)
Patch Set: Make needsAttach() only check if getStyleChangeType flag is NeedsReattachStyleChange and add a Layo… Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Neither the name of Google Inc. nor the names of its 10 * * Neither the name of Google Inc. nor the names of its
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 // ShadowRoot doesn't support custom callbacks. 140 // ShadowRoot doesn't support custom callbacks.
141 DCHECK(!hasCustomStyleCallbacks()); 141 DCHECK(!hasCustomStyleCallbacks());
142 142
143 StyleSharingDepthScope sharingScope(*this); 143 StyleSharingDepthScope sharingScope(*this);
144 144
145 if (getStyleChangeType() >= SubtreeStyleChange) 145 if (getStyleChangeType() >= SubtreeStyleChange)
146 change = Force; 146 change = Force;
147 147
148 // There's no style to update so just calling recalcStyle means we're updated. 148 // There's no style to update so just calling recalcStyle means we're updated.
149 clearNeedsStyleRecalc(); 149 clearNeedsStyleRecalc();
150 clearNeedsReattachLayoutTree();
151 150
152 recalcDescendantStyles(change); 151 recalcDescendantStyles(change);
153 clearChildNeedsStyleRecalc(); 152 clearChildNeedsStyleRecalc();
153 }
154
155 void ShadowRoot::rebuildLayoutTree() {
156 // ShadowRoot doesn't support custom callbacks.
157 DCHECK(!hasCustomStyleCallbacks());
158
159 StyleSharingDepthScope sharingScope(*this);
160
161 clearNeedsReattachLayoutTree();
162 rebuildChildrenLayoutTrees();
154 clearChildNeedsReattachLayoutTree(); 163 clearChildNeedsReattachLayoutTree();
155 } 164 }
156 165
157 void ShadowRoot::attachLayoutTree(const AttachContext& context) { 166 void ShadowRoot::attachLayoutTree(const AttachContext& context) {
158 StyleSharingDepthScope sharingScope(*this); 167 StyleSharingDepthScope sharingScope(*this);
159 DocumentFragment::attachLayoutTree(context); 168 DocumentFragment::attachLayoutTree(context);
160 } 169 }
161 170
162 void ShadowRoot::detachLayoutTree(const AttachContext& context) { 171 void ShadowRoot::detachLayoutTree(const AttachContext& context) {
163 if (context.clearInvalidation) 172 if (context.clearInvalidation)
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 ostream << "ShadowRootType::Open"; 343 ostream << "ShadowRootType::Open";
335 break; 344 break;
336 case ShadowRootType::Closed: 345 case ShadowRootType::Closed:
337 ostream << "ShadowRootType::Closed"; 346 ostream << "ShadowRootType::Closed";
338 break; 347 break;
339 } 348 }
340 return ostream; 349 return ostream;
341 } 350 }
342 351
343 } // namespace blink 352 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/shadow/ShadowRoot.h ('k') | third_party/WebKit/Source/core/dom/stylerecalc.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698