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

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

Issue 511253003: Made Blink aware of top controls offset (Chromium-side) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 min_page_scale_factor_(0), 85 min_page_scale_factor_(0),
86 max_page_scale_factor_(0), 86 max_page_scale_factor_(0),
87 scrolling_layer_id_from_previous_tree_(0), 87 scrolling_layer_id_from_previous_tree_(0),
88 contents_textures_purged_(false), 88 contents_textures_purged_(false),
89 requires_high_res_to_draw_(false), 89 requires_high_res_to_draw_(false),
90 viewport_size_invalid_(false), 90 viewport_size_invalid_(false),
91 needs_update_draw_properties_(true), 91 needs_update_draw_properties_(true),
92 needs_full_tree_sync_(true), 92 needs_full_tree_sync_(true),
93 next_activation_forces_redraw_(false), 93 next_activation_forces_redraw_(false),
94 has_ever_been_drawn_(false), 94 has_ever_been_drawn_(false),
95 render_surface_layer_list_id_(0) { 95 render_surface_layer_list_id_(0),
96 top_controls_content_offset_(0),
97 top_controls_delta_(0),
98 sent_top_controls_delta_(0) {
96 } 99 }
97 100
98 LayerTreeImpl::~LayerTreeImpl() { 101 LayerTreeImpl::~LayerTreeImpl() {
99 BreakSwapPromises(SwapPromise::SWAP_FAILS); 102 BreakSwapPromises(SwapPromise::SWAP_FAILS);
100 103
101 // Need to explicitly clear the tree prior to destroying this so that 104 // Need to explicitly clear the tree prior to destroying this so that
102 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor. 105 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor.
103 DCHECK(!root_layer_); 106 DCHECK(!root_layer_);
104 DCHECK(layers_with_copy_output_request_.empty()); 107 DCHECK(layers_with_copy_output_request_.empty());
105 } 108 }
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 // The request queue should have been processed and does not require a push. 196 // The request queue should have been processed and does not require a push.
194 DCHECK_EQ(ui_resource_request_queue_.size(), 0u); 197 DCHECK_EQ(ui_resource_request_queue_.size(), 0u);
195 198
196 if (next_activation_forces_redraw_) { 199 if (next_activation_forces_redraw_) {
197 target_tree->ForceRedrawNextActivation(); 200 target_tree->ForceRedrawNextActivation();
198 next_activation_forces_redraw_ = false; 201 next_activation_forces_redraw_ = false;
199 } 202 }
200 203
201 target_tree->PassSwapPromises(&swap_promise_list_); 204 target_tree->PassSwapPromises(&swap_promise_list_);
202 205
206 target_tree->top_controls_content_offset_ = top_controls_content_offset_;
207 target_tree->top_controls_delta_ =
208 target_tree->top_controls_delta_ -
209 target_tree->sent_top_controls_delta_;
210 target_tree->sent_top_controls_delta_ = 0.f;
211
203 target_tree->SetPageScaleValues( 212 target_tree->SetPageScaleValues(
204 page_scale_factor(), min_page_scale_factor(), max_page_scale_factor(), 213 page_scale_factor(), min_page_scale_factor(), max_page_scale_factor(),
205 target_tree->page_scale_delta() / target_tree->sent_page_scale_delta()); 214 target_tree->page_scale_delta() / target_tree->sent_page_scale_delta());
206 target_tree->set_sent_page_scale_delta(1); 215 target_tree->set_sent_page_scale_delta(1);
207 216
208 if (page_scale_layer_ && inner_viewport_scroll_layer_) { 217 if (page_scale_layer_ && inner_viewport_scroll_layer_) {
209 target_tree->SetViewportLayersFromIds( 218 target_tree->SetViewportLayersFromIds(
210 page_scale_layer_->id(), 219 page_scale_layer_->id(),
211 inner_viewport_scroll_layer_->id(), 220 inner_viewport_scroll_layer_->id(),
212 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() 221 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id()
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 layer->ApplySentScrollDeltasFromAbortedCommit(); 378 layer->ApplySentScrollDeltasFromAbortedCommit();
370 } 379 }
371 380
372 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() { 381 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() {
373 DCHECK(IsActiveTree()); 382 DCHECK(IsActiveTree());
374 383
375 page_scale_factor_ *= sent_page_scale_delta_; 384 page_scale_factor_ *= sent_page_scale_delta_;
376 page_scale_delta_ /= sent_page_scale_delta_; 385 page_scale_delta_ /= sent_page_scale_delta_;
377 sent_page_scale_delta_ = 1.f; 386 sent_page_scale_delta_ = 1.f;
378 387
388 top_controls_content_offset_ += sent_top_controls_delta_;
389 top_controls_delta_ -= sent_top_controls_delta_;
390 sent_top_controls_delta_ = 0.f;
391
379 if (!root_layer()) 392 if (!root_layer())
380 return; 393 return;
381 394
382 LayerTreeHostCommon::CallFunctionForSubtree( 395 LayerTreeHostCommon::CallFunctionForSubtree(
383 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo)); 396 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo));
384 } 397 }
385 398
386 static void ApplyScrollDeltasSinceBeginMainFrameTo(LayerImpl* layer) { 399 static void ApplyScrollDeltasSinceBeginMainFrameTo(LayerImpl* layer) {
387 layer->ApplyScrollDeltasSinceBeginMainFrame(); 400 layer->ApplyScrollDeltasSinceBeginMainFrame();
388 } 401 }
(...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after
1407 1420
1408 void LayerTreeImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { 1421 void LayerTreeImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) {
1409 layer_tree_host_impl_->UnregisterPictureLayerImpl(layer); 1422 layer_tree_host_impl_->UnregisterPictureLayerImpl(layer);
1410 } 1423 }
1411 1424
1412 void LayerTreeImpl::InputScrollAnimationFinished() { 1425 void LayerTreeImpl::InputScrollAnimationFinished() {
1413 layer_tree_host_impl_->ScrollEnd(); 1426 layer_tree_host_impl_->ScrollEnd();
1414 } 1427 }
1415 1428
1416 } // namespace cc 1429 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698