Bug 1391255. Crash earlier if recording playback fails. r=kats draft
authorJeff Muizelaar <jmuizelaar@mozilla.com>
Fri, 23 Feb 2018 13:14:39 -0500
changeset 767487 581d8822fa15f33bb62b8f865d8be5af98c1643b
parent 766336 32f22e0ad5c578e1c363433cadb0551fcca833a3
push id102619
push userbmo:jmuizelaar@mozilla.com
push dateWed, 14 Mar 2018 18:24:01 +0000
reviewerskats
bugs1391255
milestone60.0a1
Bug 1391255. Crash earlier if recording playback fails. r=kats This should help us narrow down what's going wrong a bit. MozReview-Commit-ID: 2Ah0nMCwv55
gfx/webrender_bindings/Moz2DImageRenderer.cpp
gfx/webrender_bindings/src/moz2d_renderer.rs
--- a/gfx/webrender_bindings/Moz2DImageRenderer.cpp
+++ b/gfx/webrender_bindings/Moz2DImageRenderer.cpp
@@ -239,16 +239,17 @@ static bool Moz2DRenderCallback(const Ra
     size_t count = *(size_t*)(aBlob.begin().get() + end);
     for (size_t i = 0; i < count; i++) {
       wr::FontKey key = *(wr::FontKey*)(aBlob.begin() + end + sizeof(count) + sizeof(wr::FontKey)*i).get();
       RefPtr<UnscaledFont> font = GetUnscaledFont(&translator, key);
       translator.AddUnscaledFont(0, font);
     }
     Range<const uint8_t> blob(aBlob.begin() + offset, aBlob.begin() + end);
     ret = translator.TranslateRecording((char*)blob.begin().get(), blob.length());
+    MOZ_RELEASE_ASSERT(ret);
     offset = extra_end;
   }
 
 #if 0
   static int i = 0;
   char filename[40];
   sprintf(filename, "out%d.png", i++);
   gfxUtils::WriteAsPNG(dt, filename);
--- a/gfx/webrender_bindings/src/moz2d_renderer.rs
+++ b/gfx/webrender_bindings/src/moz2d_renderer.rs
@@ -179,17 +179,17 @@ impl BlobImageRenderer for Moz2dImageRen
                 ) {
 
                     Ok(RasterizedBlobImage {
                         width: descriptor.width,
                         height: descriptor.height,
                         data: output,
                     })
                 } else {
-                    Err(BlobImageError::Other("Unknown error".to_string()))
+                    panic!("Moz2D replay problem");
                 }
             };
 
             tx.send((request, result)).unwrap();
         });
     }
 
     fn resolve(&mut self, request: BlobImageRequest) -> BlobImageResult {