Skip to content
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

Closed
fantasai opened this issue Jun 22, 2022 · 6 comments
Closed

[css-contain-3] Rename 'none' to 'normal' #7402

fantasai opened this issue Jun 22, 2022 · 6 comments

Comments

@fantasai
Copy link
Collaborator

Since we decided elements with container-type: none still have style containment, should we rename none to normal?

@SebastianZ
Copy link
Contributor

I guess that's actually a duplicate of #7202.

I'm for that, since we now actually have some kind containment as initial value.
I want to point out again, though, that we still have the issue with the other keywords not reflecting that they do not overwrite style containment. But that's probably worth it's own issue.

Sebastian

@SebastianZ
Copy link
Contributor

I want to point out again, though, that we still have the issue with the other keywords not reflecting that they do not overwrite style containment. But that's probably worth it's own issue.

I've now created #7403 to discuss that.

Sebastian

@lilles
Copy link
Member

lilles commented Jun 28, 2022

If so, we also need to consider:

  • Should 'none' still not be a valid container-name and reserved for later?
  • Should 'none' be kept as a way to turn off all container-types including 'style'?
  • Make 'normal' an invalid as a custom-ident

@anttijk
Copy link

anttijk commented Jun 28, 2022

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.

@css-meeting-bot
Copy link
Member

The CSS Working Group just discussed rename container-type: none to normal, and agreed to the following:

  • RESOLVED: Change initial value of 'container-type' to "normal"
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

@dbaron
Copy link
Member

dbaron commented Jun 29, 2022

The new issue mentioned above is #7431.

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jun 30, 2022
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
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jun 30, 2022
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
aarongable pushed a commit to chromium/chromium that referenced this issue Jun 30, 2022
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}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jun 30, 2022
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}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Jun 30, 2022
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}
webkit-early-warning-system pushed a commit to WebKit/WebKit that referenced this issue Jul 4, 2022
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
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Jul 5, 2022
…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
jamienicol pushed a commit to jamienicol/gecko that referenced this issue Jul 7, 2022
…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
Jarred-Sumner pushed a commit to oven-sh/WebKit that referenced this issue Jul 27, 2022
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
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this issue Oct 14, 2022
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants