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

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

Issue 2417783005: [Master/Overview CL] Make PageScaleFactor work for oopif subframe.
Patch Set: Rebase to master@{#429656}. Created 4 years, 1 month 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.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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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.h" 5 #include "cc/trees/layer_tree.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "cc/animation/animation_host.h" 9 #include "cc/animation/animation_host.h"
10 #include "cc/input/page_scale_animation.h" 10 #include "cc/input/page_scale_animation.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 } // namespace 43 } // namespace
44 44
45 LayerTree::Inputs::Inputs() 45 LayerTree::Inputs::Inputs()
46 : top_controls_height(0.f), 46 : top_controls_height(0.f),
47 top_controls_shown_ratio(0.f), 47 top_controls_shown_ratio(0.f),
48 browser_controls_shrink_blink_size(false), 48 browser_controls_shrink_blink_size(false),
49 bottom_controls_height(0.f), 49 bottom_controls_height(0.f),
50 device_scale_factor(1.f), 50 device_scale_factor(1.f),
51 painted_device_scale_factor(1.f), 51 painted_device_scale_factor(1.f),
52 page_scale_factor(1.f), 52 page_scale_factor(1.f),
53 subframe_page_scale_factor(1.f),
53 min_page_scale_factor(1.f), 54 min_page_scale_factor(1.f),
54 max_page_scale_factor(1.f), 55 max_page_scale_factor(1.f),
55 background_color(SK_ColorWHITE), 56 background_color(SK_ColorWHITE),
56 has_transparent_background(false), 57 has_transparent_background(false),
57 have_scroll_event_handlers(false), 58 have_scroll_event_handlers(false),
58 event_listener_properties() {} 59 event_listener_properties() {}
59 60
60 LayerTree::Inputs::~Inputs() = default; 61 LayerTree::Inputs::~Inputs() = default;
61 62
62 LayerTree::LayerTree(std::unique_ptr<AnimationHost> animation_host, 63 LayerTree::LayerTree(std::unique_ptr<AnimationHost> animation_host,
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 inputs_.max_page_scale_factor == max_page_scale_factor) 193 inputs_.max_page_scale_factor == max_page_scale_factor)
193 return; 194 return;
194 195
195 inputs_.page_scale_factor = page_scale_factor; 196 inputs_.page_scale_factor = page_scale_factor;
196 inputs_.min_page_scale_factor = min_page_scale_factor; 197 inputs_.min_page_scale_factor = min_page_scale_factor;
197 inputs_.max_page_scale_factor = max_page_scale_factor; 198 inputs_.max_page_scale_factor = max_page_scale_factor;
198 SetPropertyTreesNeedRebuild(); 199 SetPropertyTreesNeedRebuild();
199 SetNeedsCommit(); 200 SetNeedsCommit();
200 } 201 }
201 202
203 void LayerTree::SetSubframePageScaleFactor(float subframe_page_scale_factor) {
204 if (inputs_.subframe_page_scale_factor == subframe_page_scale_factor)
205 return;
206
207 inputs_.subframe_page_scale_factor = subframe_page_scale_factor;
208 SetNeedsDisplayOnAllLayers();
209 }
210
202 void LayerTree::StartPageScaleAnimation(const gfx::Vector2d& target_offset, 211 void LayerTree::StartPageScaleAnimation(const gfx::Vector2d& target_offset,
203 bool use_anchor, 212 bool use_anchor,
204 float scale, 213 float scale,
205 base::TimeDelta duration) { 214 base::TimeDelta duration) {
206 inputs_.pending_page_scale_animation.reset(new PendingPageScaleAnimation( 215 inputs_.pending_page_scale_animation.reset(new PendingPageScaleAnimation(
207 target_offset, use_anchor, scale, duration)); 216 target_offset, use_anchor, scale, duration));
208 217
209 SetNeedsCommit(); 218 SetNeedsCommit();
210 } 219 }
211 220
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 if (inputs_.root_layer && property_trees_changed_on_active_tree) { 402 if (inputs_.root_layer && property_trees_changed_on_active_tree) {
394 if (property_trees_.sequence_number == 403 if (property_trees_.sequence_number ==
395 tree_impl->property_trees()->sequence_number) 404 tree_impl->property_trees()->sequence_number)
396 tree_impl->property_trees()->PushChangeTrackingTo(&property_trees_); 405 tree_impl->property_trees()->PushChangeTrackingTo(&property_trees_);
397 else 406 else
398 tree_impl->MoveChangeTrackingToLayers(); 407 tree_impl->MoveChangeTrackingToLayers();
399 } 408 }
400 // Setting property trees must happen before pushing the page scale. 409 // Setting property trees must happen before pushing the page scale.
401 tree_impl->SetPropertyTrees(&property_trees_); 410 tree_impl->SetPropertyTrees(&property_trees_);
402 411
403 tree_impl->PushPageScaleFromMainThread(inputs_.page_scale_factor, 412 tree_impl->PushPageScaleFromMainThread(
404 inputs_.min_page_scale_factor, 413 inputs_.page_scale_factor, inputs_.subframe_page_scale_factor,
405 inputs_.max_page_scale_factor); 414 inputs_.min_page_scale_factor, inputs_.max_page_scale_factor);
406 415
407 tree_impl->set_browser_controls_shrink_blink_size( 416 tree_impl->set_browser_controls_shrink_blink_size(
408 inputs_.browser_controls_shrink_blink_size); 417 inputs_.browser_controls_shrink_blink_size);
409 tree_impl->set_top_controls_height(inputs_.top_controls_height); 418 tree_impl->set_top_controls_height(inputs_.top_controls_height);
410 tree_impl->set_bottom_controls_height(inputs_.bottom_controls_height); 419 tree_impl->set_bottom_controls_height(inputs_.bottom_controls_height);
411 tree_impl->PushBrowserControlsFromMainThread( 420 tree_impl->PushBrowserControlsFromMainThread(
412 inputs_.top_controls_shown_ratio); 421 inputs_.top_controls_shown_ratio);
413 tree_impl->elastic_overscroll()->PushFromMainThread(elastic_overscroll_); 422 tree_impl->elastic_overscroll()->PushFromMainThread(elastic_overscroll_);
414 if (tree_impl->IsActiveTree()) 423 if (tree_impl->IsActiveTree())
415 tree_impl->elastic_overscroll()->PushPendingToActive(); 424 tree_impl->elastic_overscroll()->PushPendingToActive();
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 inputs_.outer_viewport_scroll_layer 464 inputs_.outer_viewport_scroll_layer
456 ? inputs_.outer_viewport_scroll_layer->id() 465 ? inputs_.outer_viewport_scroll_layer->id()
457 : Layer::INVALID_ID); 466 : Layer::INVALID_ID);
458 467
459 // Browser Controls ignored. They are not supported. 468 // Browser Controls ignored. They are not supported.
460 DCHECK(!inputs_.browser_controls_shrink_blink_size); 469 DCHECK(!inputs_.browser_controls_shrink_blink_size);
461 470
462 proto->set_device_scale_factor(inputs_.device_scale_factor); 471 proto->set_device_scale_factor(inputs_.device_scale_factor);
463 proto->set_painted_device_scale_factor(inputs_.painted_device_scale_factor); 472 proto->set_painted_device_scale_factor(inputs_.painted_device_scale_factor);
464 proto->set_page_scale_factor(inputs_.page_scale_factor); 473 proto->set_page_scale_factor(inputs_.page_scale_factor);
474 proto->set_subframe_page_scale_factor(inputs_.subframe_page_scale_factor);
465 proto->set_min_page_scale_factor(inputs_.min_page_scale_factor); 475 proto->set_min_page_scale_factor(inputs_.min_page_scale_factor);
466 proto->set_max_page_scale_factor(inputs_.max_page_scale_factor); 476 proto->set_max_page_scale_factor(inputs_.max_page_scale_factor);
467 477
468 proto->set_background_color(inputs_.background_color); 478 proto->set_background_color(inputs_.background_color);
469 proto->set_has_transparent_background(inputs_.has_transparent_background); 479 proto->set_has_transparent_background(inputs_.has_transparent_background);
470 480
471 LayerSelectionToProtobuf(inputs_.selection, proto->mutable_selection()); 481 LayerSelectionToProtobuf(inputs_.selection, proto->mutable_selection());
472 SizeToProto(inputs_.device_viewport_size, 482 SizeToProto(inputs_.device_viewport_size,
473 proto->mutable_device_viewport_size()); 483 proto->mutable_device_viewport_size());
474 484
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 UpdateAndGetLayer(inputs_.inner_viewport_scroll_layer.get(), 536 UpdateAndGetLayer(inputs_.inner_viewport_scroll_layer.get(),
527 proto.inner_viewport_scroll_layer_id(), this); 537 proto.inner_viewport_scroll_layer_id(), this);
528 inputs_.outer_viewport_scroll_layer = 538 inputs_.outer_viewport_scroll_layer =
529 UpdateAndGetLayer(inputs_.outer_viewport_scroll_layer.get(), 539 UpdateAndGetLayer(inputs_.outer_viewport_scroll_layer.get(),
530 proto.outer_viewport_scroll_layer_id(), this); 540 proto.outer_viewport_scroll_layer_id(), this);
531 541
532 inputs_.device_viewport_size = ProtoToSize(proto.device_viewport_size()); 542 inputs_.device_viewport_size = ProtoToSize(proto.device_viewport_size());
533 inputs_.device_scale_factor = proto.device_scale_factor(); 543 inputs_.device_scale_factor = proto.device_scale_factor();
534 inputs_.painted_device_scale_factor = proto.painted_device_scale_factor(); 544 inputs_.painted_device_scale_factor = proto.painted_device_scale_factor();
535 inputs_.page_scale_factor = proto.page_scale_factor(); 545 inputs_.page_scale_factor = proto.page_scale_factor();
546 inputs_.subframe_page_scale_factor = proto.subframe_page_scale_factor();
536 inputs_.min_page_scale_factor = proto.min_page_scale_factor(); 547 inputs_.min_page_scale_factor = proto.min_page_scale_factor();
537 inputs_.max_page_scale_factor = proto.max_page_scale_factor(); 548 inputs_.max_page_scale_factor = proto.max_page_scale_factor();
538 inputs_.background_color = proto.background_color(); 549 inputs_.background_color = proto.background_color();
539 inputs_.has_transparent_background = proto.has_transparent_background(); 550 inputs_.has_transparent_background = proto.has_transparent_background();
540 inputs_.have_scroll_event_handlers = proto.have_scroll_event_handlers(); 551 inputs_.have_scroll_event_handlers = proto.have_scroll_event_handlers();
541 inputs_.event_listener_properties[static_cast<size_t>( 552 inputs_.event_listener_properties[static_cast<size_t>(
542 EventListenerClass::kMouseWheel)] = 553 EventListenerClass::kMouseWheel)] =
543 static_cast<EventListenerProperties>( 554 static_cast<EventListenerProperties>(
544 proto.wheel_event_listener_properties()); 555 proto.wheel_event_listener_properties());
545 inputs_.event_listener_properties[static_cast<size_t>( 556 inputs_.event_listener_properties[static_cast<size_t>(
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 LayerListReverseIterator<Layer> LayerTree::rend() { 703 LayerListReverseIterator<Layer> LayerTree::rend() {
693 return LayerListReverseIterator<Layer>(nullptr); 704 return LayerListReverseIterator<Layer>(nullptr);
694 } 705 }
695 706
696 void LayerTree::SetNeedsDisplayOnAllLayers() { 707 void LayerTree::SetNeedsDisplayOnAllLayers() {
697 for (auto* layer : *this) 708 for (auto* layer : *this)
698 layer->SetNeedsDisplay(); 709 layer->SetNeedsDisplay();
699 } 710 }
700 711
701 } // namespace cc 712 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698