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

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

Issue 1774943003: blink: Rename platform/ methods to prefix with get when they collide. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clash-platform: rebase-yayyyyyyyy Created 4 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 * (C) 1999 Lars Knoll (knoll@kde.org) 2 * (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Dirk Mueller (mueller@kde.org) 3 * (C) 2000 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net)
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
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 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 ASSERT(m_text); 787 ASSERT(m_text);
788 StringImpl& text = *m_text.impl(); 788 StringImpl& text = *m_text.impl();
789 if (text[0] == spaceCharacter || (text[0] == newlineCharacter && !style()->p reserveNewline()) || text[0] == tabulationCharacter) { 789 if (text[0] == spaceCharacter || (text[0] == newlineCharacter && !style()->p reserveNewline()) || text[0] == tabulationCharacter) {
790 const Font& font = style()->font(); // FIXME: This ignores first-line. 790 const Font& font = style()->font(); // FIXME: This ignores first-line.
791 if (stripFrontSpaces) { 791 if (stripFrontSpaces) {
792 const UChar spaceChar = spaceCharacter; 792 const UChar spaceChar = spaceCharacter;
793 TextRun run = constructTextRun(font, &spaceChar, 1, styleRef(), dire ction); 793 TextRun run = constructTextRun(font, &spaceChar, 1, styleRef(), dire ction);
794 float spaceWidth = font.width(run); 794 float spaceWidth = font.width(run);
795 floatMaxWidth -= spaceWidth; 795 floatMaxWidth -= spaceWidth;
796 } else { 796 } else {
797 floatMaxWidth += font.fontDescription().wordSpacing(); 797 floatMaxWidth += font.getFontDescription().wordSpacing();
798 } 798 }
799 } 799 }
800 800
801 stripFrontSpaces = collapseWhiteSpace && m_hasEndWhiteSpace; 801 stripFrontSpaces = collapseWhiteSpace && m_hasEndWhiteSpace;
802 802
803 if (!style()->autoWrap() || floatMinWidth > floatMaxWidth) 803 if (!style()->autoWrap() || floatMinWidth > floatMaxWidth)
804 floatMinWidth = floatMaxWidth; 804 floatMinWidth = floatMaxWidth;
805 805
806 // Compute our max widths by scanning the string for newlines. 806 // Compute our max widths by scanning the string for newlines.
807 if (hasBreak) { 807 if (hasBreak) {
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 // Terminate word boundary at bidi run boundary. 999 // Terminate word boundary at bidi run boundary.
1000 if (run) 1000 if (run)
1001 j = std::min(j, run->stop() + 1); 1001 j = std::min(j, run->stop() + 1);
1002 int wordLen = j - i; 1002 int wordLen = j - i;
1003 if (wordLen) { 1003 if (wordLen) {
1004 bool isSpace = (j < len) && c == spaceCharacter; 1004 bool isSpace = (j < len) && c == spaceCharacter;
1005 1005
1006 // Non-zero only when kerning is enabled, in which case we measure w ords with their trailing 1006 // Non-zero only when kerning is enabled, in which case we measure w ords with their trailing
1007 // space, then subtract its width. 1007 // space, then subtract its width.
1008 float wordTrailingSpaceWidth = 0; 1008 float wordTrailingSpaceWidth = 0;
1009 if (isSpace && (f.fontDescription().getTypesettingFeatures() & Kerni ng)) { 1009 if (isSpace && (f.getFontDescription().getTypesettingFeatures() & Ke rning)) {
1010 ASSERT(textDirection >=0 && textDirection <= 1); 1010 ASSERT(textDirection >=0 && textDirection <= 1);
1011 if (!cachedWordTrailingSpaceWidth[textDirection]) 1011 if (!cachedWordTrailingSpaceWidth[textDirection])
1012 cachedWordTrailingSpaceWidth[textDirection] = f.width(constr uctTextRun(f, &spaceCharacter, 1, styleToUse, textDirection)) + wordSpacing; 1012 cachedWordTrailingSpaceWidth[textDirection] = f.width(constr uctTextRun(f, &spaceCharacter, 1, styleToUse, textDirection)) + wordSpacing;
1013 wordTrailingSpaceWidth = cachedWordTrailingSpaceWidth[textDirect ion]; 1013 wordTrailingSpaceWidth = cachedWordTrailingSpaceWidth[textDirect ion];
1014 } 1014 }
1015 1015
1016 float w; 1016 float w;
1017 if (wordTrailingSpaceWidth && isSpace) { 1017 if (wordTrailingSpaceWidth && isSpace) {
1018 w = widthFromFont(f, i, wordLen + 1, leadWidth, currMaxWidth, te xtDirection, &fallbackFonts, &glyphBounds) - wordTrailingSpaceWidth; 1018 w = widthFromFont(f, i, wordLen + 1, leadWidth, currMaxWidth, te xtDirection, &fallbackFonts, &glyphBounds) - wordTrailingSpaceWidth;
1019 } else { 1019 } else {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1103 if (!styleToUse.autoWrap()) 1103 if (!styleToUse.autoWrap())
1104 m_minWidth = m_maxWidth; 1104 m_minWidth = m_maxWidth;
1105 1105
1106 if (styleToUse.whiteSpace() == PRE) { 1106 if (styleToUse.whiteSpace() == PRE) {
1107 if (firstLine) 1107 if (firstLine)
1108 m_firstLineMinWidth = m_maxWidth; 1108 m_firstLineMinWidth = m_maxWidth;
1109 m_lastLineLineMinWidth = currMaxWidth; 1109 m_lastLineLineMinWidth = currMaxWidth;
1110 } 1110 }
1111 1111
1112 GlyphOverflow glyphOverflow; 1112 GlyphOverflow glyphOverflow;
1113 glyphOverflow.setFromBounds(glyphBounds, f.fontMetrics().floatAscent(), f.fo ntMetrics().floatDescent(), m_maxWidth); 1113 glyphOverflow.setFromBounds(glyphBounds, f.getFontMetrics().floatAscent(), f .getFontMetrics().floatDescent(), m_maxWidth);
1114 // We shouldn't change our mind once we "know". 1114 // We shouldn't change our mind once we "know".
1115 ASSERT(!m_knownToHaveNoOverflowAndNoFallbackFonts || (fallbackFonts.isEmpty( ) && glyphOverflow.isApproximatelyZero())); 1115 ASSERT(!m_knownToHaveNoOverflowAndNoFallbackFonts || (fallbackFonts.isEmpty( ) && glyphOverflow.isApproximatelyZero()));
1116 m_knownToHaveNoOverflowAndNoFallbackFonts = fallbackFonts.isEmpty() && glyph Overflow.isApproximatelyZero(); 1116 m_knownToHaveNoOverflowAndNoFallbackFonts = fallbackFonts.isEmpty() && glyph Overflow.isApproximatelyZero();
1117 1117
1118 clearPreferredLogicalWidthsDirty(); 1118 clearPreferredLogicalWidthsDirty();
1119 } 1119 }
1120 1120
1121 bool LayoutText::isAllCollapsibleWhitespace() const 1121 bool LayoutText::isAllCollapsibleWhitespace() const
1122 { 1122 {
1123 unsigned length = textLength(); 1123 unsigned length = textLength();
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
1493 return 0; 1493 return 0;
1494 1494
1495 float w; 1495 float w;
1496 if (&f == &style()->font()) { 1496 if (&f == &style()->font()) {
1497 if (!style()->preserveNewline() && !from && len == textLength()) { 1497 if (!style()->preserveNewline() && !from && len == textLength()) {
1498 if (fallbackFonts) { 1498 if (fallbackFonts) {
1499 ASSERT(glyphBounds); 1499 ASSERT(glyphBounds);
1500 if (preferredLogicalWidthsDirty() || !m_knownToHaveNoOverflowAnd NoFallbackFonts) 1500 if (preferredLogicalWidthsDirty() || !m_knownToHaveNoOverflowAnd NoFallbackFonts)
1501 const_cast<LayoutText*>(this)->computePreferredLogicalWidths (0, *fallbackFonts, *glyphBounds); 1501 const_cast<LayoutText*>(this)->computePreferredLogicalWidths (0, *fallbackFonts, *glyphBounds);
1502 else 1502 else
1503 *glyphBounds = FloatRect(0, -f.fontMetrics().floatAscent(), m_maxWidth, f.fontMetrics().floatHeight()); 1503 *glyphBounds = FloatRect(0, -f.getFontMetrics().floatAscent( ), m_maxWidth, f.getFontMetrics().floatHeight());
1504 w = m_maxWidth; 1504 w = m_maxWidth;
1505 } else { 1505 } else {
1506 w = maxLogicalWidth(); 1506 w = maxLogicalWidth();
1507 } 1507 }
1508 } else { 1508 } else {
1509 w = widthFromFont(f, from, len, xPos.toFloat(), 0, textDirection, fa llbackFonts, glyphBounds); 1509 w = widthFromFont(f, from, len, xPos.toFloat(), 0, textDirection, fa llbackFonts, glyphBounds);
1510 } 1510 }
1511 } else { 1511 } else {
1512 TextRun run = constructTextRun(f, this, from, len, styleRef(), textDirec tion); 1512 TextRun run = constructTextRun(f, this, from, len, styleRef(), textDirec tion);
1513 run.setCharactersLength(textLength() - from); 1513 run.setCharactersLength(textLength() - from);
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
1751 for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) { 1751 for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) {
1752 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*box, in validationReason); 1752 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*box, in validationReason);
1753 if (box->truncation() != cNoTruncation) { 1753 if (box->truncation() != cNoTruncation) {
1754 if (EllipsisBox* ellipsisBox = box->root().ellipsisBox()) 1754 if (EllipsisBox* ellipsisBox = box->root().ellipsisBox())
1755 paintInvalidationContainer.invalidateDisplayItemClientOnBacking( *ellipsisBox, invalidationReason); 1755 paintInvalidationContainer.invalidateDisplayItemClientOnBacking( *ellipsisBox, invalidationReason);
1756 } 1756 }
1757 } 1757 }
1758 } 1758 }
1759 1759
1760 } // namespace blink 1760 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698