New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 805271 link

Starred by 14 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocked on:
issue 921908



Sign in to add a comment

implement CSS shadow parts spec

Project Member Reported by fergal@chromium.org, Jan 24 2018

Issue description

Feature description: ::part and ::theme pseudo elements on shadow hosts

https://tabatkins.github.io/specs/css-shadow-parts/

Eng owner: fergal@chromium.org

Design doc: pending

Are you planning on experimenting before launch? no
Any new strings? no 
Any implications for Google webservices (i.e. sync, translate)? no
Binary size? ???
Do the existing perf tests exercise all aspects of your new feature(s)? no

 

Comment 1 by kochi@chromium.org, Jan 24 2018

The spec is now officially located at
https://drafts.csswg.org/css-shadow-parts/

Comment 2 Deleted

Feature description: ::part and ::theme pseudo elements on shadow hosts

https://tabatkins.github.io/specs/css-shadow-parts/

Eng owner: fergal@chromium.org

Design doc: pending

Are you planning on experimenting before launch? no
Any new strings? no 
Any implications for Google webservices (i.e. sync, translate)? no
Binary size? ???
Do the existing perf tests exercise all aspects of your new feature(s)? no
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b2a76410e8f5aacc97ac8bf417dcc0a20f6bcce

commit 2b2a76410e8f5aacc97ac8bf417dcc0a20f6bcce
Author: Fergal Daly <fergal@chromium.org>
Date: Tue Mar 06 14:41:02 2018

Add runtime feature flag for CSS ::part pseudo element implementation.

Bug: 805271
Change-Id: I030bac8381b8ac726959ade983f31c99acd413e6
Reviewed-on: https://chromium-review.googlesource.com/892185
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541101}
[modify] https://crrev.com/2b2a76410e8f5aacc97ac8bf417dcc0a20f6bcce/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0616e578e230a51f8822cb1fcf36039662a1c548

commit 0616e578e230a51f8822cb1fcf36039662a1c548
Author: Fergal Daly <fergal@chromium.org>
Date: Wed Mar 07 03:23:57 2018

Add ::part(ident) to CSS parser, guarded by CSSPartPseudoElementEnabled.


Bug: 805271
Change-Id: I64db4e0293264675bed8faa1782539760afe7666
Reviewed-on: https://chromium-review.googlesource.com/891201
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541308}
[modify] https://crrev.com/0616e578e230a51f8822cb1fcf36039662a1c548/third_party/WebKit/Source/core/css/CSSSelector.cpp
[modify] https://crrev.com/0616e578e230a51f8822cb1fcf36039662a1c548/third_party/WebKit/Source/core/css/CSSSelector.h
[modify] https://crrev.com/0616e578e230a51f8822cb1fcf36039662a1c548/third_party/WebKit/Source/core/css/RuleFeatureSet.cpp
[modify] https://crrev.com/0616e578e230a51f8822cb1fcf36039662a1c548/third_party/WebKit/Source/core/css/SelectorChecker.cpp
[modify] https://crrev.com/0616e578e230a51f8822cb1fcf36039662a1c548/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp
[modify] https://crrev.com/0616e578e230a51f8822cb1fcf36039662a1c548/third_party/WebKit/Source/core/css/parser/CSSSelectorParserTest.cpp
[modify] https://crrev.com/0616e578e230a51f8822cb1fcf36039662a1c548/third_party/WebKit/Source/core/inspector/InspectorTraceEvents.cpp

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0b46e0aa81255ceb45eb46aff1e41fd58b8e1304

commit 0b46e0aa81255ceb45eb46aff1e41fd58b8e1304
Author: Fergal Daly <fergal@chromium.org>
Date: Wed Mar 21 07:21:42 2018

CSS: Centralize logic for implicit shadow combinators

Refactor to combine NeedsImplicitShadowCombinatorForMatching and the
selection of which new relation type. This is done to centralize these
2 related things and also because ::part will add another case to what
was previously a ternary expression.


