Skip to content

Instantly share code, notes, and snippets.

@zenoalbisser
Created July 28, 2012 13:23
Show Gist options
  • Select an option

  • Save zenoalbisser/3193379 to your computer and use it in GitHub Desktop.

Select an option

Save zenoalbisser/3193379 to your computer and use it in GitHub Desktop.
commit c7e933e2a6f509c75713d19aaf5b9039e5007068
Author: Zeno Albisser <zeno@webkit.org>
Date: Sat Jul 28 15:15:03 2012 +0200
raf fixes
diff --git a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index 9281442..29412f7 100644
--- a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -104,7 +104,7 @@ public:
{
m_animationScheduled = true;
if (state() != QAbstractAnimation::Running)
- start();
+ QMetaObject::invokeMethod(this, "start", Qt::QueuedConnection);
}
protected:
diff --git a/Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp b/Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp
index 629291a..3678562 100644
--- a/Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp
+++ b/Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp
@@ -119,6 +119,8 @@ void LayerTreeCoordinatorProxy::didRenderFrame()
{
dispatchUpdate(bind(&WebLayerTreeRenderer::flushLayerChanges, m_renderer.get()));
updateViewport();
+ if (!m_renderer->isActive())
+ renderNextFrame();
}
void LayerTreeCoordinatorProxy::createDirectlyCompositedImage(int64_t key, const WebKit::ShareableBitmap::Handle& handle)
diff --git a/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp b/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp
index 95049a3..8534cb3 100644
--- a/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp
+++ b/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp
@@ -498,6 +498,11 @@ void WebLayerTreeRenderer::setActive(bool active)
renderNextFrame();
}
+bool WebLayerTreeRenderer::isActive() const
+{
+ return m_isActive;
+}
+
} // namespace WebKit
#endif // USE(UI_SIDE_COMPOSITING)
diff --git a/Source/WebKit2/UIProcess/WebLayerTreeRenderer.h b/Source/WebKit2/UIProcess/WebLayerTreeRenderer.h
index 2a4bab5..bc8fc51 100644
--- a/Source/WebKit2/UIProcess/WebLayerTreeRenderer.h
+++ b/Source/WebKit2/UIProcess/WebLayerTreeRenderer.h
@@ -74,6 +74,7 @@ public:
void appendUpdate(const Function<void()>&);
void updateViewport();
void setActive(bool);
+ bool isActive() const;
void deleteLayer(WebLayerID);
void setRootLayerID(WebLayerID);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment