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
--- 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 {