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

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

Issue 23530003: cc: Block commit on activate by setting a flag on LayerTreeHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: blockcommit: fix flake Created 7 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 | Annotate | Revision Log
« no previous file with comments | « cc/trees/layer_tree_host.h ('k') | cc/trees/layer_tree_host_unittest_delegated.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 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_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <stack> 8 #include <stack>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 void LayerTreeHost::SetNeedsRedrawRect(gfx::Rect damage_rect) { 511 void LayerTreeHost::SetNeedsRedrawRect(gfx::Rect damage_rect) {
512 proxy_->SetNeedsRedraw(damage_rect); 512 proxy_->SetNeedsRedraw(damage_rect);
513 if (!proxy_->HasImplThread()) 513 if (!proxy_->HasImplThread())
514 client_->ScheduleComposite(); 514 client_->ScheduleComposite();
515 } 515 }
516 516
517 bool LayerTreeHost::CommitRequested() const { 517 bool LayerTreeHost::CommitRequested() const {
518 return proxy_->CommitRequested(); 518 return proxy_->CommitRequested();
519 } 519 }
520 520
521 void LayerTreeHost::SetNextCommitWaitsForActivation() {
522 proxy_->SetNextCommitWaitsForActivation();
523 }
524
521 void LayerTreeHost::SetAnimationEvents(scoped_ptr<AnimationEventsVector> events, 525 void LayerTreeHost::SetAnimationEvents(scoped_ptr<AnimationEventsVector> events,
522 base::Time wall_clock_time) { 526 base::Time wall_clock_time) {
523 DCHECK(proxy_->IsMainThread()); 527 DCHECK(proxy_->IsMainThread());
524 for (size_t event_index = 0; event_index < events->size(); ++event_index) { 528 for (size_t event_index = 0; event_index < events->size(); ++event_index) {
525 int event_layer_id = (*events)[event_index].layer_id; 529 int event_layer_id = (*events)[event_index].layer_id;
526 530
527 // Use the map of all controllers, not just active ones, since non-active 531 // Use the map of all controllers, not just active ones, since non-active
528 // controllers may still receive events for impl-only animations. 532 // controllers may still receive events for impl-only animations.
529 const AnimationRegistrar::AnimationControllerMap& animation_controllers = 533 const AnimationRegistrar::AnimationControllerMap& animation_controllers =
530 animation_registrar_->all_animation_controllers(); 534 animation_registrar_->all_animation_controllers();
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 // Top controls are only used in threaded mode. 1086 // Top controls are only used in threaded mode.
1083 proxy_->ImplThreadTaskRunner()->PostTask( 1087 proxy_->ImplThreadTaskRunner()->PostTask(
1084 FROM_HERE, 1088 FROM_HERE,
1085 base::Bind(&TopControlsManager::UpdateTopControlsState, 1089 base::Bind(&TopControlsManager::UpdateTopControlsState,
1086 top_controls_manager_weak_ptr_, 1090 top_controls_manager_weak_ptr_,
1087 constraints, 1091 constraints,
1088 current, 1092 current,
1089 animate)); 1093 animate));
1090 } 1094 }
1091 1095
1092 bool LayerTreeHost::BlocksPendingCommit() const {
1093 if (!root_layer_.get())
1094 return false;
1095 return root_layer_->BlocksPendingCommitRecursive();
1096 }
1097
1098 scoped_ptr<base::Value> LayerTreeHost::AsValue() const { 1096 scoped_ptr<base::Value> LayerTreeHost::AsValue() const {
1099 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue()); 1097 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue());
1100 state->Set("proxy", proxy_->AsValue().release()); 1098 state->Set("proxy", proxy_->AsValue().release());
1101 return state.PassAs<base::Value>(); 1099 return state.PassAs<base::Value>();
1102 } 1100 }
1103 1101
1104 void LayerTreeHost::AnimateLayers(base::TimeTicks time) { 1102 void LayerTreeHost::AnimateLayers(base::TimeTicks time) {
1105 rendering_stats_instrumentation_->IncrementAnimationFrameCount(); 1103 rendering_stats_instrumentation_->IncrementAnimationFrameCount();
1106 if (!settings_.accelerated_animation_enabled || 1104 if (!settings_.accelerated_animation_enabled ||
1107 animation_registrar_->active_animation_controllers().empty()) 1105 animation_registrar_->active_animation_controllers().empty())
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 void LayerTreeHost::DidLoseUIResources() { 1167 void LayerTreeHost::DidLoseUIResources() {
1170 // When output surface is lost, we need to recreate the resource. 1168 // When output surface is lost, we need to recreate the resource.
1171 for (UIResourceClientMap::iterator iter = ui_resource_client_map_.begin(); 1169 for (UIResourceClientMap::iterator iter = ui_resource_client_map_.begin();
1172 iter != ui_resource_client_map_.end(); 1170 iter != ui_resource_client_map_.end();
1173 ++iter) { 1171 ++iter) {
1174 UIResourceLost(iter->first); 1172 UIResourceLost(iter->first);
1175 } 1173 }
1176 } 1174 }
1177 1175
1178 } // namespace cc 1176 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.h ('k') | cc/trees/layer_tree_host_unittest_delegated.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698