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

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

Issue 2382733002: Introduce markChildForPaginationRelayoutIfNeeded(). (Closed)
Patch Set: Created 4 years, 2 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, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. 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 4035 matching lines...) Expand 10 before | Expand all | Expand 10 after
4046 { 4046 {
4047 if (PaintLayerScrollableArea* scrollableArea = this->getScrollableArea()) { 4047 if (PaintLayerScrollableArea* scrollableArea = this->getScrollableArea()) {
4048 if (scrollableArea->hasHorizontalScrollbar() && !scrollableArea->layerFo rHorizontalScrollbar()) 4048 if (scrollableArea->hasHorizontalScrollbar() && !scrollableArea->layerFo rHorizontalScrollbar())
4049 return true; 4049 return true;
4050 if (scrollableArea->hasVerticalScrollbar() && !scrollableArea->layerForV erticalScrollbar()) 4050 if (scrollableArea->hasVerticalScrollbar() && !scrollableArea->layerForV erticalScrollbar())
4051 return true; 4051 return true;
4052 } 4052 }
4053 return false; 4053 return false;
4054 } 4054 }
4055 4055
4056 void LayoutBox::markForPaginationRelayoutIfNeeded(SubtreeLayoutScope& layoutScop e) 4056 void LayoutBox::markChildForPaginationRelayoutIfNeeded(LayoutBox& child, Subtree LayoutScope& layoutScope)
4057 { 4057 {
4058 ASSERT(!needsLayout()); 4058 DCHECK(!child.needsLayout());
4059 // If fragmentation height has changed, we need to lay out. No need to enter the layoutObject if it 4059 LayoutState* layoutState = view()->layoutState();
4060 // is childless, though. 4060 if (!layoutState->isPaginated())
4061 if (view()->layoutState()->pageLogicalHeightChanged() && slowFirstChild()) 4061 return;
4062 layoutScope.setChildNeedsLayout(this); 4062
4063 if (layoutState->pageLogicalHeightChanged() || (layoutState->pageLogicalHeig ht() && layoutState->pageLogicalOffset(child, child.logicalTop()) != child.pageL ogicalOffset()))
4064 layoutScope.setChildNeedsLayout(&child);
4063 } 4065 }
4064 4066
4065 void LayoutBox::markOrthogonalWritingModeRoot() 4067 void LayoutBox::markOrthogonalWritingModeRoot()
4066 { 4068 {
4067 ASSERT(frameView()); 4069 ASSERT(frameView());
4068 frameView()->addOrthogonalWritingModeRoot(*this); 4070 frameView()->addOrthogonalWritingModeRoot(*this);
4069 } 4071 }
4070 4072
4071 void LayoutBox::unmarkOrthogonalWritingModeRoot() 4073 void LayoutBox::unmarkOrthogonalWritingModeRoot()
4072 { 4074 {
(...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after
4879 LayoutRect rect = frameRect(); 4881 LayoutRect rect = frameRect();
4880 4882
4881 LayoutBlock* block = containingBlock(); 4883 LayoutBlock* block = containingBlock();
4882 if (block) 4884 if (block)
4883 block->adjustChildDebugRect(rect); 4885 block->adjustChildDebugRect(rect);
4884 4886
4885 return rect; 4887 return rect;
4886 } 4888 }
4887 4889
4888 } // namespace blink 4890 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698