| 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 86acd77dab2b4b29382b64ffd2ec6394a39acbbb..4e61747e58d129538ed3a73008dd29ed0d736481 100644
|
| --- a/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
|
| +++ b/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
|
| @@ -17,6 +17,7 @@
|
| #include "public/platform/WebTraceLocation.h"
|
| #include "wtf/CurrentTime.h"
|
| #include "wtf/Functional.h"
|
| +#include <iostream>
|
|
|
| namespace blink {
|
|
|
| @@ -107,6 +108,7 @@ void CanvasAsyncBlobCreator::initiateJpegEncoding(const double& quality)
|
|
|
| void CanvasAsyncBlobCreator::scheduleInitiatePngEncoding()
|
| {
|
| + std::cout << "Begin! Posting idle task to initiate" << std::endl;
|
| Platform::current()->mainThread()->scheduler()->postIdleTask(BLINK_FROM_HERE, bind<double>(&CanvasAsyncBlobCreator::initiatePngEncoding, this));
|
| }
|
|
|
| @@ -117,6 +119,7 @@ void CanvasAsyncBlobCreator::initiatePngEncoding(double deadlineSeconds)
|
| return;
|
| }
|
|
|
| + std::cout << "Idle task is starting " << std::endl;
|
| ASSERT(m_idleTaskStatus == IdleTaskNotStarted);
|
| m_idleTaskStatus = IdleTaskStarted;
|
|
|
| @@ -134,10 +137,14 @@ void CanvasAsyncBlobCreator::idleEncodeRowsPng(double deadlineSeconds)
|
| return;
|
| }
|
|
|
| + if (m_numRowsCompleted > 0 )
|
| + std::cout << "Idle task continued... " << std::flush;
|
| +
|
| unsigned char* inputPixels = m_data->data() + m_pixelRowStride * m_numRowsCompleted;
|
| for (int y = m_numRowsCompleted; y < m_size.height(); ++y) {
|
| if (isDeadlineNearOrPassed(deadlineSeconds)) {
|
| m_numRowsCompleted = y;
|
| + std::cout << "Idle task paused at row " << m_numRowsCompleted << "..." << std::flush;
|
| Platform::current()->currentThread()->scheduler()->postIdleTask(BLINK_FROM_HERE, bind<double>(&CanvasAsyncBlobCreator::idleEncodeRowsPng, this));
|
| return;
|
| }
|
| @@ -148,6 +155,8 @@ void CanvasAsyncBlobCreator::idleEncodeRowsPng(double deadlineSeconds)
|
| PNGImageEncoder::finalizePng(m_pngEncoderState.get());
|
|
|
| m_idleTaskStatus = IdleTaskCompleted;
|
| + std::cout << std::endl;
|
| + std::cout << "Idle task completed " << std::endl;
|
|
|
| if (isDeadlineNearOrPassed(deadlineSeconds)) {
|
| Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FROM_HERE, bind(&CanvasAsyncBlobCreator::createBlobAndInvokeCallback, this));
|
|
|