Chromium Code Reviews| Index: third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.cpp |
| diff --git a/third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.cpp b/third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.cpp |
| index 9c29fa204ffb11267ec57714fdc84336fb9bdcbc..86b14a70ef21f6209b91835456ba85c93325f7a7 100644 |
| --- a/third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.cpp |
| +++ b/third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.cpp |
| @@ -220,7 +220,7 @@ void ImageBitmapFactories::ImageBitmapLoader::scheduleAsyncImageBitmapDecoding(D |
| if (arrayBuffer->byteLength() >= longTaskByteLengthThreshold) |
| taskSize = BackgroundTaskRunner::TaskSizeLongRunningTask; |
| WebTaskRunner* taskRunner = Platform::current()->currentThread()->getWebTaskRunner(); |
| - BackgroundTaskRunner::postOnBackgroundThread(BLINK_FROM_HERE, threadSafeBind(&ImageBitmapFactories::ImageBitmapLoader::decodeImageOnDecoderThread, AllowCrossThreadAccess(this), AllowCrossThreadAccess(taskRunner), AllowCrossThreadAccess(arrayBuffer)), taskSize); |
| + BackgroundTaskRunner::postOnBackgroundThread(BLINK_FROM_HERE, threadSafeBind(&ImageBitmapFactories::ImageBitmapLoader::decodeImageOnDecoderThread, wrapCrossThreadPersistent(this), AllowCrossThreadAccess(taskRunner), wrapCrossThreadPersistent(arrayBuffer)), taskSize); |
|
sof
2016/05/17 05:44:46
Clarifying Q: why is it considered preferable to h
hiroshige
2016/05/17 05:57:12
|AllowCrossThreadAccess(taskRunner)| will be repla
sof
2016/05/17 06:05:24
ok, we'll arrive at names that work better iterati
|
| } |
| void ImageBitmapFactories::ImageBitmapLoader::decodeImageOnDecoderThread(WebTaskRunner* taskRunner, DOMArrayBuffer* arrayBuffer) |
| @@ -240,7 +240,7 @@ void ImageBitmapFactories::ImageBitmapLoader::decodeImageOnDecoderThread(WebTask |
| decoder->setData(sharedBuffer.get(), true); |
| frame = ImageBitmap::getSkImageFromDecoder(std::move(decoder)); |
| } |
| - taskRunner->postTask(BLINK_FROM_HERE, threadSafeBind(&ImageBitmapFactories::ImageBitmapLoader::resolvePromiseOnOriginalThread, AllowCrossThreadAccess(this), frame.release())); |
| + taskRunner->postTask(BLINK_FROM_HERE, threadSafeBind(&ImageBitmapFactories::ImageBitmapLoader::resolvePromiseOnOriginalThread, wrapCrossThreadPersistent(this), frame.release())); |
| } |
| void ImageBitmapFactories::ImageBitmapLoader::resolvePromiseOnOriginalThread(PassRefPtr<SkImage> frame) |