CSS selectors that use the ::part() pseudo-element are allowed to have other CSS pseudo-elements (except ::part()) and many types of other CSS pseudo-classes after them. (Combinators are still not allowed after :part(), and pseudo-classes that depend on tree structure are not allowed.) Previously Chrome only allowed a limited set of pseudo-classes and pseudo-elements after ::part(). This changes to allowing all of the pseudo-classes and pseudo-elements that should be allowed. It means selectors such as ::part(part-name):enabled and ::part(part-name)::marker are now allowed.
This allows CSS selector features to be combined in ways that were intended during the design of the ::part() feature. It allows more styling of things that web components expose as parts. This change also provides a more solid foundation for building future CSS pseudo-elements (currently known as "part-like pseudo-elements") on top of the ::part() feature. This includes new pseudo-elements such as ::details-content and new pseudo-elements for styling customizable <select>.