Diff
Modified: trunk/Source/WebCore/ChangeLog (121276 => 121277)
--- trunk/Source/WebCore/ChangeLog 2012-06-26 19:21:32 UTC (rev 121276)
+++ trunk/Source/WebCore/ChangeLog 2012-06-26 19:34:23 UTC (rev 121277)
@@ -1,3 +1,19 @@
+2012-06-26 Ian Vollick <[email protected]>
+
+ [chromium] The single thread proxy should not automatically tick new animations.
+ https://bugs.webkit.org/show_bug.cgi?id=89996
+
+ Reviewed by James Robinson.
+
+ No new tests. No change to existing functionality.
+
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
+ (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
+ (WebCore::CCSingleThreadProxy::didAddAnimation):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ (WebCore):
+
2012-06-26 Julien Chaffraix <[email protected]>
Crash in FixedTableLayout::layout
Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp (121276 => 121277)
--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp 2012-06-26 19:21:32 UTC (rev 121276)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp 2012-06-26 19:34:23 UTC (rev 121277)
@@ -39,26 +39,6 @@
namespace WebCore {
-class CCSingleThreadProxyAnimationTimer : public CCTimer, CCTimerClient {
-public:
- static PassOwnPtr<CCSingleThreadProxyAnimationTimer> create(CCSingleThreadProxy* proxy) { return adoptPtr(new CCSingleThreadProxyAnimationTimer(proxy)); }
-
- virtual void onTimerFired() OVERRIDE
- {
- if (m_proxy->m_layerRendererInitialized)
- m_proxy->compositeImmediately();
- }
-
-private:
- explicit CCSingleThreadProxyAnimationTimer(CCSingleThreadProxy* proxy)
- : CCTimer(CCProxy::mainThread(), this)
- , m_proxy(proxy)
- {
- }
-
- CCSingleThreadProxy* m_proxy;
-};
-
PassOwnPtr<CCProxy> CCSingleThreadProxy::create(CCLayerTreeHost* layerTreeHost)
{
return adoptPtr(new CCSingleThreadProxy(layerTreeHost));
@@ -68,7 +48,6 @@
: m_layerTreeHost(layerTreeHost)
, m_contextLost(false)
, m_compositorIdentifier(-1)
- , m_animationTimer(CCSingleThreadProxyAnimationTimer::create(this))
, m_layerRendererInitialized(false)
, m_nextFrameIsNewlyCommittedFrame(false)
{
@@ -168,9 +147,7 @@
if (ok) {
m_layerRendererInitialized = true;
m_layerRendererCapabilitiesForMainThread = m_layerTreeHostImpl->layerRendererCapabilities();
- } else
- // If we couldn't initialize the layer renderer, we shouldn't process any future animation events.
- m_animationTimer->stop();
+ }
return ok;
}
@@ -277,7 +254,6 @@
void CCSingleThreadProxy::didAddAnimation()
{
- m_animationTimer->startOneShot(animationTimerDelay());
}
void CCSingleThreadProxy::stop()
@@ -318,11 +294,6 @@
}
}
-double CCSingleThreadProxy::animationTimerDelay()
-{
- return 1 / 60.0;
-}
-
void CCSingleThreadProxy::forceSerializeOnSwapBuffers()
{
{
Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h (121276 => 121277)
--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h 2012-06-26 19:21:32 UTC (rev 121276)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h 2012-06-26 19:34:23 UTC (rev 121277)
@@ -34,7 +34,6 @@
namespace WebCore {
class CCLayerTreeHost;
-class CCSingleThreadProxyAnimationTimer;
class CCSingleThreadProxy : public CCProxy, CCLayerTreeHostImplClient {
public:
@@ -77,12 +76,7 @@
// Called by the legacy path where RenderWidget does the scheduling.
void compositeImmediately();
- // Measured in seconds.
- static double animationTimerDelay();
-
private:
- friend class CCSingleThreadProxyAnimationTimer;
-
explicit CCSingleThreadProxy(CCLayerTreeHost*);
bool commitAndComposite();
@@ -99,8 +93,6 @@
// be used for anything else.
OwnPtr<CCGraphicsContext> m_contextBeforeInitialization;
- OwnPtr<CCSingleThreadProxyAnimationTimer> m_animationTimer;
-
// Used on the CCThread, but checked on main thread during initialization/shutdown.
OwnPtr<CCLayerTreeHostImpl> m_layerTreeHostImpl;
bool m_layerRendererInitialized;
Modified: trunk/Source/WebKit/chromium/ChangeLog (121276 => 121277)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-06-26 19:21:32 UTC (rev 121276)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-06-26 19:34:23 UTC (rev 121277)
@@ -1,5 +1,15 @@
2012-06-26 Ian Vollick <[email protected]>
+ [chromium] The single thread proxy should not automatically tick new animations.
+ https://bugs.webkit.org/show_bug.cgi?id=89996
+
+ Reviewed by James Robinson.
+
+ * WebKit.gypi:
+ * tests/CCSingleThreadProxyTest.cpp: Removed.
+
+2012-06-26 Ian Vollick <[email protected]>
+
[chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
https://bugs.webkit.org/show_bug.cgi?id=89784
Modified: trunk/Source/WebKit/chromium/WebKit.gypi (121276 => 121277)
--- trunk/Source/WebKit/chromium/WebKit.gypi 2012-06-26 19:21:32 UTC (rev 121276)
+++ trunk/Source/WebKit/chromium/WebKit.gypi 2012-06-26 19:34:23 UTC (rev 121277)
@@ -86,7 +86,6 @@
'tests/CCSchedulerStateMachineTest.cpp',
'tests/CCSchedulerTestCommon.h',
'tests/CCSchedulerTest.cpp',
- 'tests/CCSingleThreadProxyTest.cpp',
'tests/CCSolidColorLayerImplTest.cpp',
'tests/CCTestCommon.h',
'tests/CCTiledLayerImplTest.cpp',
Deleted: trunk/Source/WebKit/chromium/tests/CCSingleThreadProxyTest.cpp (121276 => 121277)
--- trunk/Source/WebKit/chromium/tests/CCSingleThreadProxyTest.cpp 2012-06-26 19:21:32 UTC (rev 121276)
+++ trunk/Source/WebKit/chromium/tests/CCSingleThreadProxyTest.cpp 2012-06-26 19:34:23 UTC (rev 121277)
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "cc/CCSingleThreadProxy.h"
-
-#include "CCThreadedTest.h"
-#include "CompositorFakeWebGraphicsContext3D.h"
-#include "FakeWebGraphicsContext3D.h"
-#include "GraphicsContext3DPrivate.h"
-#include "platform/WebThread.h"
-
-using namespace WebCore;
-using namespace WebKit;
-using namespace WebKitTests;
-
-class FakeWebGraphicsContext3DMakeCurrentFails : public FakeWebGraphicsContext3D {
-public:
- virtual bool makeContextCurrent() { return false; }
-};
-
-class CCSingleThreadProxyTestInitializeLayerRendererFailsAfterAddAnimation : public CCThreadedTest {
-public:
- CCSingleThreadProxyTestInitializeLayerRendererFailsAfterAddAnimation()
- {
- }
-
- virtual void beginTest()
- {
- // This will cause the animation timer to be set which will fire in
- // CCSingleThreadProxy::animationTimerDelay() seconds.
- postAddAnimationToMainThread();
- }
-
- virtual void animateLayers(CCLayerTreeHostImpl* layerTreeHostImpl, double monotonicTime)
- {
- ASSERT_NOT_REACHED();
- }
-
- virtual void didRecreateContext(bool succeeded)
- {
- EXPECT_FALSE(succeeded);
-
- // Make sure we wait CCSingleThreadProxy::animationTimerDelay() seconds
- // (use ceil just to be sure). If the timer was not disabled, we will
- // attempt to call CCSingleThreadProxy::compositeImmediately and the
- // test will fail.
- endTestAfterDelay(ceil(CCSingleThreadProxy::animationTimerDelay() * 1000));
- }
-
- virtual PassOwnPtr<WebGraphicsContext3D> createContext() OVERRIDE
- {
- return adoptPtr(new FakeWebGraphicsContext3DMakeCurrentFails);
- }
-
- virtual void afterTest()
- {
- }
-};
-
-TEST_F(CCSingleThreadProxyTestInitializeLayerRendererFailsAfterAddAnimation, runSingleThread)
-{
- runTest(false);
-}
-
-class CCSingleThreadProxyTestDidAddAnimationBeforeInitializingLayerRenderer : public CCThreadedTest {
-public:
- CCSingleThreadProxyTestDidAddAnimationBeforeInitializingLayerRenderer()
- {
- }
-
- virtual void beginTest()
- {
- // This will cause the animation timer to be set which will fire in
- // CCSingleThreadProxy::animationTimerDelay() seconds.
- postDidAddAnimationToMainThread();
- }
-
- virtual void animateLayers(CCLayerTreeHostImpl*, double)
- {
- ASSERT_NOT_REACHED();
- }
-
- virtual void didRecreateContext(bool)
- {
- ASSERT_NOT_REACHED();
- }
-
- virtual void didAddAnimation()
- {
- // Make sure we wait CCSingleThreadProxy::animationTimerDelay() seconds
- // (use ceil just to be sure). If the timer was not disabled, we will
- // attempt to call CCSingleThreadProxy::compositeImmediately and the
- // test will fail.
- endTestAfterDelay(ceil(CCSingleThreadProxy::animationTimerDelay() * 1000));
- }
-
- virtual PassOwnPtr<WebGraphicsContext3D> createContext() OVERRIDE
- {
- return adoptPtr(new FakeWebGraphicsContext3DMakeCurrentFails);
- }
-
- virtual void afterTest()
- {
- }
-};
-
-TEST_F(CCSingleThreadProxyTestDidAddAnimationBeforeInitializingLayerRenderer, runSingleThread)
-{
- runTest(false);
-}