Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: cc/trees/layer_tree_host_impl.h

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_TREES_LAYER_TREE_HOST_IMPL_H_ 5 #ifndef CC_TREES_LAYER_TREE_HOST_IMPL_H_
6 #define CC_TREES_LAYER_TREE_HOST_IMPL_H_ 6 #define CC_TREES_LAYER_TREE_HOST_IMPL_H_
7 7
8 #include <list> 8 #include <list>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 13 matching lines...) Expand all
24 #include "cc/input/top_controls_manager_client.h" 24 #include "cc/input/top_controls_manager_client.h"
25 #include "cc/layers/layer_lists.h" 25 #include "cc/layers/layer_lists.h"
26 #include "cc/layers/render_pass_sink.h" 26 #include "cc/layers/render_pass_sink.h"
27 #include "cc/output/begin_frame_args.h" 27 #include "cc/output/begin_frame_args.h"
28 #include "cc/output/managed_memory_policy.h" 28 #include "cc/output/managed_memory_policy.h"
29 #include "cc/output/output_surface_client.h" 29 #include "cc/output/output_surface_client.h"
30 #include "cc/output/renderer.h" 30 #include "cc/output/renderer.h"
31 #include "cc/quads/render_pass.h" 31 #include "cc/quads/render_pass.h"
32 #include "cc/resources/resource_provider.h" 32 #include "cc/resources/resource_provider.h"
33 #include "cc/resources/tile_manager.h" 33 #include "cc/resources/tile_manager.h"
34 #include "cc/scheduler/begin_frame_source.h"
35 #include "cc/scheduler/draw_result.h" 34 #include "cc/scheduler/draw_result.h"
36 #include "skia/ext/refptr.h" 35 #include "skia/ext/refptr.h"
37 #include "third_party/skia/include/core/SkColor.h" 36 #include "third_party/skia/include/core/SkColor.h"
38 #include "ui/gfx/geometry/rect.h" 37 #include "ui/gfx/geometry/rect.h"
39 38
40 namespace cc { 39 namespace cc {
41 40
42 class CompletionEvent; 41 class CompletionEvent;
43 class CompositorFrameMetadata; 42 class CompositorFrameMetadata;
44 class DebugRectHistory; 43 class DebugRectHistory;
45 class EvictionTilePriorityQueue; 44 class EvictionTilePriorityQueue;
46 class FrameRateCounter; 45 class FrameRateCounter;
47 class LayerImpl; 46 class LayerImpl;
48 class LayerTreeHostImplTimeSourceAdapter;
49 class LayerTreeImpl; 47 class LayerTreeImpl;
50 class MemoryHistory; 48 class MemoryHistory;
51 class PageScaleAnimation; 49 class PageScaleAnimation;
52 class PaintTimeCounter; 50 class PaintTimeCounter;
53 class PictureLayerImpl; 51 class PictureLayerImpl;
54 class RasterTilePriorityQueue; 52 class RasterTilePriorityQueue;
55 class RasterWorkerPool; 53 class RasterWorkerPool;
56 class RenderPassDrawQuad; 54 class RenderPassDrawQuad;
57 class RenderingStatsInstrumentation; 55 class RenderingStatsInstrumentation;
58 class ResourcePool; 56 class ResourcePool;
57 class ScrollElasticityHelper;
59 class ScrollbarLayerImplBase; 58 class ScrollbarLayerImplBase;
60 class TextureMailboxDeleter; 59 class TextureMailboxDeleter;
61 class TopControlsManager; 60 class TopControlsManager;
62 class UIResourceBitmap; 61 class UIResourceBitmap;
63 class UIResourceRequest; 62 class UIResourceRequest;
64 struct RendererCapabilitiesImpl; 63 struct RendererCapabilitiesImpl;
65 64
66 // LayerTreeHost->Proxy callback interface. 65 // LayerTreeHost->Proxy callback interface.
67 class LayerTreeHostImplClient { 66 class LayerTreeHostImplClient {
68 public: 67 public:
69 virtual void UpdateRendererCapabilitiesOnImplThread() = 0; 68 virtual void UpdateRendererCapabilitiesOnImplThread() = 0;
70 virtual void DidLoseOutputSurfaceOnImplThread() = 0; 69 virtual void DidLoseOutputSurfaceOnImplThread() = 0;
71 virtual void CommitVSyncParameters(base::TimeTicks timebase, 70 virtual void CommitVSyncParameters(base::TimeTicks timebase,
72 base::TimeDelta interval) = 0; 71 base::TimeDelta interval) = 0;
73 virtual void SetEstimatedParentDrawTime(base::TimeDelta draw_time) = 0; 72 virtual void SetEstimatedParentDrawTime(base::TimeDelta draw_time) = 0;
74 virtual void SetMaxSwapsPendingOnImplThread(int max) = 0; 73 virtual void SetMaxSwapsPendingOnImplThread(int max) = 0;
75 virtual void DidSwapBuffersOnImplThread() = 0; 74 virtual void DidSwapBuffersOnImplThread() = 0;
76 virtual void DidSwapBuffersCompleteOnImplThread() = 0; 75 virtual void DidSwapBuffersCompleteOnImplThread() = 0;
77 virtual void OnCanDrawStateChanged(bool can_draw) = 0; 76 virtual void OnCanDrawStateChanged(bool can_draw) = 0;
78 virtual void NotifyReadyToActivate() = 0; 77 virtual void NotifyReadyToActivate() = 0;
78 virtual void NotifyReadyToDraw() = 0;
79 // Please call these 3 functions through 79 // Please call these 3 functions through
80 // LayerTreeHostImpl's SetNeedsRedraw(), SetNeedsRedrawRect() and 80 // LayerTreeHostImpl's SetNeedsRedraw(), SetNeedsRedrawRect() and
81 // SetNeedsAnimate(). 81 // SetNeedsAnimate().
82 virtual void SetNeedsRedrawOnImplThread() = 0; 82 virtual void SetNeedsRedrawOnImplThread() = 0;
83 virtual void SetNeedsRedrawRectOnImplThread(const gfx::Rect& damage_rect) = 0; 83 virtual void SetNeedsRedrawRectOnImplThread(const gfx::Rect& damage_rect) = 0;
84 virtual void SetNeedsAnimateOnImplThread() = 0; 84 virtual void SetNeedsAnimateOnImplThread() = 0;
85 virtual void DidInitializeVisibleTileOnImplThread() = 0; 85 virtual void DidInitializeVisibleTileOnImplThread() = 0;
86 virtual void SetNeedsCommitOnImplThread() = 0; 86 virtual void SetNeedsCommitOnImplThread() = 0;
87 virtual void SetNeedsManageTilesOnImplThread() = 0; 87 virtual void SetNeedsManageTilesOnImplThread() = 0;
88 virtual void PostAnimationEventsToMainThreadOnImplThread( 88 virtual void PostAnimationEventsToMainThreadOnImplThread(
(...skipping 16 matching lines...) Expand all
105 105
106 // LayerTreeHostImpl owns the LayerImpl trees as well as associated rendering 106 // LayerTreeHostImpl owns the LayerImpl trees as well as associated rendering
107 // state. 107 // state.
108 class CC_EXPORT LayerTreeHostImpl 108 class CC_EXPORT LayerTreeHostImpl
109 : public InputHandler, 109 : public InputHandler,
110 public RendererClient, 110 public RendererClient,
111 public TileManagerClient, 111 public TileManagerClient,
112 public OutputSurfaceClient, 112 public OutputSurfaceClient,
113 public TopControlsManagerClient, 113 public TopControlsManagerClient,
114 public ScrollbarAnimationControllerClient, 114 public ScrollbarAnimationControllerClient,
115 public BeginFrameSourceMixIn,
116 public base::SupportsWeakPtr<LayerTreeHostImpl> { 115 public base::SupportsWeakPtr<LayerTreeHostImpl> {
117 public: 116 public:
118 static scoped_ptr<LayerTreeHostImpl> Create( 117 static scoped_ptr<LayerTreeHostImpl> Create(
119 const LayerTreeSettings& settings, 118 const LayerTreeSettings& settings,
120 LayerTreeHostImplClient* client, 119 LayerTreeHostImplClient* client,
121 Proxy* proxy, 120 Proxy* proxy,
122 RenderingStatsInstrumentation* rendering_stats_instrumentation, 121 RenderingStatsInstrumentation* rendering_stats_instrumentation,
123 SharedBitmapManager* shared_bitmap_manager, 122 SharedBitmapManager* shared_bitmap_manager,
124 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 123 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
125 int id); 124 int id);
126 ~LayerTreeHostImpl() override; 125 ~LayerTreeHostImpl() override;
127 126
128 // BeginFrameSourceMixIn implementation
129 void OnNeedsBeginFramesChange(bool needs_begin_frames) override;
130
131 // InputHandler implementation 127 // InputHandler implementation
132 void BindToClient(InputHandlerClient* client) override; 128 void BindToClient(InputHandlerClient* client) override;
133 InputHandler::ScrollStatus ScrollBegin( 129 InputHandler::ScrollStatus ScrollBegin(
134 const gfx::Point& viewport_point, 130 const gfx::Point& viewport_point,
135 InputHandler::ScrollInputType type) override; 131 InputHandler::ScrollInputType type) override;
136 InputHandler::ScrollStatus ScrollAnimated( 132 InputHandler::ScrollStatus ScrollAnimated(
137 const gfx::Point& viewport_point, 133 const gfx::Point& viewport_point,
138 const gfx::Vector2dF& scroll_delta) override; 134 const gfx::Vector2dF& scroll_delta) override;
139 bool ScrollBy(const gfx::Point& viewport_point, 135 InputHandlerScrollResult ScrollBy(
140 const gfx::Vector2dF& scroll_delta) override; 136 const gfx::Point& viewport_point,
137 const gfx::Vector2dF& scroll_delta) override;
141 bool ScrollVerticallyByPage(const gfx::Point& viewport_point, 138 bool ScrollVerticallyByPage(const gfx::Point& viewport_point,
142 ScrollDirection direction) override; 139 ScrollDirection direction) override;
143 void SetRootLayerScrollOffsetDelegate( 140 void SetRootLayerScrollOffsetDelegate(
144 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate) override; 141 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate) override;
145 void OnRootLayerDelegatedScrollOffsetChanged() override; 142 void OnRootLayerDelegatedScrollOffsetChanged() override;
146 void ScrollEnd() override; 143 void ScrollEnd() override;
147 InputHandler::ScrollStatus FlingScrollBegin() override; 144 InputHandler::ScrollStatus FlingScrollBegin() override;
148 void MouseMoveAt(const gfx::Point& viewport_point) override; 145 void MouseMoveAt(const gfx::Point& viewport_point) override;
149 void PinchGestureBegin() override; 146 void PinchGestureBegin() override;
150 void PinchGestureUpdate(float magnify_delta, 147 void PinchGestureUpdate(float magnify_delta,
151 const gfx::Point& anchor) override; 148 const gfx::Point& anchor) override;
152 void PinchGestureEnd() override; 149 void PinchGestureEnd() override;
153 void SetNeedsAnimate() override; 150 void SetNeedsAnimate() override;
154 bool IsCurrentlyScrollingLayerAt(const gfx::Point& viewport_point, 151 bool IsCurrentlyScrollingLayerAt(const gfx::Point& viewport_point,
155 InputHandler::ScrollInputType type) override; 152 InputHandler::ScrollInputType type) override;
156 bool HaveTouchEventHandlersAt(const gfx::Point& viewport_port) override; 153 bool HaveTouchEventHandlersAt(const gfx::Point& viewport_port) override;
157 scoped_ptr<SwapPromiseMonitor> CreateLatencyInfoSwapPromiseMonitor( 154 scoped_ptr<SwapPromiseMonitor> CreateLatencyInfoSwapPromiseMonitor(
158 ui::LatencyInfo* latency) override; 155 ui::LatencyInfo* latency) override;
156 ScrollElasticityHelper* CreateScrollElasticityHelper() override;
159 157
160 // TopControlsManagerClient implementation. 158 // TopControlsManagerClient implementation.
161 void SetControlsTopOffset(float offset) override; 159 void SetControlsTopOffset(float offset) override;
162 float ControlsTopOffset() const override; 160 float ControlsTopOffset() const override;
163 void DidChangeTopControlsPosition() override; 161 void DidChangeTopControlsPosition() override;
164 bool HaveRootScrollLayer() const override; 162 bool HaveRootScrollLayer() const override;
165 163
166 struct CC_EXPORT FrameData : public RenderPassSink { 164 struct CC_EXPORT FrameData : public RenderPassSink {
167 FrameData(); 165 FrameData();
168 ~FrameData() override; 166 ~FrameData() override;
(...skipping 12 matching lines...) Expand all
181 void AppendRenderPass(scoped_ptr<RenderPass> render_pass) override; 179 void AppendRenderPass(scoped_ptr<RenderPass> render_pass) override;
182 }; 180 };
183 181
184 virtual void BeginMainFrameAborted(bool did_handle); 182 virtual void BeginMainFrameAborted(bool did_handle);
185 virtual void BeginCommit(); 183 virtual void BeginCommit();
186 virtual void CommitComplete(); 184 virtual void CommitComplete();
187 virtual void Animate(base::TimeTicks monotonic_time); 185 virtual void Animate(base::TimeTicks monotonic_time);
188 virtual void UpdateAnimationState(bool start_ready_animations); 186 virtual void UpdateAnimationState(bool start_ready_animations);
189 void ActivateAnimations(); 187 void ActivateAnimations();
190 void MainThreadHasStoppedFlinging(); 188 void MainThreadHasStoppedFlinging();
191 void UpdateBackgroundAnimateTicking(bool should_background_tick);
192 void DidAnimateScrollOffset(); 189 void DidAnimateScrollOffset();
193 void SetViewportDamage(const gfx::Rect& damage_rect); 190 void SetViewportDamage(const gfx::Rect& damage_rect);
194 191
195 virtual void ManageTiles(); 192 virtual void ManageTiles();
196 193
197 // Returns DRAW_SUCCESS unless problems occured preparing the frame, and we 194 // Returns DRAW_SUCCESS unless problems occured preparing the frame, and we
198 // should try to avoid displaying the frame. If PrepareToDraw is called, 195 // should try to avoid displaying the frame. If PrepareToDraw is called,
199 // DidDrawAllLayers must also be called, regardless of whether DrawLayers is 196 // DidDrawAllLayers must also be called, regardless of whether DrawLayers is
200 // called between the two. 197 // called between the two.
201 virtual DrawResult PrepareToDraw(FrameData* frame); 198 virtual DrawResult PrepareToDraw(FrameData* frame);
(...skipping 25 matching lines...) Expand all
227 224
228 // Viewport rect in view space used for tiling prioritization. 225 // Viewport rect in view space used for tiling prioritization.
229 const gfx::Rect ViewportRectForTilePriority() const; 226 const gfx::Rect ViewportRectForTilePriority() const;
230 227
231 // RendererClient implementation. 228 // RendererClient implementation.
232 void SetFullRootLayerDamage() override; 229 void SetFullRootLayerDamage() override;
233 230
234 // TileManagerClient implementation. 231 // TileManagerClient implementation.
235 const std::vector<PictureLayerImpl*>& GetPictureLayers() const override; 232 const std::vector<PictureLayerImpl*>& GetPictureLayers() const override;
236 void NotifyReadyToActivate() override; 233 void NotifyReadyToActivate() override;
234 void NotifyReadyToDraw() override;
237 void NotifyTileStateChanged(const Tile* tile) override; 235 void NotifyTileStateChanged(const Tile* tile) override;
238 void BuildRasterQueue(RasterTilePriorityQueue* queue, 236 void BuildRasterQueue(RasterTilePriorityQueue* queue,
239 TreePriority tree_priority) override; 237 TreePriority tree_priority) override;
240 void BuildEvictionQueue(EvictionTilePriorityQueue* queue, 238 void BuildEvictionQueue(EvictionTilePriorityQueue* queue,
241 TreePriority tree_priority) override; 239 TreePriority tree_priority) override;
242 240
243 // ScrollbarAnimationControllerClient implementation. 241 // ScrollbarAnimationControllerClient implementation.
244 void PostDelayedScrollbarFade(const base::Closure& start_fade, 242 void PostDelayedScrollbarFade(const base::Closure& start_fade,
245 base::TimeDelta delay) override; 243 base::TimeDelta delay) override;
246 void SetNeedsScrollbarAnimationFrame() override; 244 void SetNeedsScrollbarAnimationFrame() override;
247 245
248 // OutputSurfaceClient implementation. 246 // OutputSurfaceClient implementation.
249 void DeferredInitialize() override; 247 void DeferredInitialize() override;
250 void ReleaseGL() override; 248 void ReleaseGL() override;
251 void CommitVSyncParameters(base::TimeTicks timebase, 249 void CommitVSyncParameters(base::TimeTicks timebase,
252 base::TimeDelta interval) override; 250 base::TimeDelta interval) override;
253 void SetNeedsRedrawRect(const gfx::Rect& rect) override; 251 void SetNeedsRedrawRect(const gfx::Rect& rect) override;
254 void BeginFrame(const BeginFrameArgs& args) override;
255
256 void SetExternalDrawConstraints( 252 void SetExternalDrawConstraints(
257 const gfx::Transform& transform, 253 const gfx::Transform& transform,
258 const gfx::Rect& viewport, 254 const gfx::Rect& viewport,
259 const gfx::Rect& clip, 255 const gfx::Rect& clip,
260 const gfx::Rect& viewport_rect_for_tile_priority, 256 const gfx::Rect& viewport_rect_for_tile_priority,
261 const gfx::Transform& transform_for_tile_priority, 257 const gfx::Transform& transform_for_tile_priority,
262 bool resourceless_software_draw) override; 258 bool resourceless_software_draw) override;
263 void DidLoseOutputSurface() override; 259 void DidLoseOutputSurface() override;
264 void DidSwapBuffers() override; 260 void DidSwapBuffers() override;
265 void DidSwapBuffersComplete() override; 261 void DidSwapBuffersComplete() override;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 return scroll_affects_scroll_handler_; 318 return scroll_affects_scroll_handler_;
323 } 319 }
324 void QueueSwapPromiseForMainThreadScrollUpdate( 320 void QueueSwapPromiseForMainThreadScrollUpdate(
325 scoped_ptr<SwapPromise> swap_promise); 321 scoped_ptr<SwapPromise> swap_promise);
326 322
327 bool IsActivelyScrolling() const; 323 bool IsActivelyScrolling() const;
328 324
329 virtual void SetVisible(bool visible); 325 virtual void SetVisible(bool visible);
330 bool visible() const { return visible_; } 326 bool visible() const { return visible_; }
331 327
328 bool AnimationsAreVisible() { return visible() && CanDraw(); }
329
332 void SetNeedsCommit() { client_->SetNeedsCommitOnImplThread(); } 330 void SetNeedsCommit() { client_->SetNeedsCommitOnImplThread(); }
333 void SetNeedsRedraw(); 331 void SetNeedsRedraw();
334 332
335 ManagedMemoryPolicy ActualManagedMemoryPolicy() const; 333 ManagedMemoryPolicy ActualManagedMemoryPolicy() const;
336 334
337 size_t memory_allocation_limit_bytes() const; 335 size_t memory_allocation_limit_bytes() const;
338 int memory_allocation_priority_cutoff() const; 336 int memory_allocation_priority_cutoff() const;
339 337
340 void SetViewportSize(const gfx::Size& device_viewport_size); 338 void SetViewportSize(const gfx::Size& device_viewport_size);
341 gfx::Size device_viewport_size() const { return device_viewport_size_; } 339 gfx::Size device_viewport_size() const { return device_viewport_size_; }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 415
418 void UpdateCurrentBeginFrameArgs(const BeginFrameArgs& args); 416 void UpdateCurrentBeginFrameArgs(const BeginFrameArgs& args);
419 void ResetCurrentBeginFrameArgsForNextFrame(); 417 void ResetCurrentBeginFrameArgsForNextFrame();
420 virtual BeginFrameArgs CurrentBeginFrameArgs() const; 418 virtual BeginFrameArgs CurrentBeginFrameArgs() const;
421 419
422 // Expected time between two begin impl frame calls. 420 // Expected time between two begin impl frame calls.
423 base::TimeDelta begin_impl_frame_interval() const { 421 base::TimeDelta begin_impl_frame_interval() const {
424 return begin_impl_frame_interval_; 422 return begin_impl_frame_interval_;
425 } 423 }
426 424
427 void AsValueInto(base::debug::TracedValue* value) const override; 425 void AsValueInto(base::debug::TracedValue* value) const;
428 void AsValueWithFrameInto(FrameData* frame, 426 void AsValueWithFrameInto(FrameData* frame,
429 base::debug::TracedValue* value) const; 427 base::debug::TracedValue* value) const;
430 scoped_refptr<base::debug::ConvertableToTraceFormat> AsValue() const; 428 scoped_refptr<base::debug::ConvertableToTraceFormat> AsValue() const;
431 scoped_refptr<base::debug::ConvertableToTraceFormat> AsValueWithFrame( 429 scoped_refptr<base::debug::ConvertableToTraceFormat> AsValueWithFrame(
432 FrameData* frame) const; 430 FrameData* frame) const;
433 scoped_refptr<base::debug::ConvertableToTraceFormat> ActivationStateAsValue() 431 scoped_refptr<base::debug::ConvertableToTraceFormat> ActivationStateAsValue()
434 const; 432 const;
435 void ActivationStateAsValueInto(base::debug::TracedValue* value) const; 433 void ActivationStateAsValueInto(base::debug::TracedValue* value) const;
436 434
437 bool page_scale_animation_active() const { return !!page_scale_animation_; } 435 bool page_scale_animation_active() const { return !!page_scale_animation_; }
(...skipping 28 matching lines...) Expand all
466 // When a SwapPromiseMonitor is created on the impl thread, it calls 464 // When a SwapPromiseMonitor is created on the impl thread, it calls
467 // InsertSwapPromiseMonitor() to register itself with LayerTreeHostImpl. 465 // InsertSwapPromiseMonitor() to register itself with LayerTreeHostImpl.
468 // When the monitor is destroyed, it calls RemoveSwapPromiseMonitor() 466 // When the monitor is destroyed, it calls RemoveSwapPromiseMonitor()
469 // to unregister itself. 467 // to unregister itself.
470 void InsertSwapPromiseMonitor(SwapPromiseMonitor* monitor); 468 void InsertSwapPromiseMonitor(SwapPromiseMonitor* monitor);
471 void RemoveSwapPromiseMonitor(SwapPromiseMonitor* monitor); 469 void RemoveSwapPromiseMonitor(SwapPromiseMonitor* monitor);
472 470
473 void RegisterPictureLayerImpl(PictureLayerImpl* layer); 471 void RegisterPictureLayerImpl(PictureLayerImpl* layer);
474 void UnregisterPictureLayerImpl(PictureLayerImpl* layer); 472 void UnregisterPictureLayerImpl(PictureLayerImpl* layer);
475 473
476 void GetPictureLayerImplPairs( 474 void GetPictureLayerImplPairs(std::vector<PictureLayerImpl::Pair>* layers,
477 std::vector<PictureLayerImpl::Pair>* layers) const; 475 bool need_valid_tile_priorities) const;
478 476
479 void SetTopControlsLayoutHeight(float height); 477 void SetTopControlsLayoutHeight(float height);
480 478
481 void SetRequiresHighResToDraw() { requires_high_res_to_draw_ = true; } 479 void SetRequiresHighResToDraw() { requires_high_res_to_draw_ = true; }
482 void ResetRequiresHighResToDraw() { requires_high_res_to_draw_ = false; } 480 void ResetRequiresHighResToDraw() { requires_high_res_to_draw_ = false; }
483 bool RequiresHighResToDraw() const { return requires_high_res_to_draw_; } 481 bool RequiresHighResToDraw() const { return requires_high_res_to_draw_; }
484 482
485 // Only valid for synchronous (non-scheduled) single-threaded case. 483 // Only valid for synchronous (non-scheduled) single-threaded case.
486 void SynchronouslyInitializeAllTiles(); 484 void SynchronouslyInitializeAllTiles();
487 485
(...skipping 11 matching lines...) Expand all
499 Proxy* proxy, 497 Proxy* proxy,
500 RenderingStatsInstrumentation* rendering_stats_instrumentation, 498 RenderingStatsInstrumentation* rendering_stats_instrumentation,
501 SharedBitmapManager* shared_bitmap_manager, 499 SharedBitmapManager* shared_bitmap_manager,
502 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 500 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
503 int id); 501 int id);
504 502
505 void UpdateViewportContainerSizes(); 503 void UpdateViewportContainerSizes();
506 504
507 // Virtual for testing. 505 // Virtual for testing.
508 virtual void AnimateLayers(base::TimeTicks monotonic_time); 506 virtual void AnimateLayers(base::TimeTicks monotonic_time);
509 virtual base::TimeDelta LowFrequencyAnimationInterval() const;
510
511 const AnimationRegistrar::AnimationControllerMap& 507 const AnimationRegistrar::AnimationControllerMap&
512 active_animation_controllers() const { 508 active_animation_controllers() const {
513 return animation_registrar_->active_animation_controllers(); 509 return animation_registrar_->active_animation_controllers();
514 } 510 }
515 511
516 bool manage_tiles_needed() const { return tile_priorities_dirty_; } 512 bool manage_tiles_needed() const { return tile_priorities_dirty_; }
517 513
518 LayerTreeHostImplClient* client_; 514 LayerTreeHostImplClient* client_;
519 Proxy* proxy_; 515 Proxy* proxy_;
520 516
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 scoped_ptr<LayerTreeImpl> recycle_tree_; 616 scoped_ptr<LayerTreeImpl> recycle_tree_;
621 617
622 InputHandlerClient* input_handler_client_; 618 InputHandlerClient* input_handler_client_;
623 bool did_lock_scrolling_layer_; 619 bool did_lock_scrolling_layer_;
624 bool should_bubble_scrolls_; 620 bool should_bubble_scrolls_;
625 bool wheel_scrolling_; 621 bool wheel_scrolling_;
626 bool scroll_affects_scroll_handler_; 622 bool scroll_affects_scroll_handler_;
627 int scroll_layer_id_when_mouse_over_scrollbar_; 623 int scroll_layer_id_when_mouse_over_scrollbar_;
628 ScopedPtrVector<SwapPromise> swap_promises_for_main_thread_scroll_update_; 624 ScopedPtrVector<SwapPromise> swap_promises_for_main_thread_scroll_update_;
629 625
626 // An object to implement the ScrollElasticityHelper interface and
627 // hold all state related to elasticity. May be NULL if never requested.
628 scoped_ptr<ScrollElasticityHelper> scroll_elasticity_helper_;
629
630 bool tile_priorities_dirty_; 630 bool tile_priorities_dirty_;
631 631
632 // The optional delegate for the root layer scroll offset. 632 // The optional delegate for the root layer scroll offset.
633 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate_; 633 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate_;
634 LayerTreeSettings settings_; 634 LayerTreeSettings settings_;
635 LayerTreeDebugState debug_state_; 635 LayerTreeDebugState debug_state_;
636 bool visible_; 636 bool visible_;
637 ManagedMemoryPolicy cached_managed_memory_policy_; 637 ManagedMemoryPolicy cached_managed_memory_policy_;
638 638
639 gfx::Vector2dF accumulated_root_overscroll_; 639 gfx::Vector2dF accumulated_root_overscroll_;
640 640
641 bool pinch_gesture_active_; 641 bool pinch_gesture_active_;
642 bool pinch_gesture_end_should_clear_scrolling_layer_; 642 bool pinch_gesture_end_should_clear_scrolling_layer_;
643 gfx::Point previous_pinch_anchor_; 643 gfx::Point previous_pinch_anchor_;
644 644
645 scoped_ptr<TopControlsManager> top_controls_manager_; 645 scoped_ptr<TopControlsManager> top_controls_manager_;
646 646
647 scoped_ptr<PageScaleAnimation> page_scale_animation_; 647 scoped_ptr<PageScaleAnimation> page_scale_animation_;
648 648
649 // This is used for ticking animations slowly when hidden.
650 scoped_ptr<LayerTreeHostImplTimeSourceAdapter> time_source_client_adapter_;
651
652 scoped_ptr<FrameRateCounter> fps_counter_; 649 scoped_ptr<FrameRateCounter> fps_counter_;
653 scoped_ptr<PaintTimeCounter> paint_time_counter_; 650 scoped_ptr<PaintTimeCounter> paint_time_counter_;
654 scoped_ptr<MemoryHistory> memory_history_; 651 scoped_ptr<MemoryHistory> memory_history_;
655 scoped_ptr<DebugRectHistory> debug_rect_history_; 652 scoped_ptr<DebugRectHistory> debug_rect_history_;
656 653
657 scoped_ptr<TextureMailboxDeleter> texture_mailbox_deleter_; 654 scoped_ptr<TextureMailboxDeleter> texture_mailbox_deleter_;
658 655
659 // The maximum memory that would be used by the prioritized resource 656 // The maximum memory that would be used by the prioritized resource
660 // manager, if there were no limit on memory usage. 657 // manager, if there were no limit on memory usage.
661 size_t max_memory_needed_bytes_; 658 size_t max_memory_needed_bytes_;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 std::vector<PictureLayerImpl::Pair> picture_layer_pairs_; 714 std::vector<PictureLayerImpl::Pair> picture_layer_pairs_;
718 715
719 bool requires_high_res_to_draw_; 716 bool requires_high_res_to_draw_;
720 717
721 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); 718 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl);
722 }; 719 };
723 720
724 } // namespace cc 721 } // namespace cc
725 722
726 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ 723 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698