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

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

Issue 2614883007: Change computed style enums to be prefixed with 'k'. (Closed)
Patch Set: Rebase on ToT. Created 3 years, 11 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 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 // of a text run, since we already did this for the parent of the text run. 197 // of a text run, since we already did this for the parent of the text run.
198 // We do have to schedule layouts, though, since a style change can force us 198 // We do have to schedule layouts, though, since a style change can force us
199 // to need to relayout. 199 // to need to relayout.
200 if (diff.needsFullLayout()) { 200 if (diff.needsFullLayout()) {
201 setNeedsLayoutAndPrefWidthsRecalc(LayoutInvalidationReason::StyleChange); 201 setNeedsLayoutAndPrefWidthsRecalc(LayoutInvalidationReason::StyleChange);
202 m_knownToHaveNoOverflowAndNoFallbackFonts = false; 202 m_knownToHaveNoOverflowAndNoFallbackFonts = false;
203 } 203 }
204 204
205 const ComputedStyle& newStyle = styleRef(); 205 const ComputedStyle& newStyle = styleRef();
206 ETextTransform oldTransform = 206 ETextTransform oldTransform =
207 oldStyle ? oldStyle->textTransform() : ETextTransform::None; 207 oldStyle ? oldStyle->textTransform() : ETextTransform::kNone;
208 ETextSecurity oldSecurity = oldStyle ? oldStyle->textSecurity() : TSNONE; 208 ETextSecurity oldSecurity = oldStyle ? oldStyle->textSecurity() : TSNONE;
209 if (oldTransform != newStyle.textTransform() || 209 if (oldTransform != newStyle.textTransform() ||
210 oldSecurity != newStyle.textSecurity()) 210 oldSecurity != newStyle.textSecurity())
211 transformText(); 211 transformText();
212 212
213 // This is an optimization that kicks off font load before layout. 213 // This is an optimization that kicks off font load before layout.
214 if (!text().containsOnlyWhitespace()) 214 if (!text().containsOnlyWhitespace())
215 newStyle.font().willUseFontData(text()); 215 newStyle.font().willUseFontData(text());
216 216
217 TextAutosizer* textAutosizer = document().textAutosizer(); 217 TextAutosizer* textAutosizer = document().textAutosizer();
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 LayoutBlock* cb = containingBlock(); 767 LayoutBlock* cb = containingBlock();
768 const ComputedStyle& cbStyle = cb->styleRef(); 768 const ComputedStyle& cbStyle = cb->styleRef();
769 769
770 LayoutUnit leftEdge; 770 LayoutUnit leftEdge;
771 LayoutUnit rightEdge; 771 LayoutUnit rightEdge;
772 leftEdge = std::min(LayoutUnit(), rootLeft); 772 leftEdge = std::min(LayoutUnit(), rootLeft);
773 rightEdge = std::max(cb->logicalWidth(), rootRight); 773 rightEdge = std::max(cb->logicalWidth(), rootRight);
774 774
775 bool rightAligned = false; 775 bool rightAligned = false;
776 switch (cbStyle.textAlign()) { 776 switch (cbStyle.textAlign()) {
777 case ETextAlign::Right: 777 case ETextAlign::kRight:
778 case ETextAlign::WebkitRight: 778 case ETextAlign::kWebkitRight:
779 rightAligned = true; 779 rightAligned = true;
780 break; 780 break;
781 case ETextAlign::Left: 781 case ETextAlign::kLeft:
782 case ETextAlign::WebkitLeft: 782 case ETextAlign::kWebkitLeft:
783 case ETextAlign::Center: 783 case ETextAlign::kCenter:
784 case ETextAlign::WebkitCenter: 784 case ETextAlign::kWebkitCenter:
785 break; 785 break;
786 case ETextAlign::Justify: 786 case ETextAlign::kJustify:
787 case ETextAlign::Start: 787 case ETextAlign::kStart:
788 rightAligned = !cbStyle.isLeftToRightDirection(); 788 rightAligned = !cbStyle.isLeftToRightDirection();
789 break; 789 break;
790 case ETextAlign::End: 790 case ETextAlign::kEnd:
791 rightAligned = cbStyle.isLeftToRightDirection(); 791 rightAligned = cbStyle.isLeftToRightDirection();
792 break; 792 break;
793 } 793 }
794 794
795 // for unicode-bidi: plaintext, use inlineBoxBidiLevel() to test the correct 795 // for unicode-bidi: plaintext, use inlineBoxBidiLevel() to test the correct
796 // direction for the cursor. 796 // direction for the cursor.
797 if (rightAligned && style()->unicodeBidi() == Plaintext) { 797 if (rightAligned && style()->unicodeBidi() == Plaintext) {
798 if (inlineBox->bidiLevel() % 2 != 1) 798 if (inlineBox->bidiLevel() % 2 != 1)
799 rightAligned = false; 799 rightAligned = false;
800 } 800 }
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 Hyphenation* hyphenation = 1087 Hyphenation* hyphenation =
1088 styleToUse.autoWrap() ? styleToUse.getHyphenation() : nullptr; 1088 styleToUse.autoWrap() ? styleToUse.getHyphenation() : nullptr;
1089 bool disableSoftHyphen = styleToUse.getHyphens() == HyphensNone; 1089 bool disableSoftHyphen = styleToUse.getHyphens() == HyphensNone;
1090 float maxWordWidth = 0; 1090 float maxWordWidth = 0;
1091 if (!hyphenation) 1091 if (!hyphenation)
1092 maxWordWidth = std::numeric_limits<float>::infinity(); 1092 maxWordWidth = std::numeric_limits<float>::infinity();
1093 1093
1094 BidiResolver<TextRunIterator, BidiCharacterRun> bidiResolver; 1094 BidiResolver<TextRunIterator, BidiCharacterRun> bidiResolver;
1095 BidiCharacterRun* run; 1095 BidiCharacterRun* run;
1096 TextDirection textDirection = styleToUse.direction(); 1096 TextDirection textDirection = styleToUse.direction();
1097 if ((is8Bit() && textDirection == TextDirection::Ltr) || 1097 if ((is8Bit() && textDirection == TextDirection::kLtr) ||
1098 isOverride(styleToUse.unicodeBidi())) { 1098 isOverride(styleToUse.unicodeBidi())) {
1099 run = 0; 1099 run = 0;
1100 } else { 1100 } else {
1101 TextRun textRun(text()); 1101 TextRun textRun(text());
1102 BidiStatus status(textDirection, false); 1102 BidiStatus status(textDirection, false);
1103 bidiResolver.setStatus(status); 1103 bidiResolver.setStatus(status);
1104 bidiResolver.setPositionIgnoringNestedIsolates( 1104 bidiResolver.setPositionIgnoringNestedIsolates(
1105 TextRunIterator(&textRun, 0)); 1105 TextRunIterator(&textRun, 0));
1106 bool hardLineBreak = false; 1106 bool hardLineBreak = false;
1107 bool reorderRuns = false; 1107 bool reorderRuns = false;
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 1349
1350 if ((needsWordSpacing && len > 1) || (ignoringSpaces && !firstWord)) 1350 if ((needsWordSpacing && len > 1) || (ignoringSpaces && !firstWord))
1351 currMaxWidth += wordSpacing; 1351 currMaxWidth += wordSpacing;
1352 1352
1353 m_minWidth = std::max(currMinWidth, m_minWidth); 1353 m_minWidth = std::max(currMinWidth, m_minWidth);
1354 m_maxWidth = std::max(currMaxWidth, m_maxWidth); 1354 m_maxWidth = std::max(currMaxWidth, m_maxWidth);
1355 1355
1356 if (!styleToUse.autoWrap()) 1356 if (!styleToUse.autoWrap())
1357 m_minWidth = m_maxWidth; 1357 m_minWidth = m_maxWidth;
1358 1358
1359 if (styleToUse.whiteSpace() == EWhiteSpace::Pre) { 1359 if (styleToUse.whiteSpace() == EWhiteSpace::kPre) {
1360 if (firstLine) 1360 if (firstLine)
1361 m_firstLineMinWidth = m_maxWidth; 1361 m_firstLineMinWidth = m_maxWidth;
1362 m_lastLineLineMinWidth = currMaxWidth; 1362 m_lastLineLineMinWidth = currMaxWidth;
1363 } 1363 }
1364 1364
1365 const SimpleFontData* fontData = f.primaryFont(); 1365 const SimpleFontData* fontData = f.primaryFont();
1366 DCHECK(fontData); 1366 DCHECK(fontData);
1367 1367
1368 GlyphOverflow glyphOverflow; 1368 GlyphOverflow glyphOverflow;
1369 if (fontData) { 1369 if (fontData) {
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1591 // Text nodes aren't event targets, so don't descend any further. 1591 // Text nodes aren't event targets, so don't descend any further.
1592 } 1592 }
1593 1593
1594 void applyTextTransform(const ComputedStyle* style, 1594 void applyTextTransform(const ComputedStyle* style,
1595 String& text, 1595 String& text,
1596 UChar previousCharacter) { 1596 UChar previousCharacter) {
1597 if (!style) 1597 if (!style)
1598 return; 1598 return;
1599 1599
1600 switch (style->textTransform()) { 1600 switch (style->textTransform()) {
1601 case ETextTransform::None: 1601 case ETextTransform::kNone:
1602 break; 1602 break;
1603 case ETextTransform::Capitalize: 1603 case ETextTransform::kCapitalize:
1604 makeCapitalized(&text, previousCharacter); 1604 makeCapitalized(&text, previousCharacter);
1605 break; 1605 break;
1606 case ETextTransform::Uppercase: 1606 case ETextTransform::kUppercase:
1607 text = text.upper(style->locale()); 1607 text = text.upper(style->locale());
1608 break; 1608 break;
1609 case ETextTransform::Lowercase: 1609 case ETextTransform::kLowercase:
1610 text = text.lower(style->locale()); 1610 text = text.lower(style->locale());
1611 break; 1611 break;
1612 } 1612 }
1613 } 1613 }
1614 1614
1615 void LayoutText::setTextInternal(PassRefPtr<StringImpl> text) { 1615 void LayoutText::setTextInternal(PassRefPtr<StringImpl> text) {
1616 ASSERT(text); 1616 ASSERT(text);
1617 m_text = std::move(text); 1617 m_text = std::move(text);
1618 1618
1619 if (style()) { 1619 if (style()) {
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
1858 LayoutUnit logicalHeight = 1858 LayoutUnit logicalHeight =
1859 lastTextBox()->logicalBottomVisualOverflow() - logicalTop; 1859 lastTextBox()->logicalBottomVisualOverflow() - logicalTop;
1860 1860
1861 LayoutRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight); 1861 LayoutRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight);
1862 if (!style()->isHorizontalWritingMode()) 1862 if (!style()->isHorizontalWritingMode())
1863 rect = rect.transposedRect(); 1863 rect = rect.transposedRect();
1864 return rect; 1864 return rect;
1865 } 1865 }
1866 1866
1867 LayoutRect LayoutText::localVisualRect() const { 1867 LayoutRect LayoutText::localVisualRect() const {
1868 if (style()->visibility() != EVisibility::Visible) 1868 if (style()->visibility() != EVisibility::kVisible)
1869 return LayoutRect(); 1869 return LayoutRect();
1870 1870
1871 return unionRect(visualOverflowRect(), localSelectionRect()); 1871 return unionRect(visualOverflowRect(), localSelectionRect());
1872 } 1872 }
1873 1873
1874 LayoutRect LayoutText::localSelectionRect() const { 1874 LayoutRect LayoutText::localSelectionRect() const {
1875 ASSERT(!needsLayout()); 1875 ASSERT(!needsLayout());
1876 1876
1877 if (getSelectionState() == SelectionNone) 1877 if (getSelectionState() == SelectionNone)
1878 return LayoutRect(); 1878 return LayoutRect();
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1993 LayoutRect rect = LayoutRect( 1993 LayoutRect rect = LayoutRect(
1994 IntRect(firstRunX(), firstRunY(), linesBox.width(), linesBox.height())); 1994 IntRect(firstRunX(), firstRunY(), linesBox.width(), linesBox.height()));
1995 LayoutBlock* block = containingBlock(); 1995 LayoutBlock* block = containingBlock();
1996 if (block && hasTextBoxes()) 1996 if (block && hasTextBoxes())
1997 block->adjustChildDebugRect(rect); 1997 block->adjustChildDebugRect(rect);
1998 1998
1999 return rect; 1999 return rect;
2000 } 2000 }
2001 2001
2002 } // namespace blink 2002 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698