stylo: Assert against generating nsChangeHint_ReconstructFrame for native anonymous content

RESOLVED WORKSFORME

Status

()

Core
CSS Parsing and Computation
P2
normal
RESOLVED WORKSFORME
11 months ago
3 days ago

People

(Reporter: bholley, Unassigned)

Tracking

(Blocks: 2 bugs)

Firefox Tracking Flags

(Not tracked)

Details

This is an invariant in layout, because the frame constructor doesn't really know how to reconstruct frames for NAC [1]. There's no general mechanism to ensure we don't do this, but in practice we mostly [2] have it from the following:
* NAC nodes only match UA rules, and UA rules are careful not to have any dynamic styles that would trigger frame reconstruction
* NAC nodes inherit from their non-NAC parent, but any inherited style that would trigger reconstruction would also presumably trigger it on the parent, at which point we should stop computing change hints on the subtree (we don't do this yet in Stylo, which is bug 1297855).

We're not quite there yet with stylo, given the dependent bugs (and possibly others). I'm hacking around this for now by manually switching that hint off, but we should fix this properly and assert it. Grep for this bug number to find the corresponding hack(s).

[1] modulo a few special cases tagged as restylableAnonymousNode, which should really be called reconstructableAnonymousNode
[2] modulo bug 1250725
Priority: -- → P2
Blocks: 1243581
I think this should be closed, I don't know of that special-case anymore. Is that right Bobby?
Flags: needinfo?(bobbyholley)
Yeah I think we're probably good here.
Status: NEW → RESOLVED
Last Resolved: 3 days ago
Flags: needinfo?(bobbyholley)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.