Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Web Inspector: Some CSS rules for Cocoa media controls defined in inl…
…ine styles inside user agent shadow root are not correctly parsed https://bugs.webkit.org/show_bug.cgi?id=241815 rdar://85053718 Reviewed by Devin Rousso. New test case: inspector/css/getMatchedStylesForNodeUserAgentShadowRoot.html CSSSelectorParser has an exception that allows it to parse the following rules when the parser is in UASheetMode: video[controls]::-webkit-media-text-track-container.visible-controls-bar video::-webkit-media-text-track-container b video::-webkit-media-text-track-container u video::-webkit-media-text-track-container i video::-webkit-media-text-track-container .hidden These are technically invalid CSS selectors because only user action pseudo classes should be allowed after pseudo element selectors, however exceptions exist in CSSSelectorParser to explicitly allow these otherwise invalid selectors when the pseudo element is a WebKit-specific selector and the parsing mode is UASheetMode. Web Inspector's InspectorStyleSheet did not previously set any special parsing mode because in a majority of cases we never need to do this parsing of UA styles text because we do not need to resolve the actual locations of rules in a source file since they are uneditable. These rules, being declared in the shadow root, are actually editable. To support these rules, we now check if the owner node of the style sheet is part of a user agent shadow root, and set the parsing mode to UASheetMode if it is. * Source/WebCore/inspector/InspectorStyleSheet.cpp: (ParsedStyleSheet::isInUserAgentShadowTree const): (ParsedStyleSheet::ParsedStyleSheet): (WebCore::InspectorStyleSheet::InspectorStyleSheet): (WebCore::InspectorStyleSheet::ensureSourceData): * LayoutTests/inspector/css/getMatchedStylesForNodeUserAgentShadowRoot-expected.txt: Added. * LayoutTests/inspector/css/getMatchedStylesForNodeUserAgentShadowRoot.html: Added. Canonical link: https://commits.webkit.org/251738@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information