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

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

Issue 182413005: Return refererence from InlineBox::root() (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: re-upload because previous patch didn't upload correctly. Created 6 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) 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 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 } 286 }
287 } 287 }
288 288
289 // We should have a root inline box. It should be unconstructed and 289 // We should have a root inline box. It should be unconstructed and
290 // be the last continuation of our line list. 290 // be the last continuation of our line list.
291 ASSERT(lastLineBox() && !lastLineBox()->isConstructed()); 291 ASSERT(lastLineBox() && !lastLineBox()->isConstructed());
292 292
293 // Set the m_selectedChildren flag on the root inline box if one of the leaf inline box 293 // Set the m_selectedChildren flag on the root inline box if one of the leaf inline box
294 // from the bidi runs walk above has a selection state. 294 // from the bidi runs walk above has a selection state.
295 if (rootHasSelectedChildren) 295 if (rootHasSelectedChildren)
296 lastLineBox()->root()->setHasSelectedChildren(true); 296 lastLineBox()->root().setHasSelectedChildren(true);
297 297
298 // Set bits on our inline flow boxes that indicate which sides should 298 // Set bits on our inline flow boxes that indicate which sides should
299 // paint borders/margins/padding. This knowledge will ultimately be used wh en 299 // paint borders/margins/padding. This knowledge will ultimately be used wh en
300 // we determine the horizontal positions and widths of all the inline boxes on 300 // we determine the horizontal positions and widths of all the inline boxes on
301 // the line. 301 // the line.
302 bool isLogicallyLastRunWrapped = bidiRuns.logicallyLastRun()->m_object && bi diRuns.logicallyLastRun()->m_object->isText() ? !reachedEndOfTextRenderer(bidiRu ns) : true; 302 bool isLogicallyLastRunWrapped = bidiRuns.logicallyLastRun()->m_object && bi diRuns.logicallyLastRun()->m_object->isText() ? !reachedEndOfTextRenderer(bidiRu ns) : true;
303 lastLineBox()->determineSpacingForFlowBoxes(lineInfo.isLastLine(), isLogical lyLastRunWrapped, bidiRuns.logicallyLastRun()->m_object); 303 lastLineBox()->determineSpacingForFlowBoxes(lineInfo.isLastLine(), isLogical lyLastRunWrapped, bidiRuns.logicallyLastRun()->m_object);
304 304
305 // Now mark the line boxes as being constructed. 305 // Now mark the line boxes as being constructed.
306 lastLineBox()->setConstructed(); 306 lastLineBox()->setConstructed();
(...skipping 2127 matching lines...) Expand 10 before | Expand all | Expand 10 after
2434 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false); 2434 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false);
2435 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal se) - logicalLeft; 2435 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal se) - logicalLeft;
2436 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid th, availableLogicalWidth, 0); 2436 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid th, availableLogicalWidth, 0);
2437 2437
2438 if (!style()->isLeftToRightDirection()) 2438 if (!style()->isLeftToRightDirection())
2439 return logicalWidth() - logicalLeft; 2439 return logicalWidth() - logicalLeft;
2440 return logicalLeft; 2440 return logicalLeft;
2441 } 2441 }
2442 2442
2443 } 2443 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698