Index: third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
index 6fa3c4bcab02e1a7227a1e76db7dd89befcd5435..2b554b54362aa1de55080ff79e61bf09aad4937e 100644 |
--- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
+++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
@@ -611,7 +611,11 @@ void HTMLCanvasElement::toBlob(ScriptState* scriptState, BlobCallback* callback, |
RefPtr<CanvasAsyncBlobCreator> asyncCreatorRef = CanvasAsyncBlobCreator::create(imageDataRef.release(), encodingMimeType, imageData->size(), callback, scriptState->executionContext()); |
- asyncCreatorRef->scheduleAsyncBlobCreation(quality); |
+ if (Platform::current()->isThreadedCompositingEnabled() && (encodingMimeType == DefaultMimeType)) { |
+ asyncCreatorRef->scheduleAsyncBlobCreation(true); |
+ } else { |
+ asyncCreatorRef->scheduleAsyncBlobCreation(false, quality); |
+ } |
} |
void HTMLCanvasElement::addListener(CanvasDrawListener* listener) |