Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(668)

Unified Diff: third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp

Issue 2223813002: Use CanvasBlobSerialization task runner for canvas serialization (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
diff --git a/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp b/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
index 094e80257b54911f076f9bc52af6f0057b2950be..e2842cf5be1ea308252a549bc1c96dc74a0d5bf3 100644
--- a/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
+++ b/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
@@ -219,7 +219,7 @@ void CanvasAsyncBlobCreator::idleEncodeRowsPng(double deadlineSeconds)
toBlobPNGIdleEncodeCounter.count(m_elapsedTime * 1000000.0);
if (isDeadlineNearOrPassed(deadlineSeconds)) {
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::createBlobAndInvokeCallback, wrapPersistent(this)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::createBlobAndInvokeCallback, wrapPersistent(this)));
} else {
this->createBlobAndInvokeCallback();
}
@@ -240,7 +240,7 @@ void CanvasAsyncBlobCreator::idleEncodeRowsJpeg(double deadlineSeconds)
DEFINE_STATIC_LOCAL(CustomCountHistogram, toBlobJPEGIdleEncodeCounter, ("Blink.Canvas.ToBlob.IdleEncodeDuration.JPEG", 0, 10000000, 50));
toBlobJPEGIdleEncodeCounter.count(m_elapsedTime * 1000000.0);
if (isDeadlineNearOrPassed(deadlineSeconds)) {
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::createBlobAndInvokeCallback, wrapPersistent(this)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::createBlobAndInvokeCallback, wrapPersistent(this)));
} else {
this->createBlobAndInvokeCallback();
}
@@ -305,7 +305,7 @@ void CanvasAsyncBlobCreator::createBlobAndInvokeCallback()
toBlobWEBPCounter.count(elapsedTime * 1000000.0);
}
Blob* resultBlob = Blob::create(m_encodedImage->data(), m_encodedImage->size(), convertMimeTypeEnumToString(m_mimeType));
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&BlobCallback::handleEvent, wrapPersistent(m_callback.get()), wrapPersistent(resultBlob)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&BlobCallback::handleEvent, wrapPersistent(m_callback.get()), wrapPersistent(resultBlob)));
// Avoid unwanted retention, see dispose().
dispose();
}
@@ -314,7 +314,7 @@ void CanvasAsyncBlobCreator::createNullAndInvokeCallback()
{
ASSERT(isMainThread());
recordIdleTaskStatusHistogram();
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&BlobCallback::handleEvent, wrapPersistent(m_callback.get()), nullptr));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&BlobCallback::handleEvent, wrapPersistent(m_callback.get()), nullptr));
// Avoid unwanted retention, see dispose().
dispose();
}
@@ -325,11 +325,11 @@ void CanvasAsyncBlobCreator::encodeImageOnEncoderThread(double quality)
ASSERT(m_mimeType == MimeTypeWebp);
if (!ImageDataBuffer(m_size, m_data->data()).encodeImage("image/webp", quality, m_encodedImage.get())) {
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, crossThreadBind(&BlobCallback::handleEvent, wrapCrossThreadPersistent(m_callback.get()), nullptr));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, crossThreadBind(&BlobCallback::handleEvent, wrapCrossThreadPersistent(m_callback.get()), nullptr));
return;
}
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, crossThreadBind(&CanvasAsyncBlobCreator::createBlobAndInvokeCallback, wrapCrossThreadPersistent(this)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, crossThreadBind(&CanvasAsyncBlobCreator::createBlobAndInvokeCallback, wrapCrossThreadPersistent(this)));
}
bool CanvasAsyncBlobCreator::initializePngStruct()
@@ -366,7 +366,7 @@ void CanvasAsyncBlobCreator::idleTaskStartTimeoutEvent(double quality)
if (m_mimeType == MimeTypePng) {
if (initializePngStruct()) {
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsPngOnMainThread, wrapPersistent(this)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsPngOnMainThread, wrapPersistent(this)));
} else {
// Failing in initialization of png struct
this->signalAlternativeCodePathFinishedForTesting();
@@ -374,7 +374,7 @@ void CanvasAsyncBlobCreator::idleTaskStartTimeoutEvent(double quality)
} else {
ASSERT(m_mimeType == MimeTypeJpeg);
if (initializeJpegStruct(quality)) {
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsJpegOnMainThread, wrapPersistent(this)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsJpegOnMainThread, wrapPersistent(this)));
} else {
// Failing in initialization of jpeg struct
this->signalAlternativeCodePathFinishedForTesting();
@@ -396,10 +396,10 @@ void CanvasAsyncBlobCreator::idleTaskCompleteTimeoutEvent()
signalTaskSwitchInCompleteTimeoutEventForTesting();
if (m_mimeType == MimeTypePng) {
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsPngOnMainThread, wrapPersistent(this)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsPngOnMainThread, wrapPersistent(this)));
} else {
ASSERT(m_mimeType == MimeTypeJpeg);
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsJpegOnMainThread, wrapPersistent(this)));
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postTask(BLINK_FROM_HERE, WTF::bind(&CanvasAsyncBlobCreator::encodeRowsJpegOnMainThread, wrapPersistent(this)));
}
} else {
ASSERT(m_idleTaskStatus == IdleTaskFailed || m_idleTaskStatus == IdleTaskCompleted);
@@ -410,7 +410,7 @@ void CanvasAsyncBlobCreator::idleTaskCompleteTimeoutEvent()
void CanvasAsyncBlobCreator::postDelayedTaskToMainThread(const WebTraceLocation& location, std::unique_ptr<WTF::Closure> task, double delayMs)
{
DCHECK(isMainThread());
- TaskRunnerHelper::getUnthrottledTaskRunner(m_document)->postDelayedTask(location, std::move(task), delayMs);
+ TaskRunnerHelper::get(TaskType::CanvasBlobSerialization, m_document)->postDelayedTask(location, std::move(task), delayMs);
}
DEFINE_TRACE(CanvasAsyncBlobCreator)
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698