| Index: cc/trees/single_thread_proxy.h
|
| diff --git a/cc/trees/single_thread_proxy.h b/cc/trees/single_thread_proxy.h
|
| deleted file mode 100644
|
| index cfc746a64a9f048c7f69f844255a4cb5527fbd54..0000000000000000000000000000000000000000
|
| --- a/cc/trees/single_thread_proxy.h
|
| +++ /dev/null
|
| @@ -1,240 +0,0 @@
|
| -// Copyright 2011 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 CC_TREES_SINGLE_THREAD_PROXY_H_
|
| -#define CC_TREES_SINGLE_THREAD_PROXY_H_
|
| -
|
| -#include <limits>
|
| -
|
| -#include "base/cancelable_callback.h"
|
| -#include "base/time/time.h"
|
| -#include "cc/animation/animation_events.h"
|
| -#include "cc/output/begin_frame_args.h"
|
| -#include "cc/scheduler/scheduler.h"
|
| -#include "cc/trees/blocking_task_runner.h"
|
| -#include "cc/trees/layer_tree_host_impl.h"
|
| -#include "cc/trees/proxy.h"
|
| -#include "cc/trees/proxy_timing_history.h"
|
| -
|
| -namespace cc {
|
| -
|
| -class BeginFrameSource;
|
| -class ContextProvider;
|
| -class LayerTreeHost;
|
| -class LayerTreeHostSingleThreadClient;
|
| -class ResourceUpdateQueue;
|
| -
|
| -class CC_EXPORT SingleThreadProxy : public Proxy,
|
| - NON_EXPORTED_BASE(LayerTreeHostImplClient),
|
| - SchedulerClient {
|
| - public:
|
| - static scoped_ptr<Proxy> Create(
|
| - LayerTreeHost* layer_tree_host,
|
| - LayerTreeHostSingleThreadClient* client,
|
| - scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| - scoped_ptr<BeginFrameSource> external_begin_frame_source);
|
| - ~SingleThreadProxy() override;
|
| -
|
| - // Proxy implementation
|
| - void FinishAllRendering() override;
|
| - bool IsStarted() const override;
|
| - bool CommitToActiveTree() const override;
|
| - void SetOutputSurface(scoped_ptr<OutputSurface>) override;
|
| - void SetLayerTreeHostClientReady() override;
|
| - void SetVisible(bool visible) override;
|
| - void SetThrottleFrameProduction(bool throttle) override;
|
| - const RendererCapabilities& GetRendererCapabilities() const override;
|
| - void SetNeedsAnimate() override;
|
| - void SetNeedsUpdateLayers() override;
|
| - void SetNeedsCommit() override;
|
| - void SetNeedsRedraw(const gfx::Rect& damage_rect) override;
|
| - void SetNextCommitWaitsForActivation() override;
|
| - void NotifyInputThrottledUntilCommit() override {}
|
| - void SetDeferCommits(bool defer_commits) override;
|
| - bool CommitRequested() const override;
|
| - bool BeginMainFrameRequested() const override;
|
| - void MainThreadHasStoppedFlinging() override {}
|
| - void Start() override;
|
| - void Stop() override;
|
| - size_t MaxPartialTextureUpdates() const override;
|
| - void ForceSerializeOnSwapBuffers() override;
|
| - bool SupportsImplScrolling() const override;
|
| - bool MainFrameWillHappenForTesting() override;
|
| - void SetChildrenNeedBeginFrames(bool children_need_begin_frames) override;
|
| -
|
| - // SchedulerClient implementation
|
| - void WillBeginImplFrame(const BeginFrameArgs& args) override;
|
| - void ScheduledActionSendBeginMainFrame() override;
|
| - DrawResult ScheduledActionDrawAndSwapIfPossible() override;
|
| - DrawResult ScheduledActionDrawAndSwapForced() override;
|
| - void ScheduledActionCommit() override;
|
| - void ScheduledActionAnimate() override;
|
| - void ScheduledActionActivateSyncTree() override;
|
| - void ScheduledActionBeginOutputSurfaceCreation() override;
|
| - void ScheduledActionPrepareTiles() override;
|
| - void DidAnticipatedDrawTimeChange(base::TimeTicks time) override;
|
| - base::TimeDelta DrawDurationEstimate() override;
|
| - base::TimeDelta BeginMainFrameToCommitDurationEstimate() override;
|
| - base::TimeDelta CommitToActivateDurationEstimate() override;
|
| - void DidBeginImplFrameDeadline() override;
|
| - void SendBeginFramesToChildren(const BeginFrameArgs& args) override;
|
| - void SendBeginMainFrameNotExpectedSoon() override;
|
| -
|
| - // LayerTreeHostImplClient implementation
|
| - void UpdateRendererCapabilitiesOnImplThread() override;
|
| - void DidLoseOutputSurfaceOnImplThread() override;
|
| - void CommitVSyncParameters(base::TimeTicks timebase,
|
| - base::TimeDelta interval) override;
|
| - void SetEstimatedParentDrawTime(base::TimeDelta draw_time) override;
|
| - void SetMaxSwapsPendingOnImplThread(int max) override {}
|
| - void DidSwapBuffersOnImplThread() override;
|
| - void DidSwapBuffersCompleteOnImplThread() override;
|
| - void OnCanDrawStateChanged(bool can_draw) override;
|
| - void NotifyReadyToActivate() override;
|
| - void NotifyReadyToDraw() override;
|
| - void SetNeedsRedrawOnImplThread() override;
|
| - void SetNeedsRedrawRectOnImplThread(const gfx::Rect& dirty_rect) override;
|
| - void SetNeedsAnimateOnImplThread() override;
|
| - void SetNeedsPrepareTilesOnImplThread() override;
|
| - void SetNeedsCommitOnImplThread() override;
|
| - void PostAnimationEventsToMainThreadOnImplThread(
|
| - scoped_ptr<AnimationEventsVector> events) override;
|
| - bool ReduceContentsTextureMemoryOnImplThread(size_t limit_bytes,
|
| - int priority_cutoff) override;
|
| - bool IsInsideDraw() override;
|
| - void RenewTreePriority() override {}
|
| - void PostDelayedAnimationTaskOnImplThread(const base::Closure& task,
|
| - base::TimeDelta delay) override {}
|
| - void DidActivateSyncTree() override;
|
| - void DidPrepareTiles() override;
|
| - void DidCompletePageScaleAnimationOnImplThread() override;
|
| - void SetDebugState(const LayerTreeDebugState& debug_state) override {}
|
| -
|
| - void RequestNewOutputSurface();
|
| -
|
| - // Called by the legacy path where RenderWidget does the scheduling.
|
| - void CompositeImmediately(base::TimeTicks frame_begin_time);
|
| -
|
| - protected:
|
| - SingleThreadProxy(
|
| - LayerTreeHost* layer_tree_host,
|
| - LayerTreeHostSingleThreadClient* client,
|
| - scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| - scoped_ptr<BeginFrameSource> external_begin_frame_source);
|
| -
|
| - private:
|
| - void BeginMainFrame();
|
| - void BeginMainFrameAbortedOnImplThread(CommitEarlyOutReason reason);
|
| - void DoAnimate();
|
| - void DoBeginMainFrame(const BeginFrameArgs& begin_frame_args);
|
| - void DoCommit();
|
| - DrawResult DoComposite(base::TimeTicks frame_begin_time,
|
| - LayerTreeHostImpl::FrameData* frame);
|
| - void DoSwap();
|
| - void DidCommitAndDrawFrame();
|
| - void CommitComplete();
|
| -
|
| - bool ShouldComposite() const;
|
| - void ScheduleRequestNewOutputSurface();
|
| -
|
| - // Accessed on main thread only.
|
| - LayerTreeHost* layer_tree_host_;
|
| - LayerTreeHostSingleThreadClient* client_;
|
| -
|
| - // Used on the Thread, but checked on main thread during
|
| - // initialization/shutdown.
|
| - scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl_;
|
| - RendererCapabilities renderer_capabilities_for_main_thread_;
|
| -
|
| - // Accessed from both threads.
|
| - scoped_ptr<Scheduler> scheduler_on_impl_thread_;
|
| - ProxyTimingHistory timing_history_;
|
| -
|
| - scoped_ptr<BlockingTaskRunner::CapturePostTasks> commit_blocking_task_runner_;
|
| - scoped_ptr<ResourceUpdateQueue> queue_for_commit_;
|
| - bool next_frame_is_newly_committed_frame_;
|
| -
|
| - bool inside_draw_;
|
| - bool defer_commits_;
|
| - bool commit_requested_;
|
| - bool inside_synchronous_composite_;
|
| -
|
| - // True if a request to the LayerTreeHostClient to create an output surface
|
| - // is still outstanding.
|
| - bool output_surface_creation_requested_;
|
| -
|
| - // This is the callback for the scheduled RequestNewOutputSurface.
|
| - base::CancelableClosure output_surface_creation_callback_;
|
| -
|
| - scoped_ptr<BeginFrameSource> external_begin_frame_source_;
|
| -
|
| - base::WeakPtrFactory<SingleThreadProxy> weak_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SingleThreadProxy);
|
| -};
|
| -
|
| -// For use in the single-threaded case. In debug builds, it pretends that the
|
| -// code is running on the impl thread to satisfy assertion checks.
|
| -class DebugScopedSetImplThread {
|
| - public:
|
| - explicit DebugScopedSetImplThread(Proxy* proxy) : proxy_(proxy) {
|
| -#if DCHECK_IS_ON()
|
| - previous_value_ = proxy_->impl_thread_is_overridden_;
|
| - proxy_->SetCurrentThreadIsImplThread(true);
|
| -#endif
|
| - }
|
| - ~DebugScopedSetImplThread() {
|
| -#if DCHECK_IS_ON()
|
| - proxy_->SetCurrentThreadIsImplThread(previous_value_);
|
| -#endif
|
| - }
|
| -
|
| - private:
|
| - bool previous_value_;
|
| - Proxy* proxy_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DebugScopedSetImplThread);
|
| -};
|
| -
|
| -// For use in the single-threaded case. In debug builds, it pretends that the
|
| -// code is running on the main thread to satisfy assertion checks.
|
| -class DebugScopedSetMainThread {
|
| - public:
|
| - explicit DebugScopedSetMainThread(Proxy* proxy) : proxy_(proxy) {
|
| -#if DCHECK_IS_ON()
|
| - previous_value_ = proxy_->impl_thread_is_overridden_;
|
| - proxy_->SetCurrentThreadIsImplThread(false);
|
| -#endif
|
| - }
|
| - ~DebugScopedSetMainThread() {
|
| -#if DCHECK_IS_ON()
|
| - proxy_->SetCurrentThreadIsImplThread(previous_value_);
|
| -#endif
|
| - }
|
| -
|
| - private:
|
| - bool previous_value_;
|
| - Proxy* proxy_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DebugScopedSetMainThread);
|
| -};
|
| -
|
| -// For use in the single-threaded case. In debug builds, it pretends that the
|
| -// code is running on the impl thread and that the main thread is blocked to
|
| -// satisfy assertion checks
|
| -class DebugScopedSetImplThreadAndMainThreadBlocked {
|
| - public:
|
| - explicit DebugScopedSetImplThreadAndMainThreadBlocked(Proxy* proxy)
|
| - : impl_thread_(proxy), main_thread_blocked_(proxy) {}
|
| -
|
| - private:
|
| - DebugScopedSetImplThread impl_thread_;
|
| - DebugScopedSetMainThreadBlocked main_thread_blocked_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DebugScopedSetImplThreadAndMainThreadBlocked);
|
| -};
|
| -
|
| -} // namespace cc
|
| -
|
| -#endif // CC_TREES_SINGLE_THREAD_PROXY_H_
|
|
|