Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index a22d0eb4051eef44d6c7a23bc0bd0afc94f0597e..a170b30c711d430597a550f8a410233e7b41e766 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -110,6 +110,7 @@ |
#include "platform/graphics/Color.h" |
#include "platform/graphics/Image.h" |
#include "platform/graphics/ImageBuffer.h" |
+#include "platform/scheduler/Scheduler.h" |
#include "platform/scroll/ScrollbarTheme.h" |
#include "platform/weborigin/SchemeRegistry.h" |
#include "public/platform/Platform.h" |
@@ -1733,13 +1734,15 @@ void WebViewImpl::beginFrame(const WebBeginFrameArgs& frameTime) |
{ |
TRACE_EVENT0("blink", "WebViewImpl::beginFrame"); |
- double monotonicFrameBeginTime = frameTime.lastFrameTimeMonotonic; |
- if (!monotonicFrameBeginTime) |
- monotonicFrameBeginTime = monotonicallyIncreasingTime(); |
+ WebBeginFrameArgs validFrameTime(frameTime); |
+ if (!validFrameTime.lastFrameTimeMonotonic) |
+ validFrameTime.lastFrameTimeMonotonic = monotonicallyIncreasingTime(); |
+ |
+ Scheduler::shared()->willBeginFrame(validFrameTime); |
// Create synthetic wheel events as necessary for fling. |
if (m_gestureAnimation) { |
- if (m_gestureAnimation->animate(monotonicFrameBeginTime)) |
+ if (m_gestureAnimation->animate(validFrameTime.lastFrameTimeMonotonic)) |
scheduleAnimation(); |
else { |
endActiveFlingAnimation(); |
@@ -1757,7 +1760,7 @@ void WebViewImpl::beginFrame(const WebBeginFrameArgs& frameTime) |
if (!m_page) |
return; |
- PageWidgetDelegate::animate(m_page.get(), monotonicFrameBeginTime); |
+ PageWidgetDelegate::animate(m_page.get(), validFrameTime.lastFrameTimeMonotonic); |
if (m_continuousPaintingEnabled) { |
ContinuousPainter::setNeedsDisplayRecursive(m_rootGraphicsLayer, m_pageOverlays.get()); |
@@ -1765,6 +1768,11 @@ void WebViewImpl::beginFrame(const WebBeginFrameArgs& frameTime) |
} |
} |
+void WebViewImpl::didCommitFrameToCompositor() |
+{ |
+ Scheduler::shared()->didCommitFrameToCompositor(); |
+} |
+ |
void WebViewImpl::layout() |
{ |
TRACE_EVENT0("blink", "WebViewImpl::layout"); |