From 3b23e2cc712b322873ac11264d95f0bac595114f Mon Sep 17 00:00:00 2001 From: "tonyg@chromium.org" Date: Tue, 7 Feb 2012 16:43:23 +0000 Subject: [PATCH] Unreviewed, rolling out r106935. http://trac.webkit.org/changeset/106935 https://bugs.webkit.org/show_bug.cgi?id=77994 "Crashes runMultiThread webkit_unit_test" (Requested by tonyg- cr on #webkit). Patch by Sheriff Bot on 2012-02-07 Source/WebCore: * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: (WebCore::CCLayerTreeHost::setNeedsRedraw): * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: (WebCore::CCSingleThreadProxy::setNeedsRedraw): * platform/graphics/chromium/cc/CCThreadProxy.cpp: (WebCore::CCThreadProxy::setNeedsRedraw): * platform/graphics/chromium/cc/CCThreadProxy.h: (CCThreadProxy): Source/WebKit/chromium: * public/WebWidget.h: (WebWidget): * src/WebViewImpl.cpp: * src/WebViewImpl.h: (WebViewImpl): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106951 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 18 ++++++++++++++++++ .../platform/graphics/chromium/cc/CCLayerTreeHost.cpp | 5 +++-- .../graphics/chromium/cc/CCSingleThreadProxy.cpp | 5 ----- .../platform/graphics/chromium/cc/CCThreadProxy.cpp | 10 ---------- .../platform/graphics/chromium/cc/CCThreadProxy.h | 1 - Source/WebKit/chromium/ChangeLog | 15 +++++++++++++++ Source/WebKit/chromium/public/WebWidget.h | 5 ----- Source/WebKit/chromium/src/WebViewImpl.cpp | 8 -------- Source/WebKit/chromium/src/WebViewImpl.h | 1 - 9 files changed, 36 insertions(+), 32 deletions(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 5aa1803..5c900f0 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,5 +1,23 @@ 2012-02-07 Sheriff Bot + Unreviewed, rolling out r106935. + http://trac.webkit.org/changeset/106935 + https://bugs.webkit.org/show_bug.cgi?id=77994 + + "Crashes runMultiThread webkit_unit_test" (Requested by tonyg- + cr on #webkit). + + * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: + (WebCore::CCLayerTreeHost::setNeedsRedraw): + * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: + (WebCore::CCSingleThreadProxy::setNeedsRedraw): + * platform/graphics/chromium/cc/CCThreadProxy.cpp: + (WebCore::CCThreadProxy::setNeedsRedraw): + * platform/graphics/chromium/cc/CCThreadProxy.h: + (CCThreadProxy): + +2012-02-07 Sheriff Bot + Unreviewed, rolling out r106932. http://trac.webkit.org/changeset/106932 https://bugs.webkit.org/show_bug.cgi?id=77988 diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp index 525ec8d..50d76a5 100644 --- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp +++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp @@ -251,8 +251,9 @@ void CCLayerTreeHost::setNeedsCommit() void CCLayerTreeHost::setNeedsRedraw() { - m_proxy->setNeedsRedraw(); - if (!CCThreadProxy::implThread()) + if (CCThreadProxy::implThread()) + m_proxy->setNeedsRedraw(); + else m_client->scheduleComposite(); } diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp index a7ea6a0..70dec05 100644 --- a/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp +++ b/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp @@ -29,7 +29,6 @@ #include "GraphicsContext3D.h" #include "LayerRendererChromium.h" #include "TraceEvent.h" -#include "cc/CCDamageTracker.h" #include "cc/CCLayerTreeHost.h" #include "cc/CCTextureUpdater.h" #include @@ -195,10 +194,6 @@ void CCSingleThreadProxy::setNeedsCommit() void CCSingleThreadProxy::setNeedsRedraw() { - CCRenderSurface* renderSurface = m_layerTreeHostImpl->rootLayer()->renderSurface(); - if (renderSurface) - renderSurface->damageTracker()->forceFullDamageNextUpdate(); - // FIXME: Once we move render_widget scheduling into this class, we can // treat redraw requests more efficiently than commitAndRedraw requests. setNeedsCommit(); diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp index 34db5c5..4b203f3 100644 --- a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp +++ b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp @@ -28,7 +28,6 @@ #include "GraphicsContext3D.h" #include "TraceEvent.h" -#include "cc/CCDamageTracker.h" #include "cc/CCDelayBasedTimeSource.h" #include "cc/CCFrameRateController.h" #include "cc/CCInputHandler.h" @@ -249,7 +248,6 @@ void CCThreadProxy::setNeedsRedraw() { ASSERT(isMainThread()); TRACE_EVENT("CCThreadProxy::setNeedsRedraw", this, 0); - CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::resetDamageTrackerOnImplThread)); CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::setNeedsRedrawOnImplThread)); } @@ -276,14 +274,6 @@ void CCThreadProxy::setVisibleOnImplThread(CCCompletionEvent* completion, bool v completion->signal(); } -void CCThreadProxy::resetDamageTrackerOnImplThread() -{ - ASSERT(isImplThread()); - CCRenderSurface* renderSurface = m_layerTreeHostImpl->rootLayer()->renderSurface(); - if (renderSurface) - renderSurface->damageTracker()->forceFullDamageNextUpdate(); -} - void CCThreadProxy::setNeedsRedrawOnImplThread() { ASSERT(isImplThread()); diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h index 9392311..b65a6c6 100644 --- a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h +++ b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h @@ -103,7 +103,6 @@ private: void initializeLayerRendererOnImplThread(CCCompletionEvent*, bool* initializeSucceeded, LayerRendererCapabilities*); void setVisibleOnImplThread(CCCompletionEvent*, bool visible); void layerTreeHostClosedOnImplThread(CCCompletionEvent*); - void resetDamageTrackerOnImplThread(); // Accessed on main thread only. bool m_animateRequested; diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog index e47ae0b..213dcfc 100644 --- a/Source/WebKit/chromium/ChangeLog +++ b/Source/WebKit/chromium/ChangeLog @@ -1,3 +1,18 @@ +2012-02-07 Sheriff Bot + + Unreviewed, rolling out r106935. + http://trac.webkit.org/changeset/106935 + https://bugs.webkit.org/show_bug.cgi?id=77994 + + "Crashes runMultiThread webkit_unit_test" (Requested by tonyg- + cr on #webkit). + + * public/WebWidget.h: + (WebWidget): + * src/WebViewImpl.cpp: + * src/WebViewImpl.h: + (WebViewImpl): + 2012-02-07 Jonathan Backer [chromium] Add setNeedsRedraw to WebWidget diff --git a/Source/WebKit/chromium/public/WebWidget.h b/Source/WebKit/chromium/public/WebWidget.h index 58f3fa1..ca160a2 100644 --- a/Source/WebKit/chromium/public/WebWidget.h +++ b/Source/WebKit/chromium/public/WebWidget.h @@ -107,11 +107,6 @@ public: // animate or layout in this case. virtual void composite(bool finish) = 0; - // Temporary method for the embedder to notify the WebWidget that the widget - // has taken damage, e.g. due to a window expose. This method will be - // removed when the WebWidget inversion patch lands --- http://crbug.com/112837 - virtual void setNeedsRedraw() { } - // Called to inform the WebWidget of a change in theme. // Implementors that cache rendered copies of widgets need to re-render // on receiving this message diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp index 436b1ff..4629cbb 100644 --- a/Source/WebKit/chromium/src/WebViewImpl.cpp +++ b/Source/WebKit/chromium/src/WebViewImpl.cpp @@ -1271,14 +1271,6 @@ void WebViewImpl::composite(bool) #endif } -void WebViewImpl::setNeedsRedraw() -{ -#if USE(ACCELERATED_COMPOSITING) - if (m_layerTreeHost && isAcceleratedCompositingActive()) - m_layerTreeHost->setNeedsRedraw(); -#endif -} - void WebViewImpl::loseCompositorContext(int numTimes) { #if USE(ACCELERATED_COMPOSITING) diff --git a/Source/WebKit/chromium/src/WebViewImpl.h b/Source/WebKit/chromium/src/WebViewImpl.h index fe01977..a039a09 100644 --- a/Source/WebKit/chromium/src/WebViewImpl.h +++ b/Source/WebKit/chromium/src/WebViewImpl.h @@ -113,7 +113,6 @@ public: virtual void paint(WebCanvas*, const WebRect&); virtual void themeChanged(); virtual void composite(bool finish); - virtual void setNeedsRedraw(); virtual bool handleInputEvent(const WebInputEvent&); virtual void mouseCaptureLost(); virtual void setFocus(bool enable); -- 2.7.4