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

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

Issue 12084093: Merge 141009 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1652 matching lines...) Expand 10 before | Expand all | Expand 10 after
1663 // Count from the end of the block backwards, to see how many hanging 1663 // Count from the end of the block backwards, to see how many hanging
1664 // lines we have. 1664 // lines we have.
1665 RootInlineBox* firstLineInBlock = firstRootBox(); 1665 RootInlineBox* firstLineInBlock = firstRootBox();
1666 int numLinesHanging = 1; 1666 int numLinesHanging = 1;
1667 while (lineBox && lineBox != firstLineInBlock && !lineBox->isFirstAfterP ageBreak()) { 1667 while (lineBox && lineBox != firstLineInBlock && !lineBox->isFirstAfterP ageBreak()) {
1668 ++numLinesHanging; 1668 ++numLinesHanging;
1669 lineBox = lineBox->prevRootBox(); 1669 lineBox = lineBox->prevRootBox();
1670 } 1670 }
1671 1671
1672 // If there were no breaks in the block, we didn't create any widows. 1672 // If there were no breaks in the block, we didn't create any widows.
1673 if (!lineBox->isFirstAfterPageBreak() || lineBox == firstLineInBlock) 1673 if (!lineBox || !lineBox->isFirstAfterPageBreak() || lineBox == firstLin eInBlock)
1674 return; 1674 return;
1675 1675
1676 if (numLinesHanging < style()->widows()) { 1676 if (numLinesHanging < style()->widows()) {
1677 // We have detected a widow. Now we need to work out how many 1677 // We have detected a widow. Now we need to work out how many
1678 // lines there are on the previous page, and how many we need 1678 // lines there are on the previous page, and how many we need
1679 // to steal. 1679 // to steal.
1680 int numLinesNeeded = style()->widows() - numLinesHanging; 1680 int numLinesNeeded = style()->widows() - numLinesHanging;
1681 RootInlineBox* currentFirstLineOfNewPage = lineBox; 1681 RootInlineBox* currentFirstLineOfNewPage = lineBox;
1682 1682
1683 // Count the number of lines in the previous page. 1683 // Count the number of lines in the previous page.
(...skipping 1624 matching lines...) Expand 10 before | Expand all | Expand 10 after
3308 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache); 3308 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache);
3309 3309
3310 setLineGridBox(lineGridBox); 3310 setLineGridBox(lineGridBox);
3311 3311
3312 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying 3312 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying
3313 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping 3313 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping
3314 // to this grid. 3314 // to this grid.
3315 } 3315 }
3316 3316
3317 } 3317 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698