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

Side by Side Diff: Source/core/rendering/RenderBlockLineLayout.cpp

Issue 18601002: Add infrastructure for partial layouts (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address reviewer comments. Add PartialLayoutState and PartialLayoutDisabler Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved. 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved.
4 * Copyright (C) 2010 Google Inc. All rights reserved. 4 * Copyright (C) 2010 Google Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 2150 matching lines...) Expand 10 before | Expand all | Expand 10 after
2161 } else if (o->isText() || (o->isRenderInline() && !walker.atEndOfInl ine())) { 2161 } else if (o->isText() || (o->isRenderInline() && !walker.atEndOfInl ine())) {
2162 if (!o->isText()) 2162 if (!o->isText())
2163 toRenderInline(o)->updateAlwaysCreateLineBoxes(layoutState.i sFullLayout()); 2163 toRenderInline(o)->updateAlwaysCreateLineBoxes(layoutState.i sFullLayout());
2164 if (layoutState.isFullLayout() || o->selfNeedsLayout()) 2164 if (layoutState.isFullLayout() || o->selfNeedsLayout())
2165 dirtyLineBoxesForRenderer(o, layoutState.isFullLayout()); 2165 dirtyLineBoxesForRenderer(o, layoutState.isFullLayout());
2166 o->clearNeedsLayout(); 2166 o->clearNeedsLayout();
2167 } 2167 }
2168 } 2168 }
2169 2169
2170 for (size_t i = 0; i < replacedChildren.size(); i++) 2170 for (size_t i = 0; i < replacedChildren.size(); i++)
2171 replacedChildren[i]->layoutIfNeeded(); 2171 replacedChildren[i]->layoutIfNeeded();
2172 2172
2173 layoutRunsAndFloats(layoutState, hasInlineChild); 2173 layoutRunsAndFloats(layoutState, hasInlineChild);
2174 } 2174 }
2175 2175
2176 // Expand the last line to accommodate Ruby and emphasis marks. 2176 // Expand the last line to accommodate Ruby and emphasis marks.
2177 int lastLineAnnotationsAdjustment = 0; 2177 int lastLineAnnotationsAdjustment = 0;
2178 if (lastRootBox()) { 2178 if (lastRootBox()) {
2179 LayoutUnit lowestAllowedPosition = max(lastRootBox()->lineBottom(), logi calHeight() + paddingAfter()); 2179 LayoutUnit lowestAllowedPosition = max(lastRootBox()->lineBottom(), logi calHeight() + paddingAfter());
2180 if (!style()->isFlippedLinesWritingMode()) 2180 if (!style()->isFlippedLinesWritingMode())
2181 lastLineAnnotationsAdjustment = lastRootBox()->computeUnderAnnotatio nAdjustment(lowestAllowedPosition); 2181 lastLineAnnotationsAdjustment = lastRootBox()->computeUnderAnnotatio nAdjustment(lowestAllowedPosition);
(...skipping 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after
3529 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache); 3529 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache);
3530 3530
3531 setLineGridBox(lineGridBox); 3531 setLineGridBox(lineGridBox);
3532 3532
3533 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying 3533 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying
3534 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping 3534 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping
3535 // to this grid. 3535 // to this grid.
3536 } 3536 }
3537 3537
3538 } 3538 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698