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

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: Fixed crash + mojo example build break 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
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | content/browser/renderer_host/compositor_impl_android.h » ('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 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_layout_height_(0),
97 top_controls_top_offset_(0),
98 top_controls_delta_(0),
99 sent_top_controls_delta_(0) {
96 } 100 }
97 101
98 LayerTreeImpl::~LayerTreeImpl() { 102 LayerTreeImpl::~LayerTreeImpl() {
99 BreakSwapPromises(SwapPromise::SWAP_FAILS); 103 BreakSwapPromises(SwapPromise::SWAP_FAILS);
100 104
101 // Need to explicitly clear the tree prior to destroying this so that 105 // Need to explicitly clear the tree prior to destroying this so that
102 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor. 106 // the LayerTreeImpl pointer is still valid in the LayerImpl dtor.
103 DCHECK(!root_layer_); 107 DCHECK(!root_layer_);
104 DCHECK(layers_with_copy_output_request_.empty()); 108 DCHECK(layers_with_copy_output_request_.empty());
105 } 109 }
(...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. 197 // The request queue should have been processed and does not require a push.
194 DCHECK_EQ(ui_resource_request_queue_.size(), 0u); 198 DCHECK_EQ(ui_resource_request_queue_.size(), 0u);
195 199
196 if (next_activation_forces_redraw_) { 200 if (next_activation_forces_redraw_) {
197 target_tree->ForceRedrawNextActivation(); 201 target_tree->ForceRedrawNextActivation();
198 next_activation_forces_redraw_ = false; 202 next_activation_forces_redraw_ = false;
199 } 203 }
200 204
201 target_tree->PassSwapPromises(&swap_promise_list_); 205 target_tree->PassSwapPromises(&swap_promise_list_);
202 206
207 target_tree->top_controls_layout_height_ = top_controls_layout_height_;
208 target_tree->top_controls_top_offset_ = top_controls_top_offset_;
209 target_tree->top_controls_delta_ =
210 target_tree->top_controls_delta_ -
211 target_tree->sent_top_controls_delta_;
212 target_tree->sent_top_controls_delta_ = 0.f;
213
203 target_tree->SetPageScaleValues( 214 target_tree->SetPageScaleValues(
204 page_scale_factor(), min_page_scale_factor(), max_page_scale_factor(), 215 page_scale_factor(), min_page_scale_factor(), max_page_scale_factor(),
205 target_tree->page_scale_delta() / target_tree->sent_page_scale_delta()); 216 target_tree->page_scale_delta() / target_tree->sent_page_scale_delta());
206 target_tree->set_sent_page_scale_delta(1); 217 target_tree->set_sent_page_scale_delta(1);
207 218
208 if (page_scale_layer_ && inner_viewport_scroll_layer_) { 219 if (page_scale_layer_ && inner_viewport_scroll_layer_) {
209 target_tree->SetViewportLayersFromIds( 220 target_tree->SetViewportLayersFromIds(
210 page_scale_layer_->id(), 221 page_scale_layer_->id(),
211 inner_viewport_scroll_layer_->id(), 222 inner_viewport_scroll_layer_->id(),
212 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id() 223 outer_viewport_scroll_layer_ ? outer_viewport_scroll_layer_->id()
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 layer->ApplySentScrollDeltasFromAbortedCommit(); 380 layer->ApplySentScrollDeltasFromAbortedCommit();
370 } 381 }
371 382
372 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() { 383 void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() {
373 DCHECK(IsActiveTree()); 384 DCHECK(IsActiveTree());
374 385
375 page_scale_factor_ *= sent_page_scale_delta_; 386 page_scale_factor_ *= sent_page_scale_delta_;
376 page_scale_delta_ /= sent_page_scale_delta_; 387 page_scale_delta_ /= sent_page_scale_delta_;
377 sent_page_scale_delta_ = 1.f; 388 sent_page_scale_delta_ = 1.f;
378 389
390 top_controls_top_offset_ += sent_top_controls_delta_;
391 top_controls_delta_ -= sent_top_controls_delta_;
392 sent_top_controls_delta_ = 0.f;
393
379 if (!root_layer()) 394 if (!root_layer())
380 return; 395 return;
381 396
382 LayerTreeHostCommon::CallFunctionForSubtree( 397 LayerTreeHostCommon::CallFunctionForSubtree(
383 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo)); 398 root_layer(), base::Bind(&ApplySentScrollDeltasFromAbortedCommitTo));
384 } 399 }
385 400
386 static void ApplyScrollDeltasSinceBeginMainFrameTo(LayerImpl* layer) { 401 static void ApplyScrollDeltasSinceBeginMainFrameTo(LayerImpl* layer) {
387 layer->ApplyScrollDeltasSinceBeginMainFrame(); 402 layer->ApplyScrollDeltasSinceBeginMainFrame();
388 } 403 }
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 1433
1419 void LayerTreeImpl::InputScrollAnimationFinished() { 1434 void LayerTreeImpl::InputScrollAnimationFinished() {
1420 layer_tree_host_impl_->ScrollEnd(); 1435 layer_tree_host_impl_->ScrollEnd();
1421 } 1436 }
1422 1437
1423 BlockingTaskRunner* LayerTreeImpl::BlockingMainThreadTaskRunner() const { 1438 BlockingTaskRunner* LayerTreeImpl::BlockingMainThreadTaskRunner() const {
1424 return proxy()->blocking_main_thread_task_runner(); 1439 return proxy()->blocking_main_thread_task_runner();
1425 } 1440 }
1426 1441
1427 } // namespace cc 1442 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | content/browser/renderer_host/compositor_impl_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698