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

Side by Side Diff: cc/layers/layer.cc

Issue 251343002: Remove offscreen compositor contexts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rm-offscreencontext: include Created 6 years, 8 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/layers/layer.h ('k') | cc/layers/picture_layer_impl_unittest.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 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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/layers/layer.h" 5 #include "cc/layers/layer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 if (host) { 126 if (host) {
127 layer_animation_controller_->SetAnimationRegistrar( 127 layer_animation_controller_->SetAnimationRegistrar(
128 host->animation_registrar()); 128 host->animation_registrar());
129 129
130 if (host->settings().layer_transforms_should_scale_layer_contents) 130 if (host->settings().layer_transforms_should_scale_layer_contents)
131 reset_raster_scale_to_unknown(); 131 reset_raster_scale_to_unknown();
132 } 132 }
133 133
134 if (host && layer_animation_controller_->has_any_animation()) 134 if (host && layer_animation_controller_->has_any_animation())
135 host->SetNeedsCommit(); 135 host->SetNeedsCommit();
136 SetNeedsFilterContextIfNeeded();
137 } 136 }
138 137
139 void Layer::SetNeedsUpdate() { 138 void Layer::SetNeedsUpdate() {
140 if (layer_tree_host_ && !ignore_set_needs_commit_) 139 if (layer_tree_host_ && !ignore_set_needs_commit_)
141 layer_tree_host_->SetNeedsUpdateLayers(); 140 layer_tree_host_->SetNeedsUpdateLayers();
142 } 141 }
143 142
144 void Layer::SetNeedsCommit() { 143 void Layer::SetNeedsCommit() {
145 if (!layer_tree_host_) 144 if (!layer_tree_host_)
146 return; 145 return;
(...skipping 13 matching lines...) Expand all
160 layer_tree_host_->SetNeedsFullTreeSync(); 159 layer_tree_host_->SetNeedsFullTreeSync();
161 } 160 }
162 161
163 void Layer::SetNextCommitWaitsForActivation() { 162 void Layer::SetNextCommitWaitsForActivation() {
164 if (!layer_tree_host_) 163 if (!layer_tree_host_)
165 return; 164 return;
166 165
167 layer_tree_host_->SetNextCommitWaitsForActivation(); 166 layer_tree_host_->SetNextCommitWaitsForActivation();
168 } 167 }
169 168
170 void Layer::SetNeedsFilterContextIfNeeded() {
171 if (!layer_tree_host_)
172 return;
173
174 if (!filters_.IsEmpty() || !background_filters_.IsEmpty() ||
175 !uses_default_blend_mode())
176 layer_tree_host_->set_needs_filter_context();
177 }
178
179 void Layer::SetNeedsPushProperties() { 169 void Layer::SetNeedsPushProperties() {
180 if (needs_push_properties_) 170 if (needs_push_properties_)
181 return; 171 return;
182 if (!parent_should_know_need_push_properties() && parent_) 172 if (!parent_should_know_need_push_properties() && parent_)
183 parent_->AddDependentNeedsPushProperties(); 173 parent_->AddDependentNeedsPushProperties();
184 needs_push_properties_ = true; 174 needs_push_properties_ = true;
185 } 175 }
186 176
187 void Layer::AddDependentNeedsPushProperties() { 177 void Layer::AddDependentNeedsPushProperties() {
188 DCHECK_GE(num_dependents_need_push_properties_, 0); 178 DCHECK_GE(num_dependents_need_push_properties_, 0);
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 } 470 }
481 SetNeedsFullTreeSync(); 471 SetNeedsFullTreeSync();
482 } 472 }
483 473
484 void Layer::SetFilters(const FilterOperations& filters) { 474 void Layer::SetFilters(const FilterOperations& filters) {
485 DCHECK(IsPropertyChangeAllowed()); 475 DCHECK(IsPropertyChangeAllowed());
486 if (filters_ == filters) 476 if (filters_ == filters)
487 return; 477 return;
488 filters_ = filters; 478 filters_ = filters;
489 SetNeedsCommit(); 479 SetNeedsCommit();
490 SetNeedsFilterContextIfNeeded();
491 } 480 }
492 481
493 bool Layer::FilterIsAnimating() const { 482 bool Layer::FilterIsAnimating() const {
494 return layer_animation_controller_->IsAnimatingProperty(Animation::Filter); 483 return layer_animation_controller_->IsAnimatingProperty(Animation::Filter);
495 } 484 }
496 485
497 void Layer::SetBackgroundFilters(const FilterOperations& filters) { 486 void Layer::SetBackgroundFilters(const FilterOperations& filters) {
498 DCHECK(IsPropertyChangeAllowed()); 487 DCHECK(IsPropertyChangeAllowed());
499 if (background_filters_ == filters) 488 if (background_filters_ == filters)
500 return; 489 return;
501 background_filters_ = filters; 490 background_filters_ = filters;
502 SetNeedsCommit(); 491 SetNeedsCommit();
503 SetNeedsFilterContextIfNeeded();
504 } 492 }
505 493
506 void Layer::SetOpacity(float opacity) { 494 void Layer::SetOpacity(float opacity) {
507 DCHECK(IsPropertyChangeAllowed()); 495 DCHECK(IsPropertyChangeAllowed());
508 if (opacity_ == opacity) 496 if (opacity_ == opacity)
509 return; 497 return;
510 opacity_ = opacity; 498 opacity_ = opacity;
511 SetNeedsCommit(); 499 SetNeedsCommit();
512 } 500 }
513 501
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 case SkXfermode::kPlus_Mode: 547 case SkXfermode::kPlus_Mode:
560 case SkXfermode::kModulate_Mode: 548 case SkXfermode::kModulate_Mode:
561 // Porter Duff Compositing Operators are not yet supported 549 // Porter Duff Compositing Operators are not yet supported
562 // http://dev.w3.org/fxtf/compositing-1/#porterduffcompositingoperators 550 // http://dev.w3.org/fxtf/compositing-1/#porterduffcompositingoperators
563 NOTREACHED(); 551 NOTREACHED();
564 return; 552 return;
565 } 553 }
566 554
567 blend_mode_ = blend_mode; 555 blend_mode_ = blend_mode;
568 SetNeedsCommit(); 556 SetNeedsCommit();
569 SetNeedsFilterContextIfNeeded();
570 } 557 }
571 558
572 void Layer::SetIsRootForIsolatedGroup(bool root) { 559 void Layer::SetIsRootForIsolatedGroup(bool root) {
573 DCHECK(IsPropertyChangeAllowed()); 560 DCHECK(IsPropertyChangeAllowed());
574 if (is_root_for_isolated_group_ == root) 561 if (is_root_for_isolated_group_ == root)
575 return; 562 return;
576 is_root_for_isolated_group_ = root; 563 is_root_for_isolated_group_ = root;
577 SetNeedsCommit(); 564 SetNeedsCommit();
578 } 565 }
579 566
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after
1192 if (clip_parent_) 1179 if (clip_parent_)
1193 clip_parent_->RemoveClipChild(this); 1180 clip_parent_->RemoveClipChild(this);
1194 1181
1195 clip_parent_ = NULL; 1182 clip_parent_ = NULL;
1196 } 1183 }
1197 1184
1198 void Layer::RunMicroBenchmark(MicroBenchmark* benchmark) { 1185 void Layer::RunMicroBenchmark(MicroBenchmark* benchmark) {
1199 benchmark->RunOnLayer(this); 1186 benchmark->RunOnLayer(this);
1200 } 1187 }
1201 } // namespace cc 1188 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer.h ('k') | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698