Chromium Code Reviews| Index: third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp |
| diff --git a/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp b/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp |
| index 1b81bb3b60dae24db2760fa58dd1ce78d928b28c..d23480e13d8089f0e34e961065ac7d9bfe24d96a 100644 |
| --- a/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp |
| +++ b/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp |
| @@ -228,7 +228,6 @@ sk_sp<PaintRecord> RecordingImageBufferSurface::getPicture() { |
| FallbackReason fallbackReason = FallbackReasonUnknown; |
| bool canUsePicture = finalizeFrameInternal(&fallbackReason); |
| - m_imageBuffer->didFinalizeFrame(); |
| ASSERT(canUsePicture || m_fallbackFactory); |
| @@ -241,9 +240,9 @@ sk_sp<PaintRecord> RecordingImageBufferSurface::getPicture() { |
| return nullptr; |
| } |
| -void RecordingImageBufferSurface::finalizeFrame(const FloatRect& dirtyRect) { |
| +void RecordingImageBufferSurface::finalizeFrame() { |
| if (m_fallbackSurface) { |
| - m_fallbackSurface->finalizeFrame(dirtyRect); |
| + m_fallbackSurface->finalizeFrame(); |
| return; |
| } |
| @@ -252,6 +251,14 @@ void RecordingImageBufferSurface::finalizeFrame(const FloatRect& dirtyRect) { |
| fallBackToRasterCanvas(fallbackReason); |
| } |
| +void RecordingImageBufferSurface::doPaintInvalidation( |
| + const FloatRect& dirtyRect) { |
| + if (m_fallbackSurface) { |
| + m_fallbackSurface->doPaintInvalidation(dirtyRect); |
| + return; |
|
xlai (Olivia)
2017/02/08 17:58:40
no need "return".
Justin Novosad
2017/02/08 18:43:12
Done.
|
| + } |
| +} |
| + |
| static RecordingImageBufferSurface::FallbackReason flushReasonToFallbackReason( |
| FlushReason reason) { |
| switch (reason) { |
| @@ -298,8 +305,7 @@ bool RecordingImageBufferSurface::finalizeFrameInternal( |
| ASSERT(m_currentFrame->getRecordingCanvas()); |
| ASSERT(fallbackReason); |
| ASSERT(*fallbackReason == FallbackReasonUnknown); |
| - |
| - if (!m_imageBuffer->isDirty()) { |
| + if (!m_didRecordDrawCommandsInCurrentFrame) { |
| if (!m_previousFrame) { |
| // Create an initial blank frame |
| m_previousFrame = m_currentFrame->finishRecordingAsPicture(); |