Bug 1542696 - WR crashes on debug_assert! with out-of-process iframes r=jrmuizel
authorGlenn Watson <github@intuitionlibrary.com>
Mon, 08 Apr 2019 21:39:19 +0000
changeset 468432 a9c4558b49752b6d20fcbaf5203c8a2ce7132541
parent 468431 b34795658d239ba6415a9ad5e72fe10d7de38265
child 468433 4af5a60f18eefbd3a39b3d1d137c99950c494e04
push id35837
push userrmaries@mozilla.com
push dateTue, 09 Apr 2019 03:43:40 +0000
treeherdermozilla-central@9eb55c9bf557 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel
bugs1542696
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1542696 - WR crashes on debug_assert! with out-of-process iframes r=jrmuizel Differential Revision: https://phabricator.services.mozilla.com/D26611
gfx/wr/webrender/src/display_list_flattener.rs
--- a/gfx/wr/webrender/src/display_list_flattener.rs
+++ b/gfx/wr/webrender/src/display_list_flattener.rs
@@ -1338,17 +1338,17 @@ impl<'a> DisplayListFlattener<'a> {
         let is_pipeline_root =
             self.sc_stack.last().map_or(true, |sc| sc.pipeline_id != pipeline_id);
         let frame_output_pipeline_id = if is_pipeline_root && self.output_pipelines.contains(&pipeline_id) {
             Some(pipeline_id)
         } else {
             None
         };
 
-        if is_pipeline_root && create_tile_cache {
+        if is_pipeline_root && create_tile_cache && self.config.enable_picture_caching {
             // we don't expect any nested tile-cache-enabled stacking contexts
             debug_assert!(!self.sc_stack.iter().any(|sc| sc.create_tile_cache));
         }
 
         // Get the transform-style of the parent stacking context,
         // which determines if we *might* need to draw this on
         // an intermediate surface for plane splitting purposes.
         let (parent_is_3d, extra_3d_instance) = match self.sc_stack.last_mut() {