This is an invariant in layout, because the frame constructor doesn't really know how to reconstruct frames for NAC . There's no general mechanism to ensure we don't do this, but in practice we mostly  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).  modulo a few special cases tagged as restylableAnonymousNode, which should really be called reconstructableAnonymousNode  modulo bug 1250725
I think this should be closed, I don't know of that special-case anymore. Is that right Bobby?
Yeah I think we're probably good here.