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

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

Issue 16402019: Remove clips where we can show that they are unnecessary. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: add TestExpectations for layout test changes due to crbug.com/249478 Created 7 years, 6 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 3174 matching lines...) Expand 10 before | Expand all | Expand 10 after
3185 } 3185 }
3186 3186
3187 void RenderBlock::addOverflowFromInlineChildren() 3187 void RenderBlock::addOverflowFromInlineChildren()
3188 { 3188 {
3189 LayoutUnit endPadding = hasOverflowClip() ? paddingEnd() : LayoutUnit(); 3189 LayoutUnit endPadding = hasOverflowClip() ? paddingEnd() : LayoutUnit();
3190 // FIXME: Need to find another way to do this, since scrollbars could show w hen we don't want them to. 3190 // FIXME: Need to find another way to do this, since scrollbars could show w hen we don't want them to.
3191 if (hasOverflowClip() && !endPadding && node() && node()->isRootEditableElem ent() && style()->isLeftToRightDirection()) 3191 if (hasOverflowClip() && !endPadding && node() && node()->isRootEditableElem ent() && style()->isLeftToRightDirection())
3192 endPadding = 1; 3192 endPadding = 1;
3193 for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) { 3193 for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) {
3194 addLayoutOverflow(curr->paddedLayoutOverflowRect(endPadding)); 3194 addLayoutOverflow(curr->paddedLayoutOverflowRect(endPadding));
3195 if (!hasOverflowClip()) 3195 LayoutRect visualOverflowRect = curr->visualOverflowRect(curr->lineTop() , curr->lineBottom());
3196 addVisualOverflow(curr->visualOverflowRect(curr->lineTop(), curr->li neBottom())); 3196 addVisualOverflow(visualOverflowRect, VisualOverflowClippedByContentsCli p);
3197 } 3197 }
3198 } 3198 }
3199 3199
3200 void RenderBlock::deleteEllipsisLineBoxes() 3200 void RenderBlock::deleteEllipsisLineBoxes()
3201 { 3201 {
3202 ETextAlign textAlign = style()->textAlign(); 3202 ETextAlign textAlign = style()->textAlign();
3203 bool ltr = style()->isLeftToRightDirection(); 3203 bool ltr = style()->isLeftToRightDirection();
3204 bool firstLine = true; 3204 bool firstLine = true;
3205 for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) { 3205 for (RootInlineBox* curr = firstRootBox(); curr; curr = curr->nextRootBox()) {
3206 if (curr->hasEllipsisBox()) { 3206 if (curr->hasEllipsisBox()) {
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
3356 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache); 3356 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver ticalPositionCache);
3357 3357
3358 setLineGridBox(lineGridBox); 3358 setLineGridBox(lineGridBox);
3359 3359
3360 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying 3360 // FIXME: If any of the characteristics of the box change compared to the ol d one, then we need to do a deep dirtying
3361 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping 3361 // (similar to what happens when the page height changes). Ideally, though, we only do this if someone is actually snapping
3362 // to this grid. 3362 // to this grid.
3363 } 3363 }
3364 3364
3365 } 3365 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698