Bug 238338

Summary: Web Inspector: Blank inspector in a page with container queries
Product: WebKit Reporter: jec <jec>
Component: Web InspectorAssignee: Patrick Angle <pangle>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, hi, inspector-bugzilla-changes, joepeck, pangle, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 238346    
Attachments:
Description Flags
screenshot of blank inspector
none
Patch v1.0 none

Description jec 2022-03-24 11:07:43 PDT
Created attachment 455657 [details]
screenshot of blank inspector

TP 142

1. Open https://jec.fyi/demo/css-container-queries
2. Open Inspector
3. Inspector is blank [NOT OK]

Another page with CQ failed too: https://designcember.com

Expected Inspector to work as usual.
Comment 1 Radar WebKit Bug Importer 2022-03-24 11:14:57 PDT
<rdar://problem/90779886>
Comment 2 Patrick Angle 2022-03-24 11:37:12 PDT
Thank you for reporting this issue - the team in investigating!
Comment 3 Patrick Angle 2022-03-24 14:04:15 PDT
Created attachment 455677 [details]
Patch v1.0
Comment 4 Patrick Angle 2022-03-24 14:05:21 PDT
Comment on attachment 455677 [details]
Patch v1.0

Just want to note that even once this patch lands, Web Inspector will not actually show container query rules. That work is being tracked in bug 238346.
Comment 5 Devin Rousso 2022-03-24 14:11:40 PDT
Comment on attachment 455677 [details]
Patch v1.0

r=me, unfortunate that we have so many unchecked dereferences :(

I did do a bit of digging, and I wonder if something like `window.getMatchedCSSRules(element)` will cause a crash if `element` has matching container queries, since `StyleRuleType::Container` is not handled inside `StyleRuleBase::createCSSOMWrapper`.  Might be worthing filing a separate bug and replacing that FIXME with it (and maybe including similar FIXME in relevant inspector code too).
Comment 6 Patrick Angle 2022-03-24 14:31:44 PDT
(In reply to Devin Rousso from comment #5)
> Comment on attachment 455677 [details]
> Patch v1.0
> 
> r=me, unfortunate that we have so many unchecked dereferences :(
> 
> I did do a bit of digging, and I wonder if something like
> `window.getMatchedCSSRules(element)` will cause a crash if `element` has
> matching container queries, since `StyleRuleType::Container` is not handled
> inside `StyleRuleBase::createCSSOMWrapper`.  Might be worthing filing a
> separate bug and replacing that FIXME with it (and maybe including similar
> FIXME in relevant inspector code too).

I've just verified and there is no crash in that case, and the correct immediate rule is returned, but it's `parentRule` is null instead of being the actual container query rule.
Comment 7 EWS 2022-03-24 16:30:41 PDT
Committed r291824 (248848@main): <https://commits.webkit.org/248848@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455677 [details].