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

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

Issue 2720183003: Track the currently scrolling ScrollNode instead of the scrolling layer (Closed)
Patch Set: Ali did forsee a use-after-free with no stable id Created 3 years, 9 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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_IMPL_H_ 5 #ifndef CC_TREES_LAYER_TREE_IMPL_H_
6 #define CC_TREES_LAYER_TREE_IMPL_H_ 6 #define CC_TREES_LAYER_TREE_IMPL_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 } 169 }
170 170
171 LayerImpl* InnerViewportScrollLayer() const; 171 LayerImpl* InnerViewportScrollLayer() const;
172 // This function may return NULL, it is the caller's responsibility to check. 172 // This function may return NULL, it is the caller's responsibility to check.
173 LayerImpl* OuterViewportScrollLayer() const; 173 LayerImpl* OuterViewportScrollLayer() const;
174 gfx::ScrollOffset TotalScrollOffset() const; 174 gfx::ScrollOffset TotalScrollOffset() const;
175 gfx::ScrollOffset TotalMaxScrollOffset() const; 175 gfx::ScrollOffset TotalMaxScrollOffset() const;
176 176
177 LayerImpl* InnerViewportContainerLayer() const; 177 LayerImpl* InnerViewportContainerLayer() const;
178 LayerImpl* OuterViewportContainerLayer() const; 178 LayerImpl* OuterViewportContainerLayer() const;
179 LayerImpl* CurrentlyScrollingLayer() const; 179 ScrollNode* CurrentlyScrollingNode();
180 int LastScrolledLayerId() const; 180 const ScrollNode* CurrentlyScrollingNode() const;
181 void SetCurrentlyScrollingLayer(LayerImpl* layer); 181 int LastScrolledScrollNodeIndex() const;
182 void ClearCurrentlyScrollingLayer(); 182 void SetCurrentlyScrollingNode(ScrollNode* node);
183 void ClearCurrentlyScrollingNode();
183 184
184 void SetViewportLayersFromIds(int overscroll_elasticity_layer, 185 void SetViewportLayersFromIds(int overscroll_elasticity_layer,
185 int page_scale_layer_id, 186 int page_scale_layer_id,
186 int inner_viewport_scroll_layer_id, 187 int inner_viewport_scroll_layer_id,
187 int outer_viewport_scroll_layer_id); 188 int outer_viewport_scroll_layer_id);
188 void ClearViewportLayers(); 189 void ClearViewportLayers();
189 LayerImpl* OverscrollElasticityLayer() { 190 LayerImpl* OverscrollElasticityLayer() {
190 return LayerById(overscroll_elasticity_layer_id_); 191 return LayerById(overscroll_elasticity_layer_id_);
191 } 192 }
192 LayerImpl* PageScaleLayer() { return LayerById(page_scale_layer_id_); } 193 LayerImpl* PageScaleLayer() { return LayerById(page_scale_layer_id_); }
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 472
472 LayerTreeHostImpl* layer_tree_host_impl_; 473 LayerTreeHostImpl* layer_tree_host_impl_;
473 int source_frame_number_; 474 int source_frame_number_;
474 int is_first_frame_after_commit_tracker_; 475 int is_first_frame_after_commit_tracker_;
475 LayerImpl* root_layer_for_testing_; 476 LayerImpl* root_layer_for_testing_;
476 HeadsUpDisplayLayerImpl* hud_layer_; 477 HeadsUpDisplayLayerImpl* hud_layer_;
477 PropertyTrees property_trees_; 478 PropertyTrees property_trees_;
478 SkColor background_color_; 479 SkColor background_color_;
479 bool has_transparent_background_; 480 bool has_transparent_background_;
480 481
481 int last_scrolled_layer_id_; 482 int last_scrolled_scroll_node_index_;
482 int overscroll_elasticity_layer_id_; 483 int overscroll_elasticity_layer_id_;
483 int page_scale_layer_id_; 484 int page_scale_layer_id_;
484 int inner_viewport_scroll_layer_id_; 485 int inner_viewport_scroll_layer_id_;
485 int outer_viewport_scroll_layer_id_; 486 int outer_viewport_scroll_layer_id_;
486 487
487 LayerSelection selection_; 488 LayerSelection selection_;
488 489
489 scoped_refptr<SyncedProperty<ScaleGroup>> page_scale_factor_; 490 scoped_refptr<SyncedProperty<ScaleGroup>> page_scale_factor_;
490 float min_page_scale_factor_; 491 float min_page_scale_factor_;
491 float max_page_scale_factor_; 492 float max_page_scale_factor_;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 563
563 std::unique_ptr<PendingPageScaleAnimation> pending_page_scale_animation_; 564 std::unique_ptr<PendingPageScaleAnimation> pending_page_scale_animation_;
564 565
565 private: 566 private:
566 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl); 567 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl);
567 }; 568 };
568 569
569 } // namespace cc 570 } // namespace cc
570 571
571 #endif // CC_TREES_LAYER_TREE_IMPL_H_ 572 #endif // CC_TREES_LAYER_TREE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698