-
Notifications
You must be signed in to change notification settings - Fork 687
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[css-inline] Is text-box-edge
inherited or not?
#10904
Comments
The reason I didn't make But I'm not 100% sure about this interaction, so I agree it's good to discuss it. |
Chatted with @jensimmons yesterday; her intuition is the same as yours, @kojiishi, that |
The CSS Working Group just discussed
The full IRC log of that discussion<matthieud> fantasai: this is about inheritance of text-box-edge<matthieud> fantasai: we split the text-box-edge into 2 properties <matthieud> fantasai: koji thinks both properties should inherited (currently one does not the other) <matthieud> fantasai: various scenarios seem to indicate that inheritance makes more sense for jen <matthieud> fantasai: the proposal is to make text-box-edge inherit <matthieud> fantasai: when triming, we use the value of text-box-edge on the containing block of the line box affected <kizu> q+ <matthieud> fantasai: if you set text-box-trim on an article and heading says trim to ???, then you will trim the top of the first line to ???, and the bottom of last line to ideographic <fantasai> s/trim to ???/trim to ex/ <matthieud> kizu: I have some concerns <fantasai> s/line to ???/line to ex/ <matthieud> kizu: being inherited makes it very powerful <matthieud> kizu: it could break some content inside (cf STP) <matthieud> kizu: we will need to provide at least some author guidance to set it on the smallest element possible, otherwise component inside will be trimmed <Rossen16> ack kizu <matthieud> fantasai: no text-box-trim will NOT be inherited, only text-box-edge <matthieud> fantasai: this change would allow : the box closest to the line box would have the priority about what edge to trim to <matthieud> fantasai: if you have text with mixed writing mode, this change allow the closest box to the text to decide the edge which is appropriate <matthieud> kizu: makes sense <florian> q+ <matthieud> kizu: I dont see any issue if text-box-trim stays non inherited <Rossen16> ack florian <matthieud> florian: makes sense to me <matthieud> florian: particularly about block boxes <matthieud> florian: because text-box-trim also applies to inline, how it works there ? <matthieud> fantasai: text-box-edge previously also changes the way line calculation is done, but it has been moved to line-box-edge <matthieud> fantasai: text-box-edge has no effect on an inline of any other box, except if this box has text-box-trim also <matthieud> florian: makes sense that it doesnt apply, but what happens when it applies ? the inline would use the value of text-box-edge itself, not the container ? <matthieud> fantasai: yes <matthieud> florian: I support the proposal <matthieud> RESOLVED: make property text-box-edge inherited |
For clarity, the proposal adopted was: Switch |
https://bugs.webkit.org/show_bug.cgi?id=281590 rdar://138049359 Reviewed by NOBODY (OOPS!). See w3c/csswg-drafts#10904 * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance.html: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareDataChangeRequiresLayout): (WebCore::rareInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const): (WebCore::RenderStyle::textBoxEdge const): (WebCore::RenderStyle::setTextBoxEdge): (WebCore::RenderStyle::setLineFitEdge): * Source/WebCore/rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
https://bugs.webkit.org/show_bug.cgi?id=281590 rdar://138049359 Reviewed by NOBODY (OOPS!). See w3c/csswg-drafts#10904 * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance.html: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareDataChangeRequiresLayout): (WebCore::rareInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const): (WebCore::RenderStyle::textBoxEdge const): (WebCore::RenderStyle::setTextBoxEdge): (WebCore::RenderStyle::setLineFitEdge): * Source/WebCore/rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareNonInheritedData.h: * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
https://bugs.webkit.org/show_bug.cgi?id=281590 rdar://138049359 Reviewed by NOBODY (OOPS!). See w3c/csswg-drafts#10904 * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance.html: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareDataChangeRequiresLayout): (WebCore::rareInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const): (WebCore::RenderStyle::textBoxEdge const): (WebCore::RenderStyle::setTextBoxEdge): (WebCore::RenderStyle::setLineFitEdge): * Source/WebCore/rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareInheritedData.h: * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
https://bugs.webkit.org/show_bug.cgi?id=281590 rdar://138049359 Reviewed by NOBODY (OOPS!). See w3c/csswg-drafts#10904 * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance.html: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareDataChangeRequiresLayout): (WebCore::rareInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const): (WebCore::RenderStyle::textBoxEdge const): (WebCore::RenderStyle::setTextBoxEdge): (WebCore::RenderStyle::setLineFitEdge): * Source/WebCore/rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareInheritedData.h: * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
https://bugs.webkit.org/show_bug.cgi?id=281590 rdar://138049359 Reviewed by NOBODY (OOPS!). See w3c/csswg-drafts#10904 * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001.html: * Source/WebCore/css/CSSProperties.json: * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareDataChangeRequiresLayout): (WebCore::rareInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const): (WebCore::RenderStyle::textBoxEdge const): (WebCore::RenderStyle::setTextBoxEdge): (WebCore::RenderStyle::setLineFitEdge): * Source/WebCore/rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareInheritedData.h: * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
https://bugs.webkit.org/show_bug.cgi?id=281590 rdar://138049359 Reviewed by Antti Koivisto. See w3c/csswg-drafts#10904 1. Make text-box-edge inherited (credit goes to Tim Nguyen) 2. Remove text-box-edge value propagation where we ignore text-box-edge at the trimming site if said trimming is initiated by an ancestors. (test case credit goes to fantasai) * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/parsing/inheritance.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-accumulation-001.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-not-ignore-nested-text-box-edge-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-ignore-nested-text-box-edge-expected.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-not-ignore-nested-text-box-edge-ref.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-ignore-nested-text-box-edge-ref.html. * LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-not-ignore-nested-text-box-edge.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-inline/text-box-trim/text-box-trim-ignore-nested-text-box-edge.html. * Source/WebCore/css/CSSProperties.json: * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::layout): (WebCore::LayoutIntegration::textBoxEdge): Deleted. * Source/WebCore/rendering/RenderLayoutState.h: * Source/WebCore/rendering/TextBoxTrimmer.cpp: (WebCore::TextBoxTrimmer::adjustTextBoxTrimStatusBeforeLayout): * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::rareDataChangeRequiresLayout): (WebCore::rareInheritedDataChangeRequiresLayout): (WebCore::RenderStyle::conservativelyCollectChangedAnimatableProperties const): (WebCore::RenderStyle::textBoxEdge const): (WebCore::RenderStyle::setTextBoxEdge): (WebCore::RenderStyle::setLineFitEdge): * Source/WebCore/rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareInheritedData.h: * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator== const): * Source/WebCore/rendering/style/StyleRareNonInheritedData.h: Canonical link: https://commits.webkit.org/285489@main
We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] web-platform-tests/wpt@288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/main@{#1388218}
We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] 288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/main@{#1388218}
We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] 288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/main@{#1388218}
…pagation restriction, a=testonly Automatic update from web-platform-tests [text-box-trim] Retire text-box-edge propagation restriction We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] web-platform-tests/wpt@288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/main@{#1388218} -- wpt-commits: 7a76ca95714d34551bbd07245b270f2f1af07cab wpt-pr: 49375
…pagation restriction, a=testonly Automatic update from web-platform-tests [text-box-trim] Retire text-box-edge propagation restriction We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] web-platform-tests/wpt@288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/main@{#1388218} -- wpt-commits: 7a76ca95714d34551bbd07245b270f2f1af07cab wpt-pr: 49375
…pagation restriction, a=testonly Automatic update from web-platform-tests [text-box-trim] Retire text-box-edge propagation restriction We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] web-platform-tests/wpt@288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojiichromium.org> Reviewed-by: Koji Ishii <kojiichromium.org> Cr-Commit-Position: refs/heads/main{#1388218} -- wpt-commits: 7a76ca95714d34551bbd07245b270f2f1af07cab wpt-pr: 49375 UltraBlame original commit: 9fea7f5a6e611fcddfaef2c74adc386e59576821
…pagation restriction, a=testonly Automatic update from web-platform-tests [text-box-trim] Retire text-box-edge propagation restriction We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] web-platform-tests/wpt@288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojiichromium.org> Reviewed-by: Koji Ishii <kojiichromium.org> Cr-Commit-Position: refs/heads/main{#1388218} -- wpt-commits: 7a76ca95714d34551bbd07245b270f2f1af07cab wpt-pr: 49375 UltraBlame original commit: 9fea7f5a6e611fcddfaef2c74adc386e59576821
…pagation restriction, a=testonly Automatic update from web-platform-tests [text-box-trim] Retire text-box-edge propagation restriction We added a restriction that the effective text-box-edge can be propagated to its child only if the same node defines a non-initial text-box-trim value when text-box-edge is not inherited. But now the specification is updated[1] which marks text-box-edge as inherited, and we no longer need this restriction. This CL also removes text-box-trim/text-box-trim-ignore-nested-text-box-edge.html from the web-test. This test was replaces by text-box-trim-not-ignore-nested-text-box-edge.html (each test disagrees with the other) since [2], but for some reasons still stays at the wpt codebase. A follow-up will retire the EffectiveTextBoxEdge field. [1] w3c/csswg-drafts#10904 [2] web-platform-tests/wpt@288ee9d Bug: 367766472, 374787320, 40254880 Change-Id: I789136ef54fa2d0c8b7a97b08caf1217512d10c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6038647 Commit-Queue: Koji Ishii <kojiichromium.org> Reviewed-by: Koji Ishii <kojiichromium.org> Cr-Commit-Position: refs/heads/main{#1388218} -- wpt-commits: 7a76ca95714d34551bbd07245b270f2f1af07cab wpt-pr: 49375 UltraBlame original commit: 9fea7f5a6e611fcddfaef2c74adc386e59576821
Recently, the
text-box-edge
property was changed to a non-inherited property in the spec and tests.IIUC, the original motivation to split the feature into two properties (
text-box-trim
andtext-box-edge
) was to make the former non-inherited while the latter inherited, so that i18n authors can set the default edges to all descendants depending on their scripts, but now this doesn't seem possible.If we don't need the use case and both properties are non-inherited, can we merge the two properties back to one property?
I re-read #10675 but I couldn't read this point very well. Can we discuss this point?
@fantasai @nt1m @vitorroriz @Clqsin45 @bfgeek @chrishtr @jfkthame @kidayasuo
The text was updated successfully, but these errors were encountered: