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

Unified Diff: cc/layers/surface_layer.cc

Issue 2919373002: cc: De-special-case SurfaceLayer code (Closed)
Patch Set: Fix cc_unittests Created 3 years, 6 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/layers/surface_layer.h ('k') | cc/layers/surface_layer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/surface_layer.cc
diff --git a/cc/layers/surface_layer.cc b/cc/layers/surface_layer.cc
index 06c7ea96b81ea2e03e78d7146b9e87a9435ffb55..deeaf470cc5893d8ad7c6970af4d050a3cf68068 100644
--- a/cc/layers/surface_layer.cc
+++ b/cc/layers/surface_layer.cc
@@ -63,51 +63,23 @@ SurfaceLayer::~SurfaceLayer() {
DCHECK(!layer_tree_host());
}
-void SurfaceLayer::AddReferencedSurfaceId(const SurfaceInfo& surface_info) {
- DCHECK(layer_tree_host());
- if (surface_info.is_valid())
- layer_tree_host()->AddSurfaceLayerId(surface_info.id());
-}
-
-void SurfaceLayer::RemoveReferencedSurfaceId(const SurfaceInfo& surface_info) {
- DCHECK(layer_tree_host());
- if (surface_info.is_valid())
- layer_tree_host()->RemoveSurfaceLayerId(surface_info.id());
-}
-
void SurfaceLayer::SetPrimarySurfaceInfo(const SurfaceInfo& surface_info) {
- RemoveReference(std::move(primary_reference_returner_));
- bool update_referenced_surface_id = false;
- if (layer_tree_host())
- update_referenced_surface_id =
- !layer_tree_host()->GetSettings().enable_surface_synchronization;
- if (update_referenced_surface_id)
- RemoveReferencedSurfaceId(primary_surface_info_);
primary_surface_info_ = surface_info;
- if (layer_tree_host()) {
- primary_reference_returner_ = ref_factory_->CreateReference(
- layer_tree_host(), primary_surface_info_.id());
- if (update_referenced_surface_id)
- AddReferencedSurfaceId(primary_surface_info_);
- }
UpdateDrawsContent(HasDrawableContent());
SetNeedsCommit();
}
void SurfaceLayer::SetFallbackSurfaceInfo(const SurfaceInfo& surface_info) {
RemoveReference(std::move(fallback_reference_returner_));
- bool update_referenced_surface_id = false;
if (layer_tree_host())
- update_referenced_surface_id =
- layer_tree_host()->GetSettings().enable_surface_synchronization;
- if (update_referenced_surface_id)
- RemoveReferencedSurfaceId(fallback_surface_info_);
+ layer_tree_host()->RemoveSurfaceLayerId(fallback_surface_info_.id());
+
fallback_surface_info_ = surface_info;
- if (layer_tree_host()) {
+
+ if (layer_tree_host() && fallback_surface_info_.is_valid()) {
fallback_reference_returner_ = ref_factory_->CreateReference(
layer_tree_host(), fallback_surface_info_.id());
- if (update_referenced_surface_id)
- AddReferencedSurfaceId(fallback_surface_info_);
+ layer_tree_host()->AddSurfaceLayerId(fallback_surface_info_.id());
}
SetNeedsCommit();
}
@@ -132,39 +104,16 @@ void SurfaceLayer::SetLayerTreeHost(LayerTreeHost* host) {
return;
}
- bool use_primary_info_for_referenced_surface_id = false;
- if (layer_tree_host()) {
- use_primary_info_for_referenced_surface_id =
- !layer_tree_host()->GetSettings().enable_surface_synchronization;
- } else if (host) {
- use_primary_info_for_referenced_surface_id =
- !host->GetSettings().enable_surface_synchronization;
- }
-
- if (layer_tree_host()) {
- if (use_primary_info_for_referenced_surface_id)
- RemoveReferencedSurfaceId(primary_surface_info_);
- else
- RemoveReferencedSurfaceId(fallback_surface_info_);
- }
+ if (layer_tree_host() && fallback_surface_info_.is_valid())
+ layer_tree_host()->RemoveSurfaceLayerId(fallback_surface_info_.id());
- RemoveReference(std::move(primary_reference_returner_));
RemoveReference(std::move(fallback_reference_returner_));
Layer::SetLayerTreeHost(host);
- if (layer_tree_host()) {
- if (primary_surface_info_.is_valid()) {
- primary_reference_returner_ = ref_factory_->CreateReference(
- layer_tree_host(), primary_surface_info_.id());
- }
- if (fallback_surface_info_.is_valid()) {
- fallback_reference_returner_ = ref_factory_->CreateReference(
- layer_tree_host(), fallback_surface_info_.id());
- }
- if (use_primary_info_for_referenced_surface_id)
- AddReferencedSurfaceId(primary_surface_info_);
- else
- AddReferencedSurfaceId(fallback_surface_info_);
+ if (layer_tree_host() && fallback_surface_info_.is_valid()) {
+ fallback_reference_returner_ = ref_factory_->CreateReference(
+ layer_tree_host(), fallback_surface_info_.id());
+ layer_tree_host()->AddSurfaceLayerId(fallback_surface_info_.id());
}
}
« no previous file with comments | « cc/layers/surface_layer.h ('k') | cc/layers/surface_layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698