| 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 65f3f5bb41907120e921840bbce2dae8adacd2a1..ae0e35226b0398dfb5801e9c570396cebce20d0d 100644
|
| --- a/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
|
| +++ b/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
|
| @@ -59,9 +59,9 @@ void OffscreenCanvasRenderingContext2D::setOriginTainted()
|
| bool OffscreenCanvasRenderingContext2D::wouldTaintOrigin(CanvasImageSource* source, ExecutionContext* executionContext)
|
| {
|
| if (executionContext->isWorkerGlobalScope()) {
|
| - // Currently, we only support passing in ImageBitmap as source image in
|
| - // drawImage() or createPattern() in a OffscreenCanvas2d in worker.
|
| - ASSERT(source->isImageBitmap());
|
| + // We only support passing in ImageBitmap and OffscreenCanvases as source images
|
| + // in drawImage() or createPattern() in a OffscreenCanvas2d in worker.
|
| + DCHECK(source->isImageBitmap() || source->isOffscreenCanvas());
|
| }
|
|
|
| return CanvasRenderingContext::wouldTaintOrigin(source, executionContext->getSecurityOrigin());
|
| @@ -128,6 +128,15 @@ ImageBitmap* OffscreenCanvasRenderingContext2D::transferToImageBitmap(ExceptionS
|
| return ImageBitmap::create(image.release());
|
| }
|
|
|
| +PassRefPtr<Image> OffscreenCanvasRenderingContext2D::getImage(SnapshotReason reason) const
|
| +{
|
| + if (!imageBuffer())
|
| + return nullptr;
|
| + RefPtr<SkImage> skImage = m_imageBuffer->newSkImageSnapshot(PreferAcceleration, reason);
|
| + RefPtr<StaticBitmapImage> image = StaticBitmapImage::create(skImage.release());
|
| + return image;
|
| +}
|
| +
|
| void OffscreenCanvasRenderingContext2D::setOffscreenCanvasGetContextResult(OffscreenRenderingContext& result)
|
| {
|
| result.setOffscreenCanvasRenderingContext2D(this);
|
|
|