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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp

Issue 2816873002: Update PaintLayer size during layout, not after.
Patch Set: Speculatively remove call to UpdateScrollbars() Created 3 years, 7 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
7 * Copyright (C) 2010 Google Inc. All rights reserved. 7 * Copyright (C) 2010 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 Parent()->SetNeedsLayout(LayoutInvalidationReason::kChildChanged, 324 Parent()->SetNeedsLayout(LayoutInvalidationReason::kChildChanged,
325 kMarkContainerChain); 325 kMarkContainerChain);
326 326
327 PaintLayerType type = LayerTypeRequired(); 327 PaintLayerType type = LayerTypeRequired();
328 if (type != kNoPaintLayer) { 328 if (type != kNoPaintLayer) {
329 if (!Layer() && LayerCreationAllowedForSubtree()) { 329 if (!Layer() && LayerCreationAllowedForSubtree()) {
330 if (was_floating_before_style_changed && IsFloating()) 330 if (was_floating_before_style_changed && IsFloating())
331 SetChildNeedsLayout(); 331 SetChildNeedsLayout();
332 CreateLayerAfterStyleChange(); 332 CreateLayerAfterStyleChange();
333 if (Parent() && !NeedsLayout()) { 333 if (Parent() && !NeedsLayout()) {
334 // FIXME: We should call a specialized version of this function. 334 // FIXME: We should call specialized versions of these functions.
335 Layer()->UpdateSizeAndScrollingAfterLayout();
335 Layer()->UpdateLayerPositionsAfterLayout(); 336 Layer()->UpdateLayerPositionsAfterLayout();
336 } 337 }
337 } 338 }
338 } else if (Layer() && Layer()->Parent()) { 339 } else if (Layer() && Layer()->Parent()) {
339 PaintLayer* parent_layer = Layer()->Parent(); 340 PaintLayer* parent_layer = Layer()->Parent();
340 // Either a transform wasn't specified or the object doesn't support 341 // Either a transform wasn't specified or the object doesn't support
341 // transforms, so just null out the bit. 342 // transforms, so just null out the bit.
342 SetHasTransformRelatedProperty(false); 343 SetHasTransformRelatedProperty(false);
343 SetHasReflection(false); 344 SetHasReflection(false);
344 Layer()->UpdateFilters(old_style, StyleRef()); 345 Layer()->UpdateFilters(old_style, StyleRef());
(...skipping 1136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 if (root_element_style->HasBackground()) 1482 if (root_element_style->HasBackground())
1482 return false; 1483 return false;
1483 1484
1484 if (GetNode() != GetDocument().FirstBodyElement()) 1485 if (GetNode() != GetDocument().FirstBodyElement())
1485 return false; 1486 return false;
1486 1487
1487 return true; 1488 return true;
1488 } 1489 }
1489 1490
1490 } // namespace blink 1491 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698