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

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

Issue 2614743004: Fix 'hyphens: auto' to work only when wrapping is allowed (Closed)
Patch Set: 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 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 int nextBreakable = -1; 1075 int nextBreakable = -1;
1076 int lastWordBoundary = 0; 1076 int lastWordBoundary = 0;
1077 float cachedWordTrailingSpaceWidth[2] = {0, 0}; // LTR, RTL 1077 float cachedWordTrailingSpaceWidth[2] = {0, 0}; // LTR, RTL
1078 1078
1079 bool breakAll = (styleToUse.wordBreak() == BreakAllWordBreak || 1079 bool breakAll = (styleToUse.wordBreak() == BreakAllWordBreak ||
1080 styleToUse.wordBreak() == BreakWordBreak) && 1080 styleToUse.wordBreak() == BreakWordBreak) &&
1081 styleToUse.autoWrap(); 1081 styleToUse.autoWrap();
1082 bool keepAll = 1082 bool keepAll =
1083 styleToUse.wordBreak() == KeepAllWordBreak && styleToUse.autoWrap(); 1083 styleToUse.wordBreak() == KeepAllWordBreak && styleToUse.autoWrap();
1084 1084
1085 Hyphenation* hyphenation = styleToUse.getHyphenation(); 1085 Hyphenation* hyphenation =
1086 styleToUse.autoWrap() ? styleToUse.getHyphenation() : nullptr;
1086 bool disableSoftHyphen = styleToUse.getHyphens() == HyphensNone; 1087 bool disableSoftHyphen = styleToUse.getHyphens() == HyphensNone;
1087 float maxWordWidth = 0; 1088 float maxWordWidth = 0;
1088 if (!hyphenation) 1089 if (!hyphenation)
1089 maxWordWidth = std::numeric_limits<float>::infinity(); 1090 maxWordWidth = std::numeric_limits<float>::infinity();
1090 1091
1091 BidiResolver<TextRunIterator, BidiCharacterRun> bidiResolver; 1092 BidiResolver<TextRunIterator, BidiCharacterRun> bidiResolver;
1092 BidiCharacterRun* run; 1093 BidiCharacterRun* run;
1093 TextDirection textDirection = styleToUse.direction(); 1094 TextDirection textDirection = styleToUse.direction();
1094 if ((is8Bit() && textDirection == TextDirection::Ltr) || 1095 if ((is8Bit() && textDirection == TextDirection::Ltr) ||
1095 isOverride(styleToUse.unicodeBidi())) { 1096 isOverride(styleToUse.unicodeBidi())) {
(...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after
1990 LayoutRect rect = LayoutRect( 1991 LayoutRect rect = LayoutRect(
1991 IntRect(firstRunX(), firstRunY(), linesBox.width(), linesBox.height())); 1992 IntRect(firstRunX(), firstRunY(), linesBox.width(), linesBox.height()));
1992 LayoutBlock* block = containingBlock(); 1993 LayoutBlock* block = containingBlock();
1993 if (block && hasTextBoxes()) 1994 if (block && hasTextBoxes())
1994 block->adjustChildDebugRect(rect); 1995 block->adjustChildDebugRect(rect);
1995 1996
1996 return rect; 1997 return rect;
1997 } 1998 }
1998 1999
1999 } // namespace blink 2000 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698