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

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

Issue 23495022: CC: Add a scheduled action for ManageTiles (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unused. Created 7 years, 3 months 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/test/fake_layer_tree_host_impl_client.h ('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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 public: 58 public:
59 virtual void DidLoseOutputSurfaceOnImplThread() = 0; 59 virtual void DidLoseOutputSurfaceOnImplThread() = 0;
60 virtual void OnSwapBuffersCompleteOnImplThread() = 0; 60 virtual void OnSwapBuffersCompleteOnImplThread() = 0;
61 virtual void BeginFrameOnImplThread(const BeginFrameArgs& args) = 0; 61 virtual void BeginFrameOnImplThread(const BeginFrameArgs& args) = 0;
62 virtual void OnCanDrawStateChanged(bool can_draw) = 0; 62 virtual void OnCanDrawStateChanged(bool can_draw) = 0;
63 virtual void NotifyReadyToActivate() = 0; 63 virtual void NotifyReadyToActivate() = 0;
64 virtual void SetNeedsRedrawOnImplThread() = 0; 64 virtual void SetNeedsRedrawOnImplThread() = 0;
65 virtual void SetNeedsRedrawRectOnImplThread(gfx::Rect damage_rect) = 0; 65 virtual void SetNeedsRedrawRectOnImplThread(gfx::Rect damage_rect) = 0;
66 virtual void DidInitializeVisibleTileOnImplThread() = 0; 66 virtual void DidInitializeVisibleTileOnImplThread() = 0;
67 virtual void SetNeedsCommitOnImplThread() = 0; 67 virtual void SetNeedsCommitOnImplThread() = 0;
68 virtual void SetNeedsManageTilesOnImplThread() = 0;
68 virtual void PostAnimationEventsToMainThreadOnImplThread( 69 virtual void PostAnimationEventsToMainThreadOnImplThread(
69 scoped_ptr<AnimationEventsVector> events, 70 scoped_ptr<AnimationEventsVector> events,
70 base::Time wall_clock_time) = 0; 71 base::Time wall_clock_time) = 0;
71 // Returns true if resources were deleted by this call. 72 // Returns true if resources were deleted by this call.
72 virtual bool ReduceContentsTextureMemoryOnImplThread( 73 virtual bool ReduceContentsTextureMemoryOnImplThread(
73 size_t limit_bytes, 74 size_t limit_bytes,
74 int priority_cutoff) = 0; 75 int priority_cutoff) = 0;
75 virtual void ReduceWastedContentsTextureMemoryOnImplThread() = 0; 76 virtual void ReduceWastedContentsTextureMemoryOnImplThread() = 0;
76 virtual void SendManagedMemoryStats() = 0; 77 virtual void SendManagedMemoryStats() = 0;
77 virtual bool IsInsideDraw() = 0; 78 virtual bool IsInsideDraw() = 0;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 156
156 virtual void BeginCommit(); 157 virtual void BeginCommit();
157 virtual void CommitComplete(); 158 virtual void CommitComplete();
158 virtual void Animate(base::TimeTicks monotonic_time, 159 virtual void Animate(base::TimeTicks monotonic_time,
159 base::Time wall_clock_time); 160 base::Time wall_clock_time);
160 virtual void UpdateAnimationState(bool start_ready_animations); 161 virtual void UpdateAnimationState(bool start_ready_animations);
161 void MainThreadHasStoppedFlinging(); 162 void MainThreadHasStoppedFlinging();
162 void UpdateBackgroundAnimateTicking(bool should_background_tick); 163 void UpdateBackgroundAnimateTicking(bool should_background_tick);
163 void SetViewportDamage(gfx::Rect damage_rect); 164 void SetViewportDamage(gfx::Rect damage_rect);
164 165
165 void ManageTiles(); 166 virtual void ManageTiles();
166 167
167 // Returns false if problems occured preparing the frame, and we should try 168 // Returns false if problems occured preparing the frame, and we should try
168 // to avoid displaying the frame. If PrepareToDraw is called, DidDrawAllLayers 169 // to avoid displaying the frame. If PrepareToDraw is called, DidDrawAllLayers
169 // must also be called, regardless of whether DrawLayers is called between the 170 // must also be called, regardless of whether DrawLayers is called between the
170 // two. 171 // two.
171 virtual bool PrepareToDraw(FrameData* frame, 172 virtual bool PrepareToDraw(FrameData* frame,
172 gfx::Rect device_viewport_damage_rect); 173 gfx::Rect device_viewport_damage_rect);
173 virtual void DrawLayers(FrameData* frame, base::TimeTicks frame_begin_time); 174 virtual void DrawLayers(FrameData* frame, base::TimeTicks frame_begin_time);
174 // Must be called if and only if PrepareToDraw was called. 175 // Must be called if and only if PrepareToDraw was called.
175 void DidDrawAllLayers(const FrameData& frame); 176 void DidDrawAllLayers(const FrameData& frame);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 int SourceAnimationFrameNumber() const; 248 int SourceAnimationFrameNumber() const;
248 249
249 virtual bool InitializeRenderer(scoped_ptr<OutputSurface> output_surface); 250 virtual bool InitializeRenderer(scoped_ptr<OutputSurface> output_surface);
250 bool IsContextLost(); 251 bool IsContextLost();
251 TileManager* tile_manager() { return tile_manager_.get(); } 252 TileManager* tile_manager() { return tile_manager_.get(); }
252 Renderer* renderer() { return renderer_.get(); } 253 Renderer* renderer() { return renderer_.get(); }
253 const RendererCapabilities& GetRendererCapabilities() const; 254 const RendererCapabilities& GetRendererCapabilities() const;
254 255
255 virtual bool SwapBuffers(const FrameData& frame); 256 virtual bool SwapBuffers(const FrameData& frame);
256 void SetNeedsBeginFrame(bool enable); 257 void SetNeedsBeginFrame(bool enable);
257 void SetNeedsManageTiles() { manage_tiles_needed_ = true; } 258 void DidModifyTilePriorities();
258 259
259 void Readback(void* pixels, gfx::Rect rect_in_device_viewport); 260 void Readback(void* pixels, gfx::Rect rect_in_device_viewport);
260 261
261 LayerTreeImpl* active_tree() { return active_tree_.get(); } 262 LayerTreeImpl* active_tree() { return active_tree_.get(); }
262 const LayerTreeImpl* active_tree() const { return active_tree_.get(); } 263 const LayerTreeImpl* active_tree() const { return active_tree_.get(); }
263 LayerTreeImpl* pending_tree() { return pending_tree_.get(); } 264 LayerTreeImpl* pending_tree() { return pending_tree_.get(); }
264 const LayerTreeImpl* pending_tree() const { return pending_tree_.get(); } 265 const LayerTreeImpl* pending_tree() const { return pending_tree_.get(); }
265 const LayerTreeImpl* recycle_tree() const { return recycle_tree_.get(); } 266 const LayerTreeImpl* recycle_tree() const { return recycle_tree_.get(); }
266 virtual void CreatePendingTree(); 267 virtual void CreatePendingTree();
267 virtual void UpdateVisibleTiles(); 268 virtual void UpdateVisibleTiles();
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 base::Time wall_clock_time); 422 base::Time wall_clock_time);
422 423
423 // Virtual for testing. 424 // Virtual for testing.
424 virtual base::TimeDelta LowFrequencyAnimationInterval() const; 425 virtual base::TimeDelta LowFrequencyAnimationInterval() const;
425 426
426 const AnimationRegistrar::AnimationControllerMap& 427 const AnimationRegistrar::AnimationControllerMap&
427 active_animation_controllers() const { 428 active_animation_controllers() const {
428 return animation_registrar_->active_animation_controllers(); 429 return animation_registrar_->active_animation_controllers();
429 } 430 }
430 431
431 bool manage_tiles_needed() const { return manage_tiles_needed_; } 432 bool manage_tiles_needed() const { return tile_priorities_dirty_; }
432 433
433 LayerTreeHostImplClient* client_; 434 LayerTreeHostImplClient* client_;
434 Proxy* proxy_; 435 Proxy* proxy_;
435 436
436 private: 437 private:
437 void CreateAndSetRenderer( 438 void CreateAndSetRenderer(
438 OutputSurface* output_surface, 439 OutputSurface* output_surface,
439 ResourceProvider* resource_provider, 440 ResourceProvider* resource_provider,
440 bool skip_gl_renderer); 441 bool skip_gl_renderer);
441 void CreateAndSetTileManager(ResourceProvider* resource_provider, 442 void CreateAndSetTileManager(ResourceProvider* resource_provider,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 512
512 // In impl-side painting mode, inert tree with layers that can be recycled 513 // In impl-side painting mode, inert tree with layers that can be recycled
513 // by the next sync from the main thread. 514 // by the next sync from the main thread.
514 scoped_ptr<LayerTreeImpl> recycle_tree_; 515 scoped_ptr<LayerTreeImpl> recycle_tree_;
515 516
516 InputHandlerClient* input_handler_client_; 517 InputHandlerClient* input_handler_client_;
517 bool did_lock_scrolling_layer_; 518 bool did_lock_scrolling_layer_;
518 bool should_bubble_scrolls_; 519 bool should_bubble_scrolls_;
519 bool wheel_scrolling_; 520 bool wheel_scrolling_;
520 521
521 bool manage_tiles_needed_; 522 bool tile_priorities_dirty_;
522 523
523 // The optional delegate for the root layer scroll offset. 524 // The optional delegate for the root layer scroll offset.
524 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate_; 525 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate_;
525 LayerTreeSettings settings_; 526 LayerTreeSettings settings_;
526 LayerTreeDebugState debug_state_; 527 LayerTreeDebugState debug_state_;
527 bool visible_; 528 bool visible_;
528 ManagedMemoryPolicy cached_managed_memory_policy_; 529 ManagedMemoryPolicy cached_managed_memory_policy_;
529 530
530 gfx::Vector2dF accumulated_root_overscroll_; 531 gfx::Vector2dF accumulated_root_overscroll_;
531 gfx::Vector2dF current_fling_velocity_; 532 gfx::Vector2dF current_fling_velocity_;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 608
608 // Optional callback to notify of new tree activations. 609 // Optional callback to notify of new tree activations.
609 base::Closure tree_activation_callback_; 610 base::Closure tree_activation_callback_;
610 611
611 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); 612 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl);
612 }; 613 };
613 614
614 } // namespace cc 615 } // namespace cc
615 616
616 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ 617 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_
OLDNEW
« no previous file with comments | « cc/test/fake_layer_tree_host_impl_client.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698