Index: third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp |
diff --git a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp b/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp |
index 42347a6eacff6c0757c7c44d98dcdadd03790aa5..96b08881b9914554e5263eda267f112f451c59c1 100644 |
--- a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp |
+++ b/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp |
@@ -83,6 +83,8 @@ |
static bool shouldAccelerate(IntSize surfaceSize) |
{ |
+ if (!isMainThread()) |
+ return false; // Add support on Workers crbug.com/ |
return RuntimeEnabledFeatures::accelerated2dCanvasEnabled(); |
} |
@@ -117,6 +119,7 @@ |
if (!imageBuffer()) |
return nullptr; |
sk_sp<SkImage> skImage = m_imageBuffer->newSkImageSnapshot(PreferAcceleration, SnapshotReasonTransferToImageBitmap); |
+ DCHECK(isMainThread() || !skImage->isTextureBacked()); // Acceleration not yet supported in Workers |
RefPtr<StaticBitmapImage> image = StaticBitmapImage::create(std::move(skImage)); |
image->setOriginClean(this->originClean()); |
m_imageBuffer.reset(); // "Transfer" means no retained buffer |