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

Unified Diff: cc/trees/layer_tree_impl.cc

Issue 839143002: Roll Chrome into Mojo. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rebase Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | cc/trees/layer_tree_settings.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_impl.cc
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index 703c37b4abee339e6405cf903b39cef8f89776b3..041c5fea5186105c11c86371cea45ed66c3ee206 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -560,6 +560,7 @@ bool LayerTreeImpl::UpdateDrawProperties() {
typedef LayerIterator<LayerImpl> LayerIteratorType;
LayerIteratorType end = LayerIteratorType::End(&render_surface_layer_list_);
size_t layers_updated_count = 0;
+ bool tile_priorities_updated = false;
for (LayerIteratorType it =
LayerIteratorType::Begin(&render_surface_layer_list_);
it != end;
@@ -574,8 +575,8 @@ bool LayerTreeImpl::UpdateDrawProperties() {
: Occlusion();
if (it.represents_itself()) {
- layer->UpdateTiles(occlusion_in_content_space,
- resourceless_software_draw);
+ tile_priorities_updated |= layer->UpdateTiles(
+ occlusion_in_content_space, resourceless_software_draw);
++layers_updated_count;
}
@@ -586,13 +587,14 @@ bool LayerTreeImpl::UpdateDrawProperties() {
}
if (layer->mask_layer()) {
- layer->mask_layer()->UpdateTiles(occlusion_in_content_space,
- resourceless_software_draw);
+ tile_priorities_updated |= layer->mask_layer()->UpdateTiles(
+ occlusion_in_content_space, resourceless_software_draw);
++layers_updated_count;
}
if (layer->replica_layer() && layer->replica_layer()->mask_layer()) {
- layer->replica_layer()->mask_layer()->UpdateTiles(
- occlusion_in_content_space, resourceless_software_draw);
+ tile_priorities_updated |=
+ layer->replica_layer()->mask_layer()->UpdateTiles(
+ occlusion_in_content_space, resourceless_software_draw);
++layers_updated_count;
}
@@ -600,6 +602,9 @@ bool LayerTreeImpl::UpdateDrawProperties() {
occlusion_tracker->LeaveLayer(it);
}
+ if (tile_priorities_updated)
+ DidModifyTilePriorities();
+
TRACE_EVENT_END1("cc", "LayerTreeImpl::UpdateTilePriorities",
"layers_updated_count", layers_updated_count);
}
@@ -1081,10 +1086,7 @@ bool LayerTreeImpl::IsUIResourceOpaque(UIResourceId uid) const {
}
void LayerTreeImpl::ProcessUIResourceRequestQueue() {
- while (ui_resource_request_queue_.size() > 0) {
- UIResourceRequest req = ui_resource_request_queue_.front();
- ui_resource_request_queue_.pop_front();
-
+ for (const auto& req : ui_resource_request_queue_) {
switch (req.GetType()) {
case UIResourceRequest::UIResourceCreate:
layer_tree_host_impl_->CreateUIResource(req.GetId(), req.GetBitmap());
@@ -1097,6 +1099,7 @@ void LayerTreeImpl::ProcessUIResourceRequestQueue() {
break;
}
}
+ ui_resource_request_queue_.clear();
// If all UI resource evictions were not recreated by processing this queue,
// then another commit is required.
« no previous file with comments | « cc/trees/layer_tree_impl.h ('k') | cc/trees/layer_tree_settings.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698