| Index: cc/trees/layer_tree_host_impl.h
|
| diff --git a/cc/trees/layer_tree_host_impl.h b/cc/trees/layer_tree_host_impl.h
|
| index 157fe00eb67013347d1840a7c9499e392b885fcf..24cb7301526522ff9f4e1f4bda9a6c0f18f4b42f 100644
|
| --- a/cc/trees/layer_tree_host_impl.h
|
| +++ b/cc/trees/layer_tree_host_impl.h
|
| @@ -31,7 +31,6 @@
|
| #include "cc/quads/render_pass.h"
|
| #include "cc/resources/resource_provider.h"
|
| #include "cc/resources/tile_manager.h"
|
| -#include "cc/scheduler/begin_frame_source.h"
|
| #include "cc/scheduler/draw_result.h"
|
| #include "skia/ext/refptr.h"
|
| #include "third_party/skia/include/core/SkColor.h"
|
| @@ -45,7 +44,6 @@ class DebugRectHistory;
|
| class EvictionTilePriorityQueue;
|
| class FrameRateCounter;
|
| class LayerImpl;
|
| -class LayerTreeHostImplTimeSourceAdapter;
|
| class LayerTreeImpl;
|
| class MemoryHistory;
|
| class PageScaleAnimation;
|
| @@ -56,6 +54,7 @@ class RasterWorkerPool;
|
| class RenderPassDrawQuad;
|
| class RenderingStatsInstrumentation;
|
| class ResourcePool;
|
| +class ScrollElasticityHelper;
|
| class ScrollbarLayerImplBase;
|
| class TextureMailboxDeleter;
|
| class TopControlsManager;
|
| @@ -76,6 +75,7 @@ class LayerTreeHostImplClient {
|
| virtual void DidSwapBuffersCompleteOnImplThread() = 0;
|
| virtual void OnCanDrawStateChanged(bool can_draw) = 0;
|
| virtual void NotifyReadyToActivate() = 0;
|
| + virtual void NotifyReadyToDraw() = 0;
|
| // Please call these 3 functions through
|
| // LayerTreeHostImpl's SetNeedsRedraw(), SetNeedsRedrawRect() and
|
| // SetNeedsAnimate().
|
| @@ -112,7 +112,6 @@ class CC_EXPORT LayerTreeHostImpl
|
| public OutputSurfaceClient,
|
| public TopControlsManagerClient,
|
| public ScrollbarAnimationControllerClient,
|
| - public BeginFrameSourceMixIn,
|
| public base::SupportsWeakPtr<LayerTreeHostImpl> {
|
| public:
|
| static scoped_ptr<LayerTreeHostImpl> Create(
|
| @@ -125,9 +124,6 @@ class CC_EXPORT LayerTreeHostImpl
|
| int id);
|
| ~LayerTreeHostImpl() override;
|
|
|
| - // BeginFrameSourceMixIn implementation
|
| - void OnNeedsBeginFramesChange(bool needs_begin_frames) override;
|
| -
|
| // InputHandler implementation
|
| void BindToClient(InputHandlerClient* client) override;
|
| InputHandler::ScrollStatus ScrollBegin(
|
| @@ -136,8 +132,9 @@ class CC_EXPORT LayerTreeHostImpl
|
| InputHandler::ScrollStatus ScrollAnimated(
|
| const gfx::Point& viewport_point,
|
| const gfx::Vector2dF& scroll_delta) override;
|
| - bool ScrollBy(const gfx::Point& viewport_point,
|
| - const gfx::Vector2dF& scroll_delta) override;
|
| + InputHandlerScrollResult ScrollBy(
|
| + const gfx::Point& viewport_point,
|
| + const gfx::Vector2dF& scroll_delta) override;
|
| bool ScrollVerticallyByPage(const gfx::Point& viewport_point,
|
| ScrollDirection direction) override;
|
| void SetRootLayerScrollOffsetDelegate(
|
| @@ -156,6 +153,7 @@ class CC_EXPORT LayerTreeHostImpl
|
| bool HaveTouchEventHandlersAt(const gfx::Point& viewport_port) override;
|
| scoped_ptr<SwapPromiseMonitor> CreateLatencyInfoSwapPromiseMonitor(
|
| ui::LatencyInfo* latency) override;
|
| + ScrollElasticityHelper* CreateScrollElasticityHelper() override;
|
|
|
| // TopControlsManagerClient implementation.
|
| void SetControlsTopOffset(float offset) override;
|
| @@ -188,7 +186,6 @@ class CC_EXPORT LayerTreeHostImpl
|
| virtual void UpdateAnimationState(bool start_ready_animations);
|
| void ActivateAnimations();
|
| void MainThreadHasStoppedFlinging();
|
| - void UpdateBackgroundAnimateTicking(bool should_background_tick);
|
| void DidAnimateScrollOffset();
|
| void SetViewportDamage(const gfx::Rect& damage_rect);
|
|
|
| @@ -234,6 +231,7 @@ class CC_EXPORT LayerTreeHostImpl
|
| // TileManagerClient implementation.
|
| const std::vector<PictureLayerImpl*>& GetPictureLayers() const override;
|
| void NotifyReadyToActivate() override;
|
| + void NotifyReadyToDraw() override;
|
| void NotifyTileStateChanged(const Tile* tile) override;
|
| void BuildRasterQueue(RasterTilePriorityQueue* queue,
|
| TreePriority tree_priority) override;
|
| @@ -251,8 +249,6 @@ class CC_EXPORT LayerTreeHostImpl
|
| void CommitVSyncParameters(base::TimeTicks timebase,
|
| base::TimeDelta interval) override;
|
| void SetNeedsRedrawRect(const gfx::Rect& rect) override;
|
| - void BeginFrame(const BeginFrameArgs& args) override;
|
| -
|
| void SetExternalDrawConstraints(
|
| const gfx::Transform& transform,
|
| const gfx::Rect& viewport,
|
| @@ -329,6 +325,8 @@ class CC_EXPORT LayerTreeHostImpl
|
| virtual void SetVisible(bool visible);
|
| bool visible() const { return visible_; }
|
|
|
| + bool AnimationsAreVisible() { return visible() && CanDraw(); }
|
| +
|
| void SetNeedsCommit() { client_->SetNeedsCommitOnImplThread(); }
|
| void SetNeedsRedraw();
|
|
|
| @@ -424,7 +422,7 @@ class CC_EXPORT LayerTreeHostImpl
|
| return begin_impl_frame_interval_;
|
| }
|
|
|
| - void AsValueInto(base::debug::TracedValue* value) const override;
|
| + void AsValueInto(base::debug::TracedValue* value) const;
|
| void AsValueWithFrameInto(FrameData* frame,
|
| base::debug::TracedValue* value) const;
|
| scoped_refptr<base::debug::ConvertableToTraceFormat> AsValue() const;
|
| @@ -473,8 +471,8 @@ class CC_EXPORT LayerTreeHostImpl
|
| void RegisterPictureLayerImpl(PictureLayerImpl* layer);
|
| void UnregisterPictureLayerImpl(PictureLayerImpl* layer);
|
|
|
| - void GetPictureLayerImplPairs(
|
| - std::vector<PictureLayerImpl::Pair>* layers) const;
|
| + void GetPictureLayerImplPairs(std::vector<PictureLayerImpl::Pair>* layers,
|
| + bool need_valid_tile_priorities) const;
|
|
|
| void SetTopControlsLayoutHeight(float height);
|
|
|
| @@ -506,8 +504,6 @@ class CC_EXPORT LayerTreeHostImpl
|
|
|
| // Virtual for testing.
|
| virtual void AnimateLayers(base::TimeTicks monotonic_time);
|
| - virtual base::TimeDelta LowFrequencyAnimationInterval() const;
|
| -
|
| const AnimationRegistrar::AnimationControllerMap&
|
| active_animation_controllers() const {
|
| return animation_registrar_->active_animation_controllers();
|
| @@ -627,6 +623,10 @@ class CC_EXPORT LayerTreeHostImpl
|
| int scroll_layer_id_when_mouse_over_scrollbar_;
|
| ScopedPtrVector<SwapPromise> swap_promises_for_main_thread_scroll_update_;
|
|
|
| + // An object to implement the ScrollElasticityHelper interface and
|
| + // hold all state related to elasticity. May be NULL if never requested.
|
| + scoped_ptr<ScrollElasticityHelper> scroll_elasticity_helper_;
|
| +
|
| bool tile_priorities_dirty_;
|
|
|
| // The optional delegate for the root layer scroll offset.
|
| @@ -646,9 +646,6 @@ class CC_EXPORT LayerTreeHostImpl
|
|
|
| scoped_ptr<PageScaleAnimation> page_scale_animation_;
|
|
|
| - // This is used for ticking animations slowly when hidden.
|
| - scoped_ptr<LayerTreeHostImplTimeSourceAdapter> time_source_client_adapter_;
|
| -
|
| scoped_ptr<FrameRateCounter> fps_counter_;
|
| scoped_ptr<PaintTimeCounter> paint_time_counter_;
|
| scoped_ptr<MemoryHistory> memory_history_;
|
|
|