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

Side by Side Diff: third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h

Issue 2725933002: Fix LayoutUnit snapping of widths in line breaker (Closed)
Patch Set: Add test cases for m_uncommittedWidth and !m_uncommittedWidth Created 3 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. 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
4 * All right reserved. 4 * All right reserved.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
6 * Copyright (C) 2013 Adobe Systems Incorporated. 6 * Copyright (C) 2013 Adobe Systems Incorporated.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 if (m_collapseWhiteSpace && !ComputedStyle::collapseWhiteSpace(m_lastWS)) 375 if (m_collapseWhiteSpace && !ComputedStyle::collapseWhiteSpace(m_lastWS))
376 m_currentCharacterIsSpace = false; 376 m_currentCharacterIsSpace = false;
377 } 377 }
378 378
379 inline void BreakingContext::increment() { 379 inline void BreakingContext::increment() {
380 m_current.moveToStartOf(m_nextObject); 380 m_current.moveToStartOf(m_nextObject);
381 381
382 // When the line box tree is created, this position in the line will be 382 // When the line box tree is created, this position in the line will be
383 // snapped to LayoutUnit's, and those measurements will be used by the paint 383 // snapped to LayoutUnit's, and those measurements will be used by the paint
384 // code. Do the equivalent snapping here, to get consistent line measurements. 384 // code. Do the equivalent snapping here, to get consistent line measurements.
385 m_width.snapUncommittedWidth(); 385 m_width.snapAtNodeBoundary();
386 386
387 m_atStart = false; 387 m_atStart = false;
388 } 388 }
389 389
390 inline void BreakingContext::handleBR(EClear& clear) { 390 inline void BreakingContext::handleBR(EClear& clear) {
391 if (m_width.fitsOnLine()) { 391 if (m_width.fitsOnLine()) {
392 LineLayoutItem br = m_current.getLineLayoutItem(); 392 LineLayoutItem br = m_current.getLineLayoutItem();
393 m_lineBreak.moveToStartOf(br); 393 m_lineBreak.moveToStartOf(br);
394 m_lineBreak.increment(); 394 m_lineBreak.increment();
395 395
(...skipping 1149 matching lines...) Expand 10 before | Expand all | Expand 10 after
1545 1545
1546 if (style.getTextIndentType() == TextIndentHanging) 1546 if (style.getTextIndentType() == TextIndentHanging)
1547 indentText = indentText == IndentText ? DoNotIndentText : IndentText; 1547 indentText = indentText == IndentText ? DoNotIndentText : IndentText;
1548 1548
1549 return indentText; 1549 return indentText;
1550 } 1550 }
1551 1551
1552 } // namespace blink 1552 } // namespace blink
1553 1553
1554 #endif // BreakingContextInlineHeaders_h 1554 #endif // BreakingContextInlineHeaders_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698