Log Message
[LFC][Integration] Turn off trailing letter-space trimming for the LineBreaker content https://bugs.webkit.org/show_bug.cgi?id=206181 <rdar://problem/58532931>
Reviewed by Antti Koivisto. Source/WebCore: Do not mark trailing letter-spacing as trimmable in the "continuous content" we feed in to line breaking. This causes different and unexpected line breaking behavior as we don't try to fit the letter-spacing after the last character. * layout/inlineformatting/InlineLineBreaker.cpp: (WebCore::Layout::ContinuousContent::ContinuousContent): LayoutTests: * platform/ios/css1/text_properties/letter_spacing-expected.txt: Undo the rebaselining.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (254437 => 254438)
--- trunk/LayoutTests/ChangeLog 2020-01-13 17:52:48 UTC (rev 254437)
+++ trunk/LayoutTests/ChangeLog 2020-01-13 18:34:42 UTC (rev 254438)
@@ -1,3 +1,13 @@
+2020-01-13 Zalan Bujtas <[email protected]>
+
+ [LFC][Integration] Turn off trailing letter-space trimming for the LineBreaker content
+ https://bugs.webkit.org/show_bug.cgi?id=206181
+ <rdar://problem/58532931>
+
+ Reviewed by Antti Koivisto.
+
+ * platform/ios/css1/text_properties/letter_spacing-expected.txt: Undo the rebaselining.
+
2020-01-13 Wenson Hsieh <[email protected]>
[iOS] editing/selection/ios/clear-selection-after-tap-in-large-selected-non-editable-text.html times out
Modified: trunk/LayoutTests/platform/ios/css1/text_properties/letter_spacing-expected.txt (254437 => 254438)
--- trunk/LayoutTests/platform/ios/css1/text_properties/letter_spacing-expected.txt 2020-01-13 17:52:48 UTC (rev 254437)
+++ trunk/LayoutTests/platform/ios/css1/text_properties/letter_spacing-expected.txt 2020-01-13 18:34:42 UTC (rev 254438)
@@ -1,8 +1,8 @@
-layer at (0,0) size 805x1439
+layer at (0,0) size 800x1459
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x1439
- RenderBlock {HTML} at (0,0) size 800x1439
- RenderBody {BODY} at (8,8) size 784x1423 [bgcolor=#CCCCCC]
+layer at (0,0) size 800x1459
+ RenderBlock {HTML} at (0,0) size 800x1459
+ RenderBody {BODY} at (8,8) size 784x1443 [bgcolor=#CCCCCC]
RenderBlock {P} at (0,0) size 784x20
RenderText {#text} at (0,0) size 363x19
text run at (0,0) width 363: "The style declarations which apply to the text below are:"
@@ -38,15 +38,15 @@
text run at (0,40) width 677: "extra space between"
text run at (0,60) width 180: "them."
RenderBlock {P} at (0,317) size 784x60
- RenderText {#text} at (0,0) size 796x59
+ RenderText {#text} at (0,0) size 723x59
text run at (0,0) width 723: "This letters in this sentence"
- text run at (0,20) width 796: "should have extra space between"
- text run at (0,40) width 131: "them."
+ text run at (0,20) width 588: "should have extra space"
+ text run at (0,40) width 339: "between them."
RenderBlock {P} at (0,393) size 784x60
- RenderText {#text} at (0,0) size 796x59
+ RenderText {#text} at (0,0) size 723x59
text run at (0,0) width 723: "This letters in this sentence"
- text run at (0,20) width 796: "should have extra space between"
- text run at (0,40) width 131: "them."
+ text run at (0,20) width 588: "should have extra space"
+ text run at (0,40) width 339: "between them."
RenderBlock {P} at (0,469) size 784x20
RenderText {#text} at (0,0) size 696x19
text run at (0,0) width 696: "This letters in this sentence should have extra space between them."
@@ -53,15 +53,16 @@
RenderBlock {P} at (0,505) size 784x20
RenderText {#text} at (0,0) size 696x19
text run at (0,0) width 696: "This letters in this sentence should have extra space between them."
- RenderBlock {P} at (0,541) size 784x40
- RenderText {#text} at (0,0) size 797x39
- text run at (0,0) width 797: "This letters in this sentence should"
- text run at (0,20) width 684: "have extra space between them."
- RenderBlock {P} at (0,597) size 784x40
+ RenderBlock {P} at (0,541) size 784x60
+ RenderText {#text} at (0,0) size 706x59
+ text run at (0,0) width 639: "This letters in this sentence"
+ text run at (0,20) width 706: "should have extra space between"
+ text run at (0,40) width 116: "them."
+ RenderBlock {P} at (0,617) size 784x40
RenderText {#text} at (0,0) size 710x39
text run at (0,0) width 710: "This letters in this sentence should have extra space"
text run at (0,20) width 187: "between them."
- RenderBlock {P} at (0,653) size 784x40
+ RenderBlock {P} at (0,673) size 784x40
RenderText {#text} at (0,0) size 763x39
text run at (0,0) width 763: "This letters in this sentence should have extra space between them,"
text run at (0,20) width 440: "but the last few words in the sentence "
@@ -70,14 +71,14 @@
text run at (439,20) width 184: "should show normal spacing"
RenderText {#text} at (622,20) size 10x19
text run at (622,20) width 10: "."
- RenderBlock {P} at (0,709) size 784x40
+ RenderBlock {P} at (0,729) size 784x40
RenderText {#text} at (0,0) size 746x39
text run at (0,0) width 746: "This letters in this sentence should have normal space between them, since percentage values are not allowed on this"
text run at (0,20) width 58: "property."
- RenderBlock {P} at (0,765) size 784x20
+ RenderBlock {P} at (0,785) size 784x20
RenderText {#text} at (0,0) size 580x19
text run at (0,0) width 580: "This letters in this sentence should have reduced space between them, since negative values are allowed on this property."
- RenderTable {TABLE} at (0,801) size 784x622 [border: (1px outset #808080)]
+ RenderTable {TABLE} at (0,821) size 784x622 [border: (1px outset #808080)]
RenderTableSection {TBODY} at (1,1) size 782x620
RenderTableRow {TR} at (0,0) size 782x28
RenderTableCell {TD} at (0,0) size 782x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
Modified: trunk/Source/WebCore/ChangeLog (254437 => 254438)
--- trunk/Source/WebCore/ChangeLog 2020-01-13 17:52:48 UTC (rev 254437)
+++ trunk/Source/WebCore/ChangeLog 2020-01-13 18:34:42 UTC (rev 254438)
@@ -1,3 +1,17 @@
+2020-01-13 Zalan Bujtas <[email protected]>
+
+ [LFC][Integration] Turn off trailing letter-space trimming for the LineBreaker content
+ https://bugs.webkit.org/show_bug.cgi?id=206181
+ <rdar://problem/58532931>
+
+ Reviewed by Antti Koivisto.
+
+ Do not mark trailing letter-spacing as trimmable in the "continuous content" we feed in to line breaking.
+ This causes different and unexpected line breaking behavior as we don't try to fit the letter-spacing after the last character.
+
+ * layout/inlineformatting/InlineLineBreaker.cpp:
+ (WebCore::Layout::ContinuousContent::ContinuousContent):
+
2020-01-13 Antti Koivisto <[email protected]>
[LFC][Integration] editing/text-iterator/findString.html fails on iOS
Modified: trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp (254437 => 254438)
--- trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp 2020-01-13 17:52:48 UTC (rev 254437)
+++ trunk/Source/WebCore/layout/inlineformatting/InlineLineBreaker.cpp 2020-01-13 18:34:42 UTC (rev 254438)
@@ -32,6 +32,7 @@
#include "Hyphenation.h"
#include "InlineItem.h"
#include "InlineTextItem.h"
+#include "RuntimeEnabledFeatures.h"
#include "TextUtil.h"
namespace WebCore {
@@ -360,9 +361,12 @@
// Let's see if we've got more trailing whitespace content.
continue;
}
- if (auto collapsibleWidth = inlineTextItem.style().letterSpacing()) {
- m_trailingCollapsibleContent.width += collapsibleWidth;
- m_trailingCollapsibleContent.isFullyCollapsible = false;
+ if (!RuntimeEnabledFeatures::sharedFeatures().layoutFormattingContextIntegrationEnabled()) {
+ // A run with trailing letter spacing is partially collapsible.
+ if (auto collapsibleWidth = inlineTextItem.style().letterSpacing()) {
+ m_trailingCollapsibleContent.width += collapsibleWidth;
+ m_trailingCollapsibleContent.isFullyCollapsible = false;
+ }
}
// End of whitespace content.
break;
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
