Summary: | :host() pseudo-selector reported as :host in CSSStyleRule | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | jlo | ||||||
Component: | CSS | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Minor | CC: | allan.jensen, callis, esprehn+autocc, ews-watchlist, glenn, gyuyoung.kim, jbedard, koivisto, macpherson, menard, simon.fraser, webkit-bug-importer | ||||||
Priority: | P2 | Keywords: | BrowserCompat, InRadar | ||||||
Version: | Safari 13 | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 148695 | ||||||||
Attachments: |
|
https://github.com/WebKit/webkit/blob/master/Source/WebCore/css/CSSSelector.cpp#L670 is missing the code to build the argument string Created attachment 407411 [details]
patch
Committed r266245: <https://trac.webkit.org/changeset/266245> All reviewed patches have been landed. Closing bug and clearing flags on attachment 407411 [details]. I see the fix for this has been merged for quite some time, but the issue is still occurring on the latest Safari releases. Has the fix been included in a Safari release yet? Looks like this missed the branch cut-off (which was r266022) and never got cherry-picked to the release branch. Okay, thanks for the update. Does this mean it should make it into the next release (14.1)? (In reply to Jonathan Bedard from comment #6) > Looks like this missed the branch cut-off (which was r266022) and never got > cherry-picked to the release branch. Hello. We have projects that depend on this bug fix getting pushed in safari. Can this fix please be included in the next release soon?? Thanks The fix was in macOS 11.3/iOS 14.5 |
Created attachment 390393 [details] Minimal reproduction case Any |:host(selector)| rules in a stylesheet are incorrectly reported as plain |:host| pseudo-selectors when accessed through CSSStyleRule.prototype.cssText or CSSStyleRule.prototype.selectorText. See the attached test case. In Chrome and FireFox the <pre> is populated with |:host(.hidden) { display: none; }|, using Safari (Mobile and Desktop) the output is |:host { display: none; }|.