-
Notifications
You must be signed in to change notification settings - Fork 673
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-contain-3] Rename 'none' to 'normal' #7402
Comments
I guess that's actually a duplicate of #7202. I'm for that, since we now actually have some kind containment as initial value. Sebastian |
I've now created #7403 to discuss that. Sebastian |
If so, we also need to consider:
|
I'm opposed to this change. If every element is is a style container (not "have style containment" which would be a web breaking change) then the concept of "style container" has no meaning and value 'none' remains the correct one. |
The CSS Working Group just discussed
The full IRC log of that discussion<TabAtkins> Topic: rename container-type: none to normal<TabAtkins> fantasai: Since we made style containment the default on every element, the initial value of container-type is "none". <TabAtkins> fantasai: WAs wondering if we wanted to name that as "normal", which would possibly let us shut off style containment later if needed <TabAtkins> fantasai: No strong opinion. <fantasai> TabAtkins: I agree that renaming to normal works <TabAtkins> miriam: Agree and also don't ahve strong opinion <TabAtkins> astearns: In the issue antti said they weren't opposed to the change <TabAtkins> astearns: But I think they weren't considering the case where we add names to style containers <fantasai> s/weren't/were/ <TabAtkins> astearns: So we could put into the issue that we're okay with considering it? <TabAtkins> smfr: If there's more context, I can ping antti and get his response <TabAtkins> astearns: My take is that it's not that container-type has nothing to do with style containers, it's just that everything is a style container, and the only thing container-type *is* doing for style-only containers is letting you set a named style container. <TabAtkins> astearns: I think antti is thinking we've broken the connection to the property entirely <TabAtkins> astearns: would be good to find out <TabAtkins> astearns: Simon, do you want to ping antti and we resolve next week? <TabAtkins> smfr: Believe he's on vacation so might not get a response by next week <TabAtkins> astearns: Alternately we could resolve now and let them bring up an objection later if it's still there? <TabAtkins> smfr: I think I'd prefer that this issue have enough context that antti can read it and be sure he udnerstands the issue <TabAtkins> smfr: But with that, I think I'm okay with resolving and letting him bring up an issue <TabAtkins> fantasai: The two reasons are: 1) because style is a type of container, saying "none" is disingenuous <TabAtkins> fantasai: 2) we might want a way to turn off style container on an element, and using "none no-style" is somewhat awkward. "normal no-style" is more neutral <TabAtkins> fantasai: We're also not allowed to use container-names of "none" and we should keep that restriction, and also exclude "normal". <TabAtkins> astearns: So proposed resolution is to change container-type's initial value to "normal" ,but still resolve "none" as a future value <TabAtkins> ??: How about 'auto' instead of 'normal'? <TabAtkins> fantasai: Could work, but 'auto' usually implies more magic <astearns> s/??/ntim/ <TabAtkins> astearns: I slightly prefer normal over auto, but no great argument either way <TabAtkins> I'm lightly for "normal" for the reason fantasai gave <TabAtkins> ntim: No strong preference, just a thought <TabAtkins> astearns: So any objections to normal? <TabAtkins> RESOLVED: Change initial value of 'container-type' to "normal" <TabAtkins> fantasai: TAb suggested in IRC that we just blanket restrict none/normal/auto in custom idents and I propose we do that. <TabAtkins> astearns: Makes sense, but do we have those allowed in the past that would cause compat issues? <TabAtkins> fantasai: Possible but seems unlikely. <TabAtkins> chrishtr: What does that mean? <fantasai> TabAtkins: A custom-ident can never be keyword 'initial'; all global keywords are restricted. <fantasai> TabAtkins: we'd just add this to the list of keywords <fantasai> chrishtr: Could it break content? <lea> +1 <fantasai> TabAtkins: if ppl are currently using those names, yes <fantasai> TabAtkins: but they are very generic, so it seems unlikely <fantasai> TabAtkins: but we can check <fantasai> astearns: We should open a new issue |
The new issue mentioned above is #7431. |
Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24
Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24
Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3736384 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1019597}
Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3736384 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1019597}
Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3736384 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1019597}
https://bugs.webkit.org/show_bug.cgi?id=242311 Reviewed by Alan Bujtas. Implement w3c/csswg-drafts#7402 Also exclude some values from container-name (per https://drafts.csswg.org/css-contain-3/#container-name). Also re-import container query WPT tests. * LayoutTests/imported/w3c/resources/import-expectations.json: * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-serialization-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-serialization.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/calc-evaluation-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/calc-evaluation.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-item-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-item-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/w3c-import.log: * Source/WebCore/css/CSSComputedStyleDeclaration.cpp: (WebCore::hasValidStyleForProperty): (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * Source/WebCore/css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ContainerType const): * Source/WebCore/css/CSSValueKeywords.in: * Source/WebCore/css/StyleProperties.cpp: (WebCore::isCSSWideValueKeyword): Drive-by fix. (WebCore::isNormalValue): (WebCore::StyleProperties::getPropertyValue const): * Source/WebCore/css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeSingleContainerName): * Source/WebCore/dom/Document.cpp: (WebCore::Document::updateLayoutIfDimensionsOutOfDate): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::willBeDestroyed): (WebCore::RenderBox::styleWillChange): * Source/WebCore/rendering/style/RenderStyle.h: (WebCore::RenderStyle::initialContainerType): * Source/WebCore/rendering/style/RenderStyleConstants.h: * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::effectiveContainment const): * Source/WebCore/style/ContainerQueryEvaluator.cpp: (WebCore::Style::ContainerQueryEvaluator::selectContainer): (WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const): * Source/WebCore/style/StyleScope.cpp: (WebCore::Style::Scope::updateQueryContainerState): * Source/WebCore/style/StyleSharingResolver.cpp: (WebCore::Style::SharingResolver::canShareStyleWithElement const): * Source/WebCore/style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::pushParent): (WebCore::Style::TreeResolver::resolveComposedTree): (WebCore::Style::TreeResolver::determineQueryContainerAction): Canonical link: https://commits.webkit.org/252116@main
…tainer-type to 'normal', a=testonly Automatic update from web-platform-tests [@container] Change initial value of container-type to 'normal' Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3736384 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1019597} -- wpt-commits: 470bdbafc3fd827c20172ca192cabfe79f9e92aa wpt-pr: 34658
…tainer-type to 'normal', a=testonly Automatic update from web-platform-tests [@container] Change initial value of container-type to 'normal' Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3736384 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1019597} -- wpt-commits: 470bdbafc3fd827c20172ca192cabfe79f9e92aa wpt-pr: 34658
https://bugs.webkit.org/show_bug.cgi?id=242311 Reviewed by Alan Bujtas. Implement w3c/csswg-drafts#7402 Also exclude some values from container-name (per https://drafts.csswg.org/css-contain-3/#container-name). Also re-import container query WPT tests. * LayoutTests/imported/w3c/resources/import-expectations.json: * LayoutTests/imported/w3c/resources/resource-files.json: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-serialization-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-serialization.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/calc-evaluation-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/calc-evaluation.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic.html: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-item-container-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/grid-item-container.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/w3c-import.log: * Source/WebCore/css/CSSComputedStyleDeclaration.cpp: (WebCore::hasValidStyleForProperty): (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * Source/WebCore/css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ContainerType const): * Source/WebCore/css/CSSValueKeywords.in: * Source/WebCore/css/StyleProperties.cpp: (WebCore::isCSSWideValueKeyword): Drive-by fix. (WebCore::isNormalValue): (WebCore::StyleProperties::getPropertyValue const): * Source/WebCore/css/parser/CSSParserFastPaths.cpp: (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue): * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeSingleContainerName): * Source/WebCore/dom/Document.cpp: (WebCore::Document::updateLayoutIfDimensionsOutOfDate): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::willBeDestroyed): (WebCore::RenderBox::styleWillChange): * Source/WebCore/rendering/style/RenderStyle.h: (WebCore::RenderStyle::initialContainerType): * Source/WebCore/rendering/style/RenderStyleConstants.h: * Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::effectiveContainment const): * Source/WebCore/style/ContainerQueryEvaluator.cpp: (WebCore::Style::ContainerQueryEvaluator::selectContainer): (WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const): * Source/WebCore/style/StyleScope.cpp: (WebCore::Style::Scope::updateQueryContainerState): * Source/WebCore/style/StyleSharingResolver.cpp: (WebCore::Style::SharingResolver::canShareStyleWithElement const): * Source/WebCore/style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::pushParent): (WebCore::Style::TreeResolver::resolveComposedTree): (WebCore::Style::TreeResolver::determineQueryContainerAction): Canonical link: https://commits.webkit.org/252116@main
Per recent CSSWG resolution [1], the initial value is now 'normal'. The function StyleBuilderConverter::ConvertFlags had hard-coded handling of CSSValueID::kNone which interpreted that to mean "flags=0". Since we now also need kNormal to mean "flags=0", this CL adds a template parameter to indicate which CSSValueID we should treat as zero. This CL also disallows the following values from the <custom-ident> of the container-name property: - normal, which was clearly intended from reading the discussion in [1]. - auto, which is not explicitly mentioned in [1] as something to disallow, but it's aligned with the ambition to disallow none/normal/auto from <custom-ident> in general [2]. [1] w3c/csswg-drafts#7402 [2] w3c/csswg-drafts#7431 Fixed: 1340859 Change-Id: I841303e2b5673c65d69d97522a0a3661e5d1ec24 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3736384 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/main@{#1019597} NOKEYCHECK=True GitOrigin-RevId: def23d1f1adb194a537f4957bbdbe62252fe10f6
Since we decided elements with
container-type: none
still have style containment, should we renamenone
tonormal
?The text was updated successfully, but these errors were encountered: