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

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

Issue 786123002: Update from https://crrev.com/307330 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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_impl.h ('k') | cc/trees/layer_tree_impl_unittest.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 #include "cc/trees/layer_tree_impl.h" 5 #include "cc/trees/layer_tree_impl.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <set> 8 #include <set>
9 9
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 private: 69 private:
70 LayerImpl* layer_; 70 LayerImpl* layer_;
71 LayerScrollOffsetDelegate* delegate_; 71 LayerScrollOffsetDelegate* delegate_;
72 LayerTreeImpl* layer_tree_impl_; 72 LayerTreeImpl* layer_tree_impl_;
73 gfx::ScrollOffset last_set_scroll_offset_; 73 gfx::ScrollOffset last_set_scroll_offset_;
74 }; 74 };
75 75
76 LayerTreeImpl::LayerTreeImpl( 76 LayerTreeImpl::LayerTreeImpl(
77 LayerTreeHostImpl* layer_tree_host_impl, 77 LayerTreeHostImpl* layer_tree_host_impl,
78 scoped_refptr<SyncedProperty<ScaleGroup>> page_scale_factor) 78 scoped_refptr<SyncedProperty<ScaleGroup>> page_scale_factor,
79 scoped_refptr<SyncedElasticOverscroll> elastic_overscroll)
79 : layer_tree_host_impl_(layer_tree_host_impl), 80 : layer_tree_host_impl_(layer_tree_host_impl),
80 source_frame_number_(-1), 81 source_frame_number_(-1),
81 hud_layer_(0), 82 hud_layer_(0),
82 currently_scrolling_layer_(NULL), 83 currently_scrolling_layer_(NULL),
83 root_layer_scroll_offset_delegate_(NULL), 84 root_layer_scroll_offset_delegate_(NULL),
84 background_color_(0), 85 background_color_(0),
85 has_transparent_background_(false), 86 has_transparent_background_(false),
87 overscroll_elasticity_layer_(NULL),
86 page_scale_layer_(NULL), 88 page_scale_layer_(NULL),
87 inner_viewport_scroll_layer_(NULL), 89 inner_viewport_scroll_layer_(NULL),
88 outer_viewport_scroll_layer_(NULL), 90 outer_viewport_scroll_layer_(NULL),
89 page_scale_factor_(page_scale_factor), 91 page_scale_factor_(page_scale_factor),
90 min_page_scale_factor_(0), 92 min_page_scale_factor_(0),
91 max_page_scale_factor_(0), 93 max_page_scale_factor_(0),
94 elastic_overscroll_(elastic_overscroll),
92 scrolling_layer_id_from_previous_tree_(0), 95 scrolling_layer_id_from_previous_tree_(0),
93 contents_textures_purged_(false), 96 contents_textures_purged_(false),
94 viewport_size_invalid_(false), 97 viewport_size_invalid_(false),
95 needs_update_draw_properties_(true), 98 needs_update_draw_properties_(true),
96 needs_full_tree_sync_(true), 99 needs_full_tree_sync_(true),
97 next_activation_forces_redraw_(false), 100 next_activation_forces_redraw_(false),
98 has_ever_been_drawn_(false), 101 has_ever_been_drawn_(false),
99 render_surface_layer_list_id_(0), 102 render_surface_layer_list_id_(0),
100 top_controls_shrink_blink_size_(false), 103 top_controls_shrink_blink_size_(false),
101 top_controls_height_(0), 104 top_controls_height_(0),
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 target_tree->top_controls_content_offset_ = top_controls_content_offset_; 226 target_tree->top_controls_content_offset_ = top_controls_content_offset_;
224 target_tree->top_controls_delta_ = target_tree->top_controls_delta_ - 227 target_tree->top_controls_delta_ = target_tree->top_controls_delta_ -
225 target_tree->sent_top_controls_delta_ - 228 target_tree->sent_top_controls_delta_ -
226 top_controls_height_delta; 229 top_controls_height_delta;
227 target_tree->sent_top_controls_delta_ = 0.f; 230 target_tree->sent_top_controls_delta_ = 0.f;
228 231
229 // Active tree already shares the page_scale_factor object with pending 232 // Active tree already shares the page_scale_factor object with pending
230 // tree so only the limits need to be provided. 233 // tree so only the limits need to be provided.
231 target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(), 234 target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(),
232 max_page_scale_factor()); 235 max_page_scale_factor());
236 target_tree->elastic_overscroll()->PushPendingToActive();
233 237
234 target_tree->pending_page_scale_animation_ = 238 target_tree->pending_page_scale_animation_ =
235 pending_page_scale_animation_.Pass(); 239 pending_page_scale_animation_.Pass();
236 240
237 if (page_scale_layer_ && inner_viewport_scroll_layer_) { 241 if (page_scale_layer_ && inner_viewport_scroll_layer_) {
238 target_tree->SetViewportLayersFromIds( 242 target_tree->SetViewportLayersFromIds(
239 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id() 243 overscroll_elasticity_layer_ ? overscroll_elasticity_layer_->id()
240 : Layer::INVALID_ID, 244 : Layer::INVALID_ID,
241 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(), 245 page_scale_layer_->id(), inner_viewport_scroll_layer_->id(),
242 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() 246 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id()
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 } 425 }
422 426
423 static void ApplySentScrollDeltasFromAbortedCommitTo(LayerImpl* layer) { 427 static void ApplySentScrollDeltasFromAbortedCommitTo(LayerImpl* layer) {
424 layer->ApplySentScrollDeltasFromAbortedCommit(); 428 layer->ApplySentScrollDeltasFromAbortedCommit();
425 } 429 }
426 430
427 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() { 431 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() {
428 DCHECK(IsActiveTree()); 432 DCHECK(IsActiveTree());
429 433
430 page_scale_factor()->AbortCommit(); 434 page_scale_factor()->AbortCommit();
435 elastic_overscroll()->AbortCommit();
431 436
432 top_controls_content_offset_ += sent_top_controls_delta_; 437 top_controls_content_offset_ += sent_top_controls_delta_;
433 top_controls_delta_ -= sent_top_controls_delta_; 438 top_controls_delta_ -= sent_top_controls_delta_;
434 sent_top_controls_delta_ = 0.f; 439 sent_top_controls_delta_ = 0.f;
435 440
436 if (!root_layer()) 441 if (!root_layer())
437 return; 442 return;
438 443
439 LayerTreeHostCommon::CallFunctionForSubtree( 444 LayerTreeHostCommon::CallFunctionForSubtree(
440 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo)); 445 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo));
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 page_scale_layer_ ? page_scale_layer_ : InnerViewportContainerLayer(); 522 page_scale_layer_ ? page_scale_layer_ : InnerViewportContainerLayer();
518 bool can_render_to_separate_surface = 523 bool can_render_to_separate_surface =
519 (layer_tree_host_impl_->GetDrawMode() != 524 (layer_tree_host_impl_->GetDrawMode() !=
520 DRAW_MODE_RESOURCELESS_SOFTWARE); 525 DRAW_MODE_RESOURCELESS_SOFTWARE);
521 526
522 ++render_surface_layer_list_id_; 527 ++render_surface_layer_list_id_;
523 LayerTreeHostCommon::CalcDrawPropsImplInputs inputs( 528 LayerTreeHostCommon::CalcDrawPropsImplInputs inputs(
524 root_layer(), DrawViewportSize(), 529 root_layer(), DrawViewportSize(),
525 layer_tree_host_impl_->DrawTransform(), device_scale_factor(), 530 layer_tree_host_impl_->DrawTransform(), device_scale_factor(),
526 current_page_scale_factor(), page_scale_layer, 531 current_page_scale_factor(), page_scale_layer,
527 resource_provider()->max_texture_size(), settings().can_use_lcd_text, 532 elastic_overscroll()->Current(IsActiveTree()),
528 settings().layers_always_allowed_lcd_text, 533 overscroll_elasticity_layer_, resource_provider()->max_texture_size(),
534 settings().can_use_lcd_text, settings().layers_always_allowed_lcd_text,
529 can_render_to_separate_surface, 535 can_render_to_separate_surface,
530 settings().layer_transforms_should_scale_layer_contents, 536 settings().layer_transforms_should_scale_layer_contents,
531 &render_surface_layer_list_, render_surface_layer_list_id_); 537 &render_surface_layer_list_, render_surface_layer_list_id_);
532 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 538 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
533 } 539 }
534 540
535 { 541 {
536 TRACE_EVENT_BEGIN2("cc", "LayerTreeImpl::UpdateTilePriorities", "IsActive", 542 TRACE_EVENT_BEGIN2("cc", "LayerTreeImpl::UpdateTilePriorities", "IsActive",
537 IsActiveTree(), "SourceFrameNumber", 543 IsActiveTree(), "SourceFrameNumber",
538 source_frame_number_); 544 source_frame_number_);
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after
1513 scoped_ptr<PendingPageScaleAnimation> pending_animation) { 1519 scoped_ptr<PendingPageScaleAnimation> pending_animation) {
1514 pending_page_scale_animation_ = pending_animation.Pass(); 1520 pending_page_scale_animation_ = pending_animation.Pass();
1515 } 1521 }
1516 1522
1517 scoped_ptr<PendingPageScaleAnimation> 1523 scoped_ptr<PendingPageScaleAnimation>
1518 LayerTreeImpl::TakePendingPageScaleAnimation() { 1524 LayerTreeImpl::TakePendingPageScaleAnimation() {
1519 return pending_page_scale_animation_.Pass(); 1525 return pending_page_scale_animation_.Pass();
1520 } 1526 }
1521 1527
1522 } // namespace cc 1528 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | cc/trees/layer_tree_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698