Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.h |
| diff --git a/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.h b/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.h |
| index 0bb35edfa2a2d5354e7b6dc7849d45f17b674c76..9ef329a974b95eb72a6c4ba7138faa93680eb91f 100644 |
| --- a/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.h |
| +++ b/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.h |
| @@ -18,7 +18,7 @@ class JPEGImageEncoderState; |
| class CORE_EXPORT CanvasAsyncBlobCreator : public GarbageCollectedFinalized<CanvasAsyncBlobCreator> { |
| public: |
| - static CanvasAsyncBlobCreator* create(DOMUint8ClampedArray* unpremultipliedRGBAImageData, const String& mimeType, const IntSize&, BlobCallback*); |
| + static CanvasAsyncBlobCreator* create(DOMUint8ClampedArray* unpremultipliedRGBAImageData, const String& mimeType, const IntSize&, BlobCallback*, double); |
| void scheduleAsyncBlobCreation(bool canUseIdlePeriodScheduling, const double& quality = 0.0); |
| virtual ~CanvasAsyncBlobCreator(); |
| enum MimeType { |
| @@ -27,13 +27,15 @@ public: |
| MimeTypeWebp, |
| NumberOfMimeTypeSupported |
| }; |
| + // enum used in histogram |
|
Ilya Sherman
2016/06/29 22:01:02
nit: Suggested phrasing: "This enum is used to bac
xidachen
2016/06/30 01:53:38
Done.
|
| enum IdleTaskStatus { |
| IdleTaskNotStarted, |
| IdleTaskStarted, |
| IdleTaskCompleted, |
| IdleTaskFailed, |
| IdleTaskSwitchedToMainThreadTask, |
| - IdleTaskNotSupported // Idle tasks are not implemented for some image types |
| + IdleTaskNotSupported, // Idle tasks are not implemented for some image types |
| + IdleTaskNotUsed, // Should not be seen in production |
|
Ilya Sherman
2016/06/29 22:01:02
nit: I'd name this "IdleTaskCount", which more cle
xidachen
2016/06/30 01:53:38
Done.
|
| }; |
| // Methods are virtual for mocking in unit tests |
| virtual void signalTaskSwitchInStartTimeoutEventForTesting() { } |
| @@ -46,7 +48,7 @@ public: |
| } |
| protected: |
| - CanvasAsyncBlobCreator(DOMUint8ClampedArray* data, MimeType, const IntSize&, BlobCallback*); |
| + CanvasAsyncBlobCreator(DOMUint8ClampedArray* data, MimeType, const IntSize&, BlobCallback*, double); |
| // Methods are virtual for unit testing |
| virtual void scheduleInitiatePngEncoding(); |
| virtual void scheduleInitiateJpegEncoding(const double&); |
| @@ -76,6 +78,9 @@ private: |
| size_t m_pixelRowStride; |
| const MimeType m_mimeType; |
| Member<BlobCallback> m_callback; |
| + double m_startTime; |
| + double m_scheduleInitiateStartTime; |
| + double m_elapsedTime; |
| // PNG |
| bool initializePngStruct(); |
| @@ -90,6 +95,7 @@ private: |
| void idleTaskStartTimeoutEvent(double quality); |
| void idleTaskCompleteTimeoutEvent(); |
| + void recordIdleTaskStatusHistogram(); |
| }; |
| } // namespace blink |