| Index: cc/CCThreadProxy.h
|
| diff --git a/cc/CCThreadProxy.h b/cc/CCThreadProxy.h
|
| index a6ea6acbbc22c464483c928c491150877f7acd4e..04899c098a6332a37a959cf7ceb1d53486b34bec 100644
|
| --- a/cc/CCThreadProxy.h
|
| +++ b/cc/CCThreadProxy.h
|
| @@ -1,185 +1,6 @@
|
| -// Copyright 2011 The Chromium Authors. All rights reserved.
|
| +// Copyright 2012 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CCThreadProxy_h
|
| -#define CCThreadProxy_h
|
| -
|
| -#include "CCAnimationEvents.h"
|
| -#include "CCCompletionEvent.h"
|
| -#include "CCLayerTreeHostImpl.h"
|
| -#include "CCProxy.h"
|
| -#include "CCScheduler.h"
|
| -#include "CCTextureUpdateController.h"
|
| -#include <base/time.h>
|
| -#include <wtf/OwnPtr.h>
|
| -
|
| -namespace cc {
|
| -
|
| -class CCInputHandler;
|
| -class CCLayerTreeHost;
|
| -class CCScheduler;
|
| -class CCScopedThreadProxy;
|
| -class CCTextureUpdateQueue;
|
| -class CCThread;
|
| -class CCThreadProxyContextRecreationTimer;
|
| -
|
| -class CCThreadProxy : public CCProxy, CCLayerTreeHostImplClient, CCSchedulerClient, CCTextureUpdateControllerClient {
|
| -public:
|
| - static scoped_ptr<CCProxy> create(CCLayerTreeHost*);
|
| -
|
| - virtual ~CCThreadProxy();
|
| -
|
| - // CCProxy implementation
|
| - virtual bool compositeAndReadback(void *pixels, const IntRect&) OVERRIDE;
|
| - virtual void startPageScaleAnimation(const IntSize& targetPosition, bool useAnchor, float scale, double duration) OVERRIDE;
|
| - virtual void finishAllRendering() OVERRIDE;
|
| - virtual bool isStarted() const OVERRIDE;
|
| - virtual bool initializeContext() OVERRIDE;
|
| - virtual void setSurfaceReady() OVERRIDE;
|
| - virtual void setVisible(bool) OVERRIDE;
|
| - virtual bool initializeRenderer() OVERRIDE;
|
| - virtual bool recreateContext() OVERRIDE;
|
| - virtual void renderingStats(CCRenderingStats*) OVERRIDE;
|
| - virtual const RendererCapabilities& rendererCapabilities() const OVERRIDE;
|
| - virtual void loseContext() OVERRIDE;
|
| - virtual void setNeedsAnimate() OVERRIDE;
|
| - virtual void setNeedsCommit() OVERRIDE;
|
| - virtual void setNeedsRedraw() OVERRIDE;
|
| - virtual bool commitRequested() const OVERRIDE;
|
| - virtual void didAddAnimation() OVERRIDE { }
|
| - virtual void start() OVERRIDE;
|
| - virtual void stop() OVERRIDE;
|
| - virtual size_t maxPartialTextureUpdates() const OVERRIDE;
|
| - virtual void acquireLayerTextures() OVERRIDE;
|
| - virtual void forceSerializeOnSwapBuffers() OVERRIDE;
|
| -
|
| - // CCLayerTreeHostImplClient implementation
|
| - virtual void didLoseContextOnImplThread() OVERRIDE;
|
| - virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE;
|
| - virtual void onVSyncParametersChanged(double monotonicTimebase, double intervalInSeconds) OVERRIDE;
|
| - virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE;
|
| - virtual void setNeedsRedrawOnImplThread() OVERRIDE;
|
| - virtual void setNeedsCommitOnImplThread() OVERRIDE;
|
| - virtual void postAnimationEventsToMainThreadOnImplThread(scoped_ptr<CCAnimationEventsVector>, double wallClockTime) OVERRIDE;
|
| - virtual void releaseContentsTexturesOnImplThread() OVERRIDE;
|
| -
|
| - // CCSchedulerClient implementation
|
| - virtual void scheduledActionBeginFrame() OVERRIDE;
|
| - virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossible() OVERRIDE;
|
| - virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced() OVERRIDE;
|
| - virtual void scheduledActionCommit() OVERRIDE;
|
| - virtual void scheduledActionBeginContextRecreation() OVERRIDE;
|
| - virtual void scheduledActionAcquireLayerTexturesForMainThread() OVERRIDE;
|
| - virtual void didAnticipatedDrawTimeChange(base::TimeTicks) OVERRIDE;
|
| -
|
| - // CCTextureUpdateControllerClient implementation
|
| - virtual void readyToFinalizeTextureUpdates() OVERRIDE;
|
| -
|
| -private:
|
| - explicit CCThreadProxy(CCLayerTreeHost*);
|
| - friend class CCThreadProxyContextRecreationTimer;
|
| -
|
| - // Set on impl thread, read on main thread.
|
| - struct BeginFrameAndCommitState {
|
| - BeginFrameAndCommitState();
|
| - ~BeginFrameAndCommitState();
|
| -
|
| - double monotonicFrameBeginTime;
|
| - scoped_ptr<CCScrollAndScaleSet> scrollInfo;
|
| - WebKit::WebTransformationMatrix implTransform;
|
| - CCPrioritizedTextureManager::BackingVector evictedContentsTexturesBackings;
|
| - size_t memoryAllocationLimitBytes;
|
| - };
|
| - OwnPtr<BeginFrameAndCommitState> m_pendingBeginFrameRequest;
|
| -
|
| - // Called on main thread
|
| - void beginFrame();
|
| - void didCommitAndDrawFrame();
|
| - void didCompleteSwapBuffers();
|
| - void setAnimationEvents(CCAnimationEventsVector*, double wallClockTime);
|
| - void beginContextRecreation();
|
| - void tryToRecreateContext();
|
| -
|
| - // Called on impl thread
|
| - struct ReadbackRequest {
|
| - CCCompletionEvent completion;
|
| - bool success;
|
| - void* pixels;
|
| - IntRect rect;
|
| - };
|
| - void forceBeginFrameOnImplThread(CCCompletionEvent*);
|
| - void beginFrameCompleteOnImplThread(CCCompletionEvent*, PassOwnPtr<CCTextureUpdateQueue>);
|
| - void beginFrameAbortedOnImplThread();
|
| - void requestReadbackOnImplThread(ReadbackRequest*);
|
| - void requestStartPageScaleAnimationOnImplThread(IntSize targetPosition, bool useAnchor, float scale, double durationSec);
|
| - void finishAllRenderingOnImplThread(CCCompletionEvent*);
|
| - void initializeImplOnImplThread(CCCompletionEvent*, CCInputHandler*);
|
| - void setSurfaceReadyOnImplThread();
|
| - void setVisibleOnImplThread(CCCompletionEvent*, bool);
|
| - void initializeContextOnImplThread(CCGraphicsContext*);
|
| - void initializeRendererOnImplThread(CCCompletionEvent*, bool* initializeSucceeded, RendererCapabilities*);
|
| - void layerTreeHostClosedOnImplThread(CCCompletionEvent*);
|
| - void setFullRootLayerDamageOnImplThread();
|
| - void acquireLayerTexturesForMainThreadOnImplThread(CCCompletionEvent*);
|
| - void recreateContextOnImplThread(CCCompletionEvent*, CCGraphicsContext*, bool* recreateSucceeded, RendererCapabilities*);
|
| - void renderingStatsOnImplThread(CCCompletionEvent*, CCRenderingStats*);
|
| - CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapInternal(bool forcedDraw);
|
| - void forceSerializeOnSwapBuffersOnImplThread(CCCompletionEvent*);
|
| - void setNeedsForcedCommitOnImplThread();
|
| -
|
| - // Accessed on main thread only.
|
| - bool m_animateRequested; // Set only when setNeedsAnimate is called.
|
| - bool m_commitRequested; // Set only when setNeedsCommit is called.
|
| - bool m_commitRequestSentToImplThread; // Set by setNeedsCommit and setNeedsAnimate.
|
| - bool m_forcedCommitRequested;
|
| - OwnPtr<CCThreadProxyContextRecreationTimer> m_contextRecreationTimer;
|
| - CCLayerTreeHost* m_layerTreeHost;
|
| - bool m_rendererInitialized;
|
| - RendererCapabilities m_RendererCapabilitiesMainThreadCopy;
|
| - bool m_started;
|
| - bool m_texturesAcquired;
|
| - bool m_inCompositeAndReadback;
|
| -
|
| - scoped_ptr<CCLayerTreeHostImpl> m_layerTreeHostImpl;
|
| -
|
| - scoped_ptr<CCInputHandler> m_inputHandlerOnImplThread;
|
| -
|
| - OwnPtr<CCScheduler> m_schedulerOnImplThread;
|
| -
|
| - RefPtr<CCScopedThreadProxy> m_mainThreadProxy;
|
| -
|
| - // Holds on to the context we might use for compositing in between initializeContext()
|
| - // and initializeRenderer() calls.
|
| - scoped_ptr<CCGraphicsContext> m_contextBeforeInitializationOnImplThread;
|
| -
|
| - // Set when the main thread is waiting on a scheduledActionBeginFrame to be issued.
|
| - CCCompletionEvent* m_beginFrameCompletionEventOnImplThread;
|
| -
|
| - // Set when the main thread is waiting on a readback.
|
| - ReadbackRequest* m_readbackRequestOnImplThread;
|
| -
|
| - // Set when the main thread is waiting on a commit to complete.
|
| - CCCompletionEvent* m_commitCompletionEventOnImplThread;
|
| -
|
| - // Set when the main thread is waiting on layers to be drawn.
|
| - CCCompletionEvent* m_textureAcquisitionCompletionEventOnImplThread;
|
| -
|
| - OwnPtr<CCTextureUpdateController> m_currentTextureUpdateControllerOnImplThread;
|
| -
|
| - // Set when we need to reset the contentsTexturesPurged flag after the
|
| - // commit.
|
| - bool m_resetContentsTexturesPurgedAfterCommitOnImplThread;
|
| -
|
| - // Set when the next draw should post didCommitAndDrawFrame to the main thread.
|
| - bool m_nextFrameIsNewlyCommittedFrameOnImplThread;
|
| -
|
| - bool m_renderVSyncEnabled;
|
| -
|
| - base::TimeDelta m_totalCommitTime;
|
| - size_t m_totalCommitCount;
|
| -};
|
| -
|
| -}
|
| -
|
| -#endif
|
| +// Temporary forwarding header
|
| +#include "cc/thread_proxy.h"
|
|
|