Created attachment 433379 [details] [diff] [review] patch When flushing documents we need to flush external documents too. For example, references to svg filters in external documents need their frames constructed for the filter to work. This only causes a problem with lazy frame construction.
Comment on attachment 433379 [details] [diff] [review] patch r=bzbarsky. Document in the presshell that we want this flush even if a presshell-only flush is being done (which is why the code is not just in nsDocument::FlushPendingnotifications)?
How does this sound? // We need to make sure external resource documents are flushed too (for // example, svg filters that reference a filter in an external document // need the frames in the external document to be constructed for the // filter to work). We only need external resources to be flushed when the // main document is flushing >= Flush_Frames, so we flush external // resources here instead of nsDocument::FlushPendingNotifications.
Pushed with that comment http://hg.mozilla.org/mozilla-central/rev/761790684f3b
Backed out for suspicion of causing tsvg_opacity regression http://hg.mozilla.org/mozilla-central/rev/47ef6d724773 http://hg.mozilla.org/mozilla-central/rev/bfc8c8a40286 The regression was still there after backing this out, so it wasn't this bug. So I should be able to reland this.
Relanded this and the talos numbers were good. http://hg.mozilla.org/mozilla-central/rev/35f66b11ec8b