Commit 975c3269 authored by Justin Novosad's avatar Justin Novosad Committed by Commit Bot

Speculative fix for crash in Canvas2DLayerBridge

BUG=759412

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Id742ca0ffae8e2e1aa55e8b324478c09189bbaf0
Reviewed-on: https://chromium-review.googlesource.com/744503Reviewed-by: default avatarFernando Serboncini <fserb@chromium.org>
Commit-Queue: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512839}
parent 33d3e761
...@@ -418,6 +418,11 @@ bool Canvas2DLayerBridge::PrepareMailboxFromImage( ...@@ -418,6 +418,11 @@ bool Canvas2DLayerBridge::PrepareMailboxFromImage(
sk_sp<SkImage> skia_image = image->PaintImageForCurrentFrame().GetSkImage(); sk_sp<SkImage> skia_image = image->PaintImageForCurrentFrame().GetSkImage();
// This check should not be necessary, it is a speculative fix for
// crbug.com/759412
if (!skia_image || !skia_image->getTexture())
return false;
if (RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled()) { if (RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled()) {
if (PrepareGpuMemoryBufferMailboxFromImage(skia_image.get(), mailbox_info, if (PrepareGpuMemoryBufferMailboxFromImage(skia_image.get(), mailbox_info,
out_mailbox)) out_mailbox))
...@@ -975,6 +980,7 @@ bool Canvas2DLayerBridge::PrepareTextureMailbox( ...@@ -975,6 +980,7 @@ bool Canvas2DLayerBridge::PrepareTextureMailbox(
{ {
sk_sp<SkImage> skImage = image->PaintImageForCurrentFrame().GetSkImage(); sk_sp<SkImage> skImage = image->PaintImageForCurrentFrame().GetSkImage();
DCHECK(skImage->isTextureBacked());
// Early exit if canvas was not drawn to since last prepareMailbox. // Early exit if canvas was not drawn to since last prepareMailbox.
GLenum filter = GetGLFilter(); GLenum filter = GetGLFilter();
if (skImage->uniqueID() == last_image_id_ && filter == last_filter_) if (skImage->uniqueID() == last_image_id_ && filter == last_filter_)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment