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

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

Issue 2699393002: Place ellipsis correctly inside inline-blocks (Closed)
Patch Set: Created 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 LayoutRect ellipsisRect(ltr ? blockEdge - ellipsisWidth : blockEdge, 317 LayoutRect ellipsisRect(ltr ? blockEdge - ellipsisWidth : blockEdge,
318 LayoutUnit(), ellipsisWidth, LayoutUnit(10)); 318 LayoutUnit(), ellipsisWidth, LayoutUnit(10));
319 return !(boxRect.intersects(ellipsisRect)); 319 return !(boxRect.intersects(ellipsisRect));
320 } 320 }
321 321
322 LayoutUnit InlineBox::placeEllipsisBox(bool, 322 LayoutUnit InlineBox::placeEllipsisBox(bool,
323 LayoutUnit, 323 LayoutUnit,
324 LayoutUnit, 324 LayoutUnit,
325 LayoutUnit, 325 LayoutUnit,
326 LayoutUnit& truncatedWidth, 326 LayoutUnit& truncatedWidth,
327 bool&) { 327 bool&,
328 LayoutUnit) {
328 // Use -1 to mean "we didn't set the position." 329 // Use -1 to mean "we didn't set the position."
329 truncatedWidth += logicalWidth(); 330 truncatedWidth += logicalWidth();
330 return LayoutUnit(-1); 331 return LayoutUnit(-1);
331 } 332 }
332 333
333 void InlineBox::clearKnownToHaveNoOverflow() { 334 void InlineBox::clearKnownToHaveNoOverflow() {
334 m_bitfields.setKnownToHaveNoOverflow(false); 335 m_bitfields.setKnownToHaveNoOverflow(false);
335 if (parent() && parent()->knownToHaveNoOverflow()) 336 if (parent() && parent()->knownToHaveNoOverflow())
336 parent()->clearKnownToHaveNoOverflow(); 337 parent()->clearKnownToHaveNoOverflow();
337 } 338 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 } 401 }
401 402
402 void showLineTree(const blink::InlineBox* b) { 403 void showLineTree(const blink::InlineBox* b) {
403 if (b) 404 if (b)
404 b->showLineTreeForThis(); 405 b->showLineTreeForThis();
405 else 406 else
406 fprintf(stderr, "Cannot showLineTree for (nil) InlineBox.\n"); 407 fprintf(stderr, "Cannot showLineTree for (nil) InlineBox.\n");
407 } 408 }
408 409
409 #endif 410 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698