Diff
Modified: trunk/LayoutTests/ChangeLog (281386 => 281387)
--- trunk/LayoutTests/ChangeLog 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/ChangeLog 2021-08-22 04:24:30 UTC (rev 281387)
@@ -1,5 +1,23 @@
2021-08-21 Alan Bujtas <za...@apple.com>
+ [LFC][IFC] Add support for -webkit-text-security: disc
+ https://bugs.webkit.org/show_bug.cgi?id=229047
+
+ Reviewed by Antti Koivisto.
+
+ Let's dump the actual disc characters.
+
+ * platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
+ * platform/ios/fast/css/text-overflow-input-expected.txt:
+ * platform/ios/fast/forms/basic-inputs-expected.txt:
+ * platform/ios/fast/forms/input-value-expected.txt:
+ * platform/mac/fast/css/text-overflow-input-expected.txt:
+ * platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
+ * platform/mac/fast/forms/basic-inputs-expected.txt:
+ * platform/mac/fast/forms/input-value-expected.txt:
+
+2021-08-21 Alan Bujtas <za...@apple.com>
+
[IFC][Integration] Enable modern line layout for placeholder elements
https://bugs.webkit.org/show_bug.cgi?id=228887
Modified: trunk/LayoutTests/platform/ios/fast/css/text-overflow-input-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/ios/fast/css/text-overflow-input-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/ios/fast/css/text-overflow-input-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -151,7 +151,7 @@
layer at (17,102) size 142x14 backgroundClip at (17,102) size 141x14 clip at (17,102) size 141x14 scrollWidth 387
RenderBlock {DIV} at (0,0) size 142x14
RenderText {#text} at (0,0) size 385x14
- text run at (0,0) width 385: "\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}"
+ text run at (0,0) width 385: "\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}"
layer at (17,127) size 139x14 scrollX 148 scrollWidth 288
RenderBlock {DIV} at (6,3) size 141x15 [color=#A9A9A9]
RenderText {#text} at (-147,0) size 288x14
@@ -175,7 +175,7 @@
layer at (17,152) size 142x14 backgroundClip at (17,152) size 141x14 clip at (17,152) size 141x14 scrollWidth 387
RenderBlock {DIV} at (0,0) size 142x14
RenderText {#text} at (0,0) size 385x14
- text run at (0,0) width 385: "\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}"
+ text run at (0,0) width 385: "\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}"
layer at (17,213) size 141x14 scrollWidth 288
RenderBlock {DIV} at (6,3) size 143x15 [color=#A9A9A9]
RenderText {#text} at (0,0) size 288x14
Modified: trunk/LayoutTests/platform/ios/fast/forms/basic-inputs-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/ios/fast/forms/basic-inputs-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/ios/fast/forms/basic-inputs-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -73,7 +73,7 @@
layer at (28,389) size 142x14 backgroundClip at (28,389) size 141x14 clip at (28,389) size 141x14
RenderBlock {DIV} at (0,0) size 142x14
RenderText {#text} at (0,0) size 21x14
- text run at (0,0) width 21: "\x{25CF}\x{25CF}\x{25CF}"
+ text run at (0,0) width 21: "\x{F79A}\x{F79A}\x{F79A}"
layer at (215,361) size 153x21
RenderTextControl {INPUT} at (196,3) size 154x22 [bgcolor=#FFFFFF] [border: (1px solid #3C3C4399)]
layer at (221,364) size 139x14
@@ -87,4 +87,4 @@
layer at (251,389) size 140x14
RenderBlock {DIV} at (0,0) size 140x14 [color=#545454]
RenderText {#text} at (0,0) size 21x14
- text run at (0,0) width 21: "\x{25CF}\x{25CF}\x{25CF}"
+ text run at (0,0) width 21: "\x{F79A}\x{F79A}\x{F79A}"
Modified: trunk/LayoutTests/platform/ios/fast/forms/input-value-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/ios/fast/forms/input-value-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/ios/fast/forms/input-value-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -213,7 +213,7 @@
layer at (399,171) size 142x14
RenderBlock {DIV} at (0,0) size 142x14
RenderText {#text} at (0,0) size 42x14
- text run at (0,0) width 42: "\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}"
+ text run at (0,0) width 42: "\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}"
layer at (399,328) size 141x14
RenderBlock {DIV} at (6,3) size 143x15
RenderText {#text} at (0,0) size 25x14
Modified: trunk/LayoutTests/platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/ios-simulator/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -15,4 +15,4 @@
layer at (17,77) size 142x14 backgroundClip at (17,77) size 141x14 clip at (17,77) size 141x14
RenderBlock {DIV} at (0,0) size 142x14
RenderText {#text} at (0,0) size 63x14
- text run at (0,0) width 63: "\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}\x{25CF}"
+ text run at (0,0) width 63: "\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}"
Modified: trunk/LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -151,7 +151,7 @@
layer at (13,96) size 141x13 scrollWidth 386
RenderBlock {DIV} at (0,0) size 141x13
RenderText {#text} at (0,0) size 385x13
- text run at (0,0) width 385: "\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}"
+ text run at (0,0) width 385: "\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}"
layer at (13,119) size 140x13 scrollX 148 scrollWidth 288
RenderBlock {DIV} at (3,3) size 140x13 [color=#A9A9A9]
RenderText {#text} at (-147,0) size 288x13
Modified: trunk/LayoutTests/platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -15,4 +15,4 @@
layer at (13,73) size 141x13
RenderBlock {DIV} at (0,0) size 141x13
RenderText {#text} at (0,0) size 63x13
- text run at (0,0) width 63: "\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}"
+ text run at (0,0) width 63: "\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}"
Modified: trunk/LayoutTests/platform/mac/fast/forms/basic-inputs-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/mac/fast/forms/basic-inputs-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/mac/fast/forms/basic-inputs-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -81,8 +81,8 @@
layer at (24,353) size 141x13
RenderBlock {DIV} at (0,0) size 141x13
RenderText {#text} at (0,0) size 21x13
- text run at (0,0) width 21: "\x{2022}\x{2022}\x{2022}"
+ text run at (0,0) width 21: "\x{F79A}\x{F79A}\x{F79A}"
layer at (239,353) size 140x13
RenderBlock {DIV} at (0,0) size 140x13 [color=#545454]
RenderText {#text} at (0,0) size 21x13
- text run at (0,0) width 21: "\x{2022}\x{2022}\x{2022}"
+ text run at (0,0) width 21: "\x{F79A}\x{F79A}\x{F79A}"
Modified: trunk/LayoutTests/platform/mac/fast/forms/input-value-expected.txt (281386 => 281387)
--- trunk/LayoutTests/platform/mac/fast/forms/input-value-expected.txt 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/LayoutTests/platform/mac/fast/forms/input-value-expected.txt 2021-08-22 04:24:30 UTC (rev 281387)
@@ -209,7 +209,7 @@
layer at (409,161) size 141x13
RenderBlock {DIV} at (0,0) size 141x13
RenderText {#text} at (0,0) size 42x13
- text run at (0,0) width 42: "\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}"
+ text run at (0,0) width 42: "\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}\x{F79A}"
layer at (409,302) size 141x13
RenderBlock {DIV} at (3,3) size 141x13
RenderText {#text} at (0,0) size 25x13
Modified: trunk/Source/WebCore/ChangeLog (281386 => 281387)
--- trunk/Source/WebCore/ChangeLog 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/Source/WebCore/ChangeLog 2021-08-22 04:24:30 UTC (rev 281387)
@@ -1,5 +1,21 @@
2021-08-21 Alan Bujtas <za...@apple.com>
+ [LFC][IFC] Add support for -webkit-text-security: disc
+ https://bugs.webkit.org/show_bug.cgi?id=229047
+
+ Reviewed by Antti Koivisto.
+
+ The disc glyph affects layout, so let's replace the text before we start measuring the inline content.
+
+ * layout/integration/LayoutIntegrationBoxTree.cpp:
+ (WebCore::LayoutIntegration::BoxTree::buildTree):
+ * layout/integration/LayoutIntegrationCoverage.cpp:
+ (WebCore::LayoutIntegration::printReason):
+ (WebCore::LayoutIntegration::canUseForStyle):
+ * layout/integration/LayoutIntegrationCoverage.h:
+
+2021-08-21 Alan Bujtas <za...@apple.com>
+
[IFC][Integration] Enable modern line layout for placeholder elements
https://bugs.webkit.org/show_bug.cgi?id=228887
Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp (281386 => 281387)
--- trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp 2021-08-22 04:24:30 UTC (rev 281387)
@@ -66,7 +66,9 @@
if (is<RenderText>(childRenderer)) {
auto& textRenderer = downcast<RenderText>(childRenderer);
auto style = RenderStyle::createAnonymousStyleWithDisplay(textRenderer.style(), DisplayType::Inline);
- return makeUnique<Layout::InlineTextBox>(textRenderer.text(), textRenderer.canUseSimplifiedTextMeasuring(), WTFMove(style));
+ return makeUnique<Layout::InlineTextBox>(
+ style.textSecurity() == TextSecurity::None ? textRenderer.text() : RenderBlock::updateSecurityDiscCharacters(style, textRenderer.text())
+ , textRenderer.canUseSimplifiedTextMeasuring(), WTFMove(style));
}
auto style = RenderStyle::clone(childRenderer.style());
Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp (281386 => 281387)
--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp 2021-08-22 03:31:33 UTC (rev 281386)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp 2021-08-22 04:24:30 UTC (rev 281387)
@@ -162,9 +162,6 @@
case AvoidanceReason::FlowHasAfterWhiteSpaceLineBreak:
stream << "line-break is after-white-space";
break;
- case AvoidanceReason::FlowHasTextSecurity:
- stream << "text-security is not none";
- break;
case AvoidanceReason::FlowHasSVGFont:
stream << "SVG font";
break;
@@ -525,10 +522,6 @@
SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextCombine, reasons, includeReasons);
if (style.backgroundClip() == FillBox::Text)
SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextFillBox, reasons, includeReasons);
- // Special handling of text-security:disc is not yet implemented in the simple line layout code path.
- // See RenderBlock::updateSecurityDiscCharacters.
- if (style.textSecurity() != TextSecurity::None)
- SET_REASON_AND_RETURN_IF_NEEDED(FlowHasTextSecurity, reasons, includeReasons);
// These are non-standard properties.
if (style.lineBreak() == LineBreak::AfterWhiteSpace)