Bug: 805271
Change-Id: I2df655c57b952307f64b021b547319849e5356d2
Reviewed-on: https://chromium-review.googlesource.com/970626
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544649}
[modify] https://crrev.com/0b46e0aa81255ceb45eb46aff1e41fd58b8e1304/third_party/WebKit/Source/core/css/parser/CSSParserSelector.cpp
[modify] https://crrev.com/0b46e0aa81255ceb45eb46aff1e41fd58b8e1304/third_party/WebKit/Source/core/css/parser/CSSParserSelector.h
[modify] https://crrev.com/0b46e0aa81255ceb45eb46aff1e41fd58b8e1304/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e9117b570607ce70de70b7228e6db1275dbcd0d

commit 2e9117b570607ce70de70b7228e6db1275dbcd0d
Author: Fergal Daly <fergal@chromium.org>
Date: Thu Mar 22 03:39:02 2018

CSS: Handle ::part rules when building RuleSets.

Add a part_pseudo_rules vector to RuleSet to hold rules with ::part
selectors and update RuleSet::FindBestRuleSetAndAdd to populate this.


Bug: 805271
Change-Id: If18cabbd8c933f49a252e2f659246cb0e0471e3f
Reviewed-on: https://chromium-review.googlesource.com/972766
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544969}
[modify] https://crrev.com/2e9117b570607ce70de70b7228e6db1275dbcd0d/third_party/WebKit/Source/core/css/RuleSet.cpp
[modify] https://crrev.com/2e9117b570607ce70de70b7228e6db1275dbcd0d/third_party/WebKit/Source/core/css/RuleSet.h

Project Member

Comment 11 by bugdroid1@chromium.org, Mar 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0bc2ea5caaf53766e1a74fe13b1eade2687185d

commit f0bc2ea5caaf53766e1a74fe13b1eade2687185d
Author: Fergal Daly <fergal@chromium.org>
Date: Mon Mar 26 15:52:27 2018

CSS Add support for ::part to SelectorChecker.

Bug: 805271
Change-Id: I839abbb345aecaf675b762780700f882b3635c2e
Reviewed-on: https://chromium-review.googlesource.com/972772
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545803}
[modify] https://crrev.com/f0bc2ea5caaf53766e1a74fe13b1eade2687185d/third_party/WebKit/Source/core/css/SelectorChecker.cpp

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5

commit 70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5
Author: Fergal Daly <fergal@chromium.org>
Date: Thu Apr 05 06:24:07 2018

CSS: Add WPT tests for basic ::part() functionality.

https://drafts.csswg.org/css-shadow-parts/

Tests cover the following:
- Simple - Part in selected host is styled
- Host Stylesheet - Part in selected host is not styled by ::part in a stylesheet inside the host
- Different Host - Part is not styled when host is not selected
- Inner Host
 - Part in outer host is styled by document style sheet
 - Part in inner host is not styled by document style sheet
- Compound Positive - Compound selector for host works
- Compound Negative - Non-matching compound selector for host does not style
- All Hosts
 - ::part with host selector styles in first host
 - ::part with host selector styles in second host
- Chaining Negative - ::part cannot be chained to reach elements in the inner host


Bug: 805271
Change-Id: I8c16ae09547bd833dbcc1eb0afb8be91a40c0a8e
Reviewed-on: https://chromium-review.googlesource.com/983833
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Takayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548349}
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/all-hosts.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/chaining-invalid-selector.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/complex-matching.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/complex-non-matching.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/different-host.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/host-stylesheet.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/inner-host.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/simple.html
[add] https://crrev.com/70d0ebbd7ac5740c95a6e982d48fa7a4bfec85a5/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/support/shadow-helper.js

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b6d8638caf9c57f132175426f795a10eb4c769c

commit 1b6d8638caf9c57f132175426f795a10eb4c769c
Author: Fergal Daly <fergal@chromium.org>
Date: Tue Apr 24 08:27:31 2018

CSS: Parse partmap attribute into map in Element

Adds a NamesMap class to represent a map of part names to ordered-set of partnames.

Add partmap attribute to HTML attributes.

Adds methods on Element and ElementRareData to set/get the parsed part name map.

Bug: 805271

Change-Id: Ib17a00873cd1598b88f5e120dd96e63580390443
Reviewed-on: https://chromium-review.googlesource.com/994896
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553034}
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/BUILD.gn
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/element.cc
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/element.h
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/element_rare_data.cc
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/element_rare_data.h
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/element_test.cc
[add] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/names_map.cc
[add] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/names_map.h
[add] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/dom/names_map_test.cc
[modify] https://crrev.com/1b6d8638caf9c57f132175426f795a10eb4c769c/third_party/blink/renderer/core/html/html_attribute_names.json5

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aaa7f0cbc10f384bd423f34059ab0da67800354c

