COMMIT_MESSAGE

 1[WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
 2https://bugs.webkit.org/show_bug.cgi?id=93077
 3
 4Reviewed by NOBODY (OOPS!).
 5
 6Force tile updates when doing a forced repaint.
 7
 8* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
 9(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
 10(WebKit::LayerTreeCoordinator::forceRepaint):
 11(WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
 12* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
 13(LayerTreeCoordinator):

Source/WebKit2/ChangeLog

 12012-08-03 Balazs Kelemen <kbalazs@webkit.org>
 2
 3 [WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
 4 https://bugs.webkit.org/show_bug.cgi?id=93077
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Force tile updates when doing a forced repaint.
 9
 10 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
 11 (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
 12 (WebKit::LayerTreeCoordinator::forceRepaint):
 13 (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
 14 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
 15 (LayerTreeCoordinator):
 16
1172012-08-01 Balazs Kelemen <kbalazs@webkit.org>
218
319 [Qt] Enable GL-based pixel tests in WTR using QRawWebView

Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp

4444#include <WebCore/RenderLayerCompositor.h>
4545#include <WebCore/RenderView.h>
4646#include <WebCore/Settings.h>
 47#include <wtf/TemporaryChange.h>
4748
4849using namespace WebCore;
4950

@@LayerTreeCoordinator::LayerTreeCoordinator(WebPage* webPage)
7778 , m_shouldSyncRootLayer(true)
7879 , m_layerFlushTimer(this, &LayerTreeCoordinator::layerFlushTimerFired)
7980 , m_layerFlushSchedulingEnabled(true)
 81 , m_inForceRepaint(false)
8082{
8183 // Create a root layer.
8284 m_rootLayer = GraphicsLayer::create(this);

@@void LayerTreeCoordinator::scrollNonCompositedContents(const WebCore::IntRect& s
174176
175177void LayerTreeCoordinator::forceRepaint()
176178{
 179 WTF::TemporaryChange<bool> inForceRepaint(m_inForceRepaint, true);
 180
177181 // We need to schedule another flush, otherwise the forced paint might cancel a later expected flush.
178182 // This is aligned with LayerTreeHostCA.
179183 scheduleLayerFlush();

@@void LayerTreeCoordinator::renderNextFrame()
565569
566570bool LayerTreeCoordinator::layerTreeTileUpdatesAllowed() const
567571{
568  return !m_isSuspended && !m_waitingForUIProcess;
 572 return m_inForceRepaint || (!m_isSuspended && !m_waitingForUIProcess);
569573}
570574
571575void LayerTreeCoordinator::purgeBackingStores()

Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h

@@private:
136136 void layerFlushTimerFired(WebCore::Timer<LayerTreeCoordinator>*);
137137 WebCore::Timer<LayerTreeCoordinator> m_layerFlushTimer;
138138 bool m_layerFlushSchedulingEnabled;
 139 bool m_inForceRepaint;
139140};
140141
141142}