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

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

Issue 2707243005: Discard compositor frames from unloaded web content (Closed)
Patch Set: Review comment addressed 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 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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 last_scrolled_layer_id_(Layer::INVALID_ID), 66 last_scrolled_layer_id_(Layer::INVALID_ID),
67 overscroll_elasticity_layer_id_(Layer::INVALID_ID), 67 overscroll_elasticity_layer_id_(Layer::INVALID_ID),
68 page_scale_layer_id_(Layer::INVALID_ID), 68 page_scale_layer_id_(Layer::INVALID_ID),
69 inner_viewport_scroll_layer_id_(Layer::INVALID_ID), 69 inner_viewport_scroll_layer_id_(Layer::INVALID_ID),
70 outer_viewport_scroll_layer_id_(Layer::INVALID_ID), 70 outer_viewport_scroll_layer_id_(Layer::INVALID_ID),
71 page_scale_factor_(page_scale_factor), 71 page_scale_factor_(page_scale_factor),
72 min_page_scale_factor_(0), 72 min_page_scale_factor_(0),
73 max_page_scale_factor_(0), 73 max_page_scale_factor_(0),
74 device_scale_factor_(1.f), 74 device_scale_factor_(1.f),
75 painted_device_scale_factor_(1.f), 75 painted_device_scale_factor_(1.f),
76 content_source_id_(0),
76 elastic_overscroll_(elastic_overscroll), 77 elastic_overscroll_(elastic_overscroll),
77 layers_(new OwnedLayerImplList), 78 layers_(new OwnedLayerImplList),
78 viewport_size_invalid_(false), 79 viewport_size_invalid_(false),
79 needs_update_draw_properties_(true), 80 needs_update_draw_properties_(true),
80 needs_full_tree_sync_(true), 81 needs_full_tree_sync_(true),
81 next_activation_forces_redraw_(false), 82 next_activation_forces_redraw_(false),
82 has_ever_been_drawn_(false), 83 has_ever_been_drawn_(false),
83 handle_visibility_changed_(false), 84 handle_visibility_changed_(false),
84 have_scroll_event_handlers_(false), 85 have_scroll_event_handlers_(false),
85 event_listener_properties_(), 86 event_listener_properties_(),
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 464
464 // Active tree already shares the page_scale_factor object with pending 465 // Active tree already shares the page_scale_factor object with pending
465 // tree so only the limits need to be provided. 466 // tree so only the limits need to be provided.
466 target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(), 467 target_tree->PushPageScaleFactorAndLimits(nullptr, min_page_scale_factor(),
467 max_page_scale_factor()); 468 max_page_scale_factor());
468 target_tree->SetDeviceScaleFactor(device_scale_factor()); 469 target_tree->SetDeviceScaleFactor(device_scale_factor());
469 target_tree->set_painted_device_scale_factor(painted_device_scale_factor()); 470 target_tree->set_painted_device_scale_factor(painted_device_scale_factor());
470 target_tree->SetDeviceColorSpace(device_color_space_); 471 target_tree->SetDeviceColorSpace(device_color_space_);
471 target_tree->elastic_overscroll()->PushPendingToActive(); 472 target_tree->elastic_overscroll()->PushPendingToActive();
472 473
474 target_tree->set_content_source_id(content_source_id());
475
473 target_tree->pending_page_scale_animation_ = 476 target_tree->pending_page_scale_animation_ =
474 std::move(pending_page_scale_animation_); 477 std::move(pending_page_scale_animation_);
475 478
476 target_tree->SetViewportLayersFromIds( 479 target_tree->SetViewportLayersFromIds(
477 overscroll_elasticity_layer_id_, page_scale_layer_id_, 480 overscroll_elasticity_layer_id_, page_scale_layer_id_,
478 inner_viewport_scroll_layer_id_, outer_viewport_scroll_layer_id_); 481 inner_viewport_scroll_layer_id_, outer_viewport_scroll_layer_id_);
479 482
480 target_tree->RegisterSelection(selection_); 483 target_tree->RegisterSelection(selection_);
481 484
482 // This should match the property synchronization in 485 // This should match the property synchronization in
(...skipping 1635 matching lines...) Expand 10 before | Expand all | Expand 10 after
2118 2121
2119 void LayerTreeImpl::ResetAllChangeTracking() { 2122 void LayerTreeImpl::ResetAllChangeTracking() {
2120 layers_that_should_push_properties_.clear(); 2123 layers_that_should_push_properties_.clear();
2121 // Iterate over all layers, including masks. 2124 // Iterate over all layers, including masks.
2122 for (auto& layer : *layers_) 2125 for (auto& layer : *layers_)
2123 layer->ResetChangeTracking(); 2126 layer->ResetChangeTracking();
2124 property_trees_.ResetAllChangeTracking(); 2127 property_trees_.ResetAllChangeTracking();
2125 } 2128 }
2126 2129
2127 } // namespace cc 2130 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698