Steps to reproduce:
1. load http://rng.io/?all and let it run
2. open Ring 1
3. open 2D Games
4. open CSS3 MediaQueries
5. look at the results
Actual results: second and third tests fail
Expected results: all tests pass
What's happening here is that we're failing this null-check:
because presContext is null.
If I add a FlushPendingNotifications(Flush_Layout) call earlier in the method, the tests pass.
The question is whether there's any weaker flush (e.g., flush on the parent) that would be sufficient to ensure that nsGlobalWindow::GetPresContext gives an up-to-date result.
I _think_ that a Flush_Style on the parent should be sufficient if we don't care about having the prescontext size up to date.
Er, I meant to do Flush_Frames and then I did Flush_Layout for some reason.
I think we do need the size up-to-date, though, and I *think* something deeper in the code does a flush to ensure that, though I need to check.
OK. Worst case, a Flush_Layout on the parent would suffice; nsGlobalWindow even has an EnsureSizeUpToDate helper for that.
nsDOMMediaQueryList actually doesn't have any flushes, but almost certainly needs them
Created attachment 639487 [details] [diff] [review]
Anyway, we should get this in. comment 4 should be a separate bug.
Comment on attachment 639487 [details] [diff] [review]
Filed bug 1011468 on comment 4.