commit aaa7f0cbc10f384bd423f34059ab0da67800354c
Author: Fergal Daly <fergal@chromium.org>
Date: Thu Apr 26 12:10:27 2018

CSS: Implement paying attention to partmap= attribute.

Add PartNames which represents a set of names and handles applying
part name maps.

Plumb this into StyleResolver to handle part name forwarding while
ascending through shadow hosts.

Add chrome-only layout tests since the spec is not final.

Bug: 805271
Change-Id: Iddd79aafee6ce79fd3fefc7e31dc81f083b880de
Reviewed-on: https://chromium-review.googlesource.com/997317
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553988}
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/WebKit/LayoutTests/css-shadow-parts/README.md
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/WebKit/LayoutTests/css-shadow-parts/double-forward.html
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/WebKit/LayoutTests/css-shadow-parts/precedence-part-vs-part.html
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/WebKit/LayoutTests/css-shadow-parts/simple-forward-shorthand.html
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/WebKit/LayoutTests/css-shadow-parts/simple-forward.html
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/WebKit/LayoutTests/css-shadow-parts/support/shadow-helper.js
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/BUILD.gn
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/element_rule_collector.cc
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/element_rule_collector.h
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/part_names.cc
[add] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/part_names.h
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/resolver/scoped_style_resolver.cc
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/resolver/scoped_style_resolver.h
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/resolver/style_resolver.cc
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/selector_checker.cc
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/css/selector_checker.h
[modify] https://crrev.com/aaa7f0cbc10f384bd423f34059ab0da67800354c/third_party/blink/renderer/core/dom/names_map.h

Project Member

Comment 15 by bugdroid1@chromium.org, Apr 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/45402cd999f9a5cb93bf50110004ac9ae31bc2dc

commit 45402cd999f9a5cb93bf50110004ac9ae31bc2dc
Author: Fergal Daly <fergal@chromium.org>
Date: Fri Apr 27 02:58:29 2018

CSS: Lazily apply partmap mappings.

Change ApplyMap to just queue mappings and only actually apply them if
Contains is called.

Bug: 805271
Change-Id: I4fd9b0463e125f985c8ba95aa46773711a0013f0
Reviewed-on: https://chromium-review.googlesource.com/1029550
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554271}
[modify] https://crrev.com/45402cd999f9a5cb93bf50110004ac9ae31bc2dc/third_party/blink/renderer/core/css/part_names.cc
[modify] https://crrev.com/45402cd999f9a5cb93bf50110004ac9ae31bc2dc/third_party/blink/renderer/core/css/part_names.h
[modify] https://crrev.com/45402cd999f9a5cb93bf50110004ac9ae31bc2dc/third_party/blink/renderer/core/css/resolver/style_resolver.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Apr 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cd44367ba7c2380e82e12760ce999399669569ba

commit cd44367ba7c2380e82e12760ce999399669569ba
Author: Fergal Daly <fergal@chromium.org>
Date: Fri Apr 27 03:17:56 2018

Switch CSSPartPseudoElement from test to experimental

Bug: 805271
Change-Id: I09e58d9368e02e8fd41c139440381722def67509
Reviewed-on: https://chromium-review.googlesource.com/1031750
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554286}
[modify] https://crrev.com/cd44367ba7c2380e82e12760ce999399669569ba/third_party/blink/renderer/platform/runtime_enabled_features.json5

Project Member

Comment 17 by bugdroid1@chromium.org, May 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/61f2ca150e806d7726c8e5b959b59d7277ea9b1d

commit 61f2ca150e806d7726c8e5b959b59d7277ea9b1d
Author: Fergal Daly <fergal@chromium.org>
Date: Thu May 24 09:12:01 2018

CSS: Implement invalidation for ::part

This adds an understanding of ::part to InvalidationSet.

Changes RuleFeatureSet to set invalidates_parts and
tree_boundary_crossing for ::part selectors.

Bug: 805271
Change-Id: I905b7f5a700acfc08bd9a01d4cda12a0de4eac18
Reviewed-on: https://chromium-review.googlesource.com/1068299
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561435}
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/invalidation/invalidation_flags.cc
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/invalidation/invalidation_flags.h
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/invalidation/invalidation_set.cc
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/invalidation/invalidation_set.h
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/invalidation/style_invalidator.cc
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/invalidation/style_invalidator.h
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/rule_feature_set.cc
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/rule_feature_set.h
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/css/rule_feature_set_test.cc
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/inspector/inspector_trace_events.cc
[modify] https://crrev.com/61f2ca150e806d7726c8e5b959b59d7277ea9b1d/third_party/blink/renderer/core/inspector/inspector_trace_events.h

Project Member

Comment 18 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/531a41731f33d68de84447950de0088e7bed5c69

commit 531a41731f33d68de84447950de0088e7bed5c69
Author: Fergal Daly <fergal@chromium.org>
Date: Tue May 29 10:53:06 2018

CSS: Implement invalidation when partmap changes.

This adds a part_invalidation_set_ to RuleFeatureSet which is used to
tell if any part selectors are in play in the document and if they
are, part and partmap changes may trigger invalidation.

Bug: 805271
Change-Id: If6f75693a63f6e1f590ed51a19ea02c57fb3e426
Reviewed-on: https://chromium-review.googlesource.com/1032450
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562384}
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/css/invalidation/invalidation_set.cc
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/css/invalidation/invalidation_set.h
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/css/rule_feature_set.cc
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/css/rule_feature_set.h
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/css/rule_feature_set_test.cc
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/css/style_engine.cc
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/css/style_engine.h
[modify] https://crrev.com/531a41731f33d68de84447950de0088e7bed5c69/third_party/blink/renderer/core/dom/element.cc

Project Member

Comment 19 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63ca6994257dcff81f5381ed55aa46b9a7976081

commit 63ca6994257dcff81f5381ed55aa46b9a7976081
Author: Fergal Daly <fergal@chromium.org>
Date: Tue May 29 15:20:11 2018

CSS: ::part invalidation layout tests

Tests for the cases where:
- modify part= on styled element (forwarded and non-forwarded versions)
- modify partmap on outer custom element
- modify another element so that style rule stops match (forwarded and
  non-forwarded versions)

Bug: 805271
Change-Id: If8e652436fd053bf76eb6dda99822293cfc55436
Reviewed-on: https://chromium-review.googlesource.com/1071488
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562429}
[add] https://crrev.com/63ca6994257dcff81f5381ed55aa46b9a7976081/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-change-part-name-forward.html
[add] https://crrev.com/63ca6994257dcff81f5381ed55aa46b9a7976081/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-change-partmap-forward.html
[add] https://crrev.com/63ca6994257dcff81f5381ed55aa46b9a7976081/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-complex-selector-forward.html
[add] https://crrev.com/63ca6994257dcff81f5381ed55aa46b9a7976081/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/invalidation-change-part-name.html
[add] https://crrev.com/63ca6994257dcff81f5381ed55aa46b9a7976081/third_party/WebKit/LayoutTests/external/wpt/css/css-shadow-parts/invalidation-complex-selector.html

Cc: emilio@chromium.org
Should the spec be promoted from tabatkins.github.io to a working group, e.g. WICG?
Spec is at https://drafts.csswg.org/css-shadow-parts/ (first comment on this bug refers to Tab's but later ones correct htat).
Project Member

Comment 23 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8269be5cd75e1c187125e25b091b9acd9de7f42

commit d8269be5cd75e1c187125e25b091b9acd9de7f42
Author: Fergal Daly <fergal@chromium.org>
Date: Tue Jul 03 08:43:04 2018

CSS: shadow part map application was off-by-one.

The previous implementation gave the document the ability to forward a
part from sub-component of a component but only the component author
should be able to do that.

Bug:  859446 , 805271
Change-Id: I37dc9399646a2db677c350546cbb1cfad7ee2d39
Reviewed-on: https://chromium-review.googlesource.com/1122136
Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
Reviewed-by: Anders Ruud <andruud@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572148}
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/WebKit/LayoutTests/css-shadow-parts/double-forward.html
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-change-part-name-forward.html
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-change-partmap-forward.html
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-complex-selector-forward.html
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/WebKit/LayoutTests/css-shadow-parts/precedence-part-vs-part.html
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/WebKit/LayoutTests/css-shadow-parts/simple-forward-shorthand.html
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/WebKit/LayoutTests/css-shadow-parts/simple-forward.html
[modify] https://crrev.com/d8269be5cd75e1c187125e25b091b9acd9de7f42/third_party/blink/renderer/core/css/resolver/style_resolver.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Oct 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb88d559e0a370eae92cb3812eee20197ec0cd6f

commit cb88d559e0a370eae92cb3812eee20197ec0cd6f
Author: Fergal Daly <fergal@chromium.org>
Date: Fri Oct 12 04:09:59 2018

[css, dom] Improve docs on partmap parser.

Make the state transitions more clear and document which transitions
consume a character.

Bug: 805271

Change-Id: I363cb6c9d459b560d0ec1b4cb6649cce981deffc
Reviewed-on: https://chromium-review.googlesource.com/c/1275747
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599092}
[modify] https://crrev.com/cb88d559e0a370eae92cb3812eee20197ec0cd6f/third_party/blink/renderer/core/dom/names_map.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4cb84b573a62d8db8d168de16560b4ff78df5bda

commit 4cb84b573a62d8db8d168de16560b4ff78df5bda
Author: Fergal Daly <fergal@chromium.org>
Date: Fri Oct 12 08:26:25 2018

[css, dom] Support partmap="foo: bar" syntax.

This is the new syntax agreed for partmap.

Bug: 805271
Change-Id: I5e8e34551167b4a56706980dae8054e4b7a6fba2
Reviewed-on: https://chromium-review.googlesource.com/c/1278566
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599142}
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/WebKit/LayoutTests/css-shadow-parts/double-forward.html
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-change-part-name-forward.html
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-change-partmap-forward.html
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-complex-selector-forward.html
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/WebKit/LayoutTests/css-shadow-parts/precedence-part-vs-part.html
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/WebKit/LayoutTests/css-shadow-parts/simple-forward.html
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/blink/renderer/core/dom/element_test.cc
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/blink/renderer/core/dom/names_map.cc
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/blink/renderer/core/dom/names_map_test.cc
[modify] https://crrev.com/4cb84b573a62d8db8d168de16560b4ff78df5bda/third_party/blink/renderer/core/html/parser/html_parser_idioms.h

Project Member

Comment 26 by bugdroid1@chromium.org, Oct 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c74c5222be107a45e615997a6f33746d9c6d0ec5

commit c74c5222be107a45e615997a6f33746d9c6d0ec5
Author: Fergal Daly <fergal@chromium.org>
Date: Mon Oct 15 04:34:50 2018

[css, dom] rename attribute: partmap -> exportparts

This is the agreed name for this attribute.

Bug: 805271
Change-Id: I806c8933d90e98d2e132b7b260f8544563b1f94d
Reviewed-on: https://chromium-review.googlesource.com/c/1278620
Reviewed-by: Fergal Daly <fergal@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599563}
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/WebKit/LayoutTests/css-shadow-parts/double-forward.html
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-change-part-name-forward.html
[rename] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-changep-forward.html
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/WebKit/LayoutTests/css-shadow-parts/invalidation-complex-selector-forward.html
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/WebKit/LayoutTests/css-shadow-parts/precedence-part-vs-part.html
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/WebKit/LayoutTests/css-shadow-parts/simple-forward-shorthand.html
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/WebKit/LayoutTests/css-shadow-parts/simple-forward.html
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/blink/renderer/core/css/style_engine.cc
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/blink/renderer/core/css/style_engine.h
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/blink/renderer/core/dom/element.cc
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/blink/renderer/core/dom/element_test.cc
[modify] https://crrev.com/c74c5222be107a45e615997a6f33746d9c6d0ec5/third_party/blink/renderer/core/html/html_attribute_names.json5

Comment 27 Deleted

Project Member

Comment 28 by bugdroid1@chromium.org, Nov 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/66bac866841ba32ba0dee4ea86638518f01cd7cc

commit 66bac866841ba32ba0dee4ea86638518f01cd7cc
Author: Fergal Daly <fergal@chromium.org>
Date: Wed Nov 28 05:23:23 2018

[css] Switch part attribute to a DOMTokenList

Adds tests for manipulating it via the attribute.

Renames PartNames() to Part() to match with part(), the API wrapper.

This uses the same IDL as classList.

Bug: 805271
Change-Id: I9715df48478510029f5d985124e46111c41cffc3
Reviewed-on: https://chromium-review.googlesource.com/c/1333014
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611570}
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/css/invalidation/invalidation_set.cc
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/css/resolver/style_resolver.cc
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/dom/element.cc
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/dom/element.h
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/dom/element.idl
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/dom/element_rare_data.cc
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/dom/element_rare_data.h
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/renderer/core/dom/element_test.cc
[add] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/web_tests/external/wpt/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html
[add] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/web_tests/external/wpt/css/css-shadow-parts/invalidation-change-part-name-idl-setter.html
[add] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/web_tests/external/wpt/css/css-shadow-parts/part-name-idl.html
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/web_tests/webexposed/element-instance-property-listing-expected.txt
[modify] https://crrev.com/66bac866841ba32ba0dee4ea86638518f01cd7cc/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt

Project Member

Comment 29 by bugdroid1@chromium.org, Dec 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a447f1c1bc6f40ddd6ee7a7d920c5cb16d9e1d6

commit 8a447f1c1bc6f40ddd6ee7a7d920c5cb16d9e1d6
Author: Fergal Daly <fergal@chromium.org>
Date: Wed Dec 05 06:52:28 2018

Bring PartNameMap parser into line with spec.

It changes from being very forgiving to more strict. Treating it as a comma
separated list of mappings. Each mapping is parsed strictly and
rejected if there is any problem but invalid mappings have no impact
on other mappings in the list.

Bug: 805271
Change-Id: I3b58a229ce6a2cf3ab979975973a29d6c978a788
Reviewed-on: https://chromium-review.googlesource.com/c/1351318
Commit-Queue: Fergal Daly <fergal@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613892}
[modify] https://crrev.com/8a447f1c1bc6f40ddd6ee7a7d920c5cb16d9e1d6/third_party/blink/renderer/core/dom/names_map.cc
[modify] https://crrev.com/8a447f1c1bc6f40ddd6ee7a7d920c5cb16d9e1d6/third_party/blink/renderer/core/dom/names_map.h
[modify] https://crrev.com/8a447f1c1bc6f40ddd6ee7a7d920c5cb16d9e1d6/third_party/blink/renderer/core/dom/names_map_test.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Dec 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c61923ecc68055b83c52f371c17e55b2f7e67d48

commit c61923ecc68055b83c52f371c17e55b2f7e67d48
Author: Fergal Daly <fergal@chromium.org>
Date: Mon Dec 10 03:29:58 2018

Tidy: Rename file and fix some JS.

Somehow this file got checked in with an odd name. Rename
it to something more useful and apply the same fixes from
https://crrev.com/c/1350431 to this file.

Bug: 805271
Change-Id: I2b57e256826006d840a5335fdff887e5ecdf7dd0
Reviewed-on: https://chromium-review.googlesource.com/c/1368861
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615036}
[rename] https://crrev.com/c61923ecc68055b83c52f371c17e55b2f7e67d48/third_party/blink/web_tests/css-shadow-parts/invalidation-change-exportparts-forward.html

Project Member

Comment 31 by bugdroid1@chromium.org, Dec 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb53f31261cea052b03ba4eb801901ab7b684356

commit fb53f31261cea052b03ba4eb801901ab7b684356
Author: Fergal Daly <fergal@chromium.org>
Date: Tue Dec 11 05:31:39 2018

[CSS] Fix test for css invalidation so that it fails without ::part.

The test was testing that the element ended up green (starting red)
however, if the browser has no support at all for ::part then the
element actually starts green and stays green.



Bug: 805271
Change-Id: Ida40c7963aa3a00c3d197b1309ddaea49e4f3b92
Reviewed-on: https://chromium-review.googlesource.com/c/1369500
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615435}
[modify] https://crrev.com/fb53f31261cea052b03ba4eb801901ab7b684356/third_party/blink/web_tests/external/wpt/css/css-shadow-parts/invalidation-change-part-name-idl-setter.html

Comment 32 by fergal@chromium.org, Jan 15 (4 days ago)

Blockedon: 921908

Sign in to add a comment