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

Side by Side Diff: cc/surfaces/surface_dependency_tracker.cc

Issue 2861713003: cc: Remove SurfaceDependencies type (Closed)
Patch Set: Created 3 years, 7 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
« no previous file with comments | « cc/surfaces/surface_dependency_tracker.h ('k') | cc/surfaces/surface_factory.h » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/surfaces/surface_dependency_tracker.h" 5 #include "cc/surfaces/surface_dependency_tracker.h"
6 6
7 #include "cc/surfaces/surface.h" 7 #include "cc/surfaces/surface.h"
8 #include "cc/surfaces/surface_info.h" 8 #include "cc/surfaces/surface_info.h"
9 #include "cc/surfaces/surface_manager.h" 9 #include "cc/surfaces/surface_manager.h"
10 10
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 152 }
153 153
154 void SurfaceDependencyTracker::OnSurfaceActivated(Surface* surface) { 154 void SurfaceDependencyTracker::OnSurfaceActivated(Surface* surface) {
155 surface->RemoveObserver(this); 155 surface->RemoveObserver(this);
156 observed_surfaces_by_id_.erase(surface->surface_id()); 156 observed_surfaces_by_id_.erase(surface->surface_id());
157 NotifySurfaceIdAvailable(surface->surface_id()); 157 NotifySurfaceIdAvailable(surface->surface_id());
158 } 158 }
159 159
160 void SurfaceDependencyTracker::OnSurfaceDependenciesChanged( 160 void SurfaceDependencyTracker::OnSurfaceDependenciesChanged(
161 Surface* surface, 161 Surface* surface,
162 const SurfaceDependencies& added_dependencies, 162 const base::flat_set<SurfaceId>& added_dependencies,
163 const SurfaceDependencies& removed_dependencies) { 163 const base::flat_set<SurfaceId>& removed_dependencies) {
164 // Update the |blocked_surfaces_from_dependency_| map with the changes in 164 // Update the |blocked_surfaces_from_dependency_| map with the changes in
165 // dependencies. 165 // dependencies.
166 for (const SurfaceId& surface_id : added_dependencies) 166 for (const SurfaceId& surface_id : added_dependencies)
167 blocked_surfaces_from_dependency_[surface_id].insert(surface->surface_id()); 167 blocked_surfaces_from_dependency_[surface_id].insert(surface->surface_id());
168 168
169 for (const SurfaceId& surface_id : removed_dependencies) { 169 for (const SurfaceId& surface_id : removed_dependencies) {
170 auto it = blocked_surfaces_from_dependency_.find(surface_id); 170 auto it = blocked_surfaces_from_dependency_.find(surface_id);
171 it->second.erase(surface->surface_id()); 171 it->second.erase(surface->surface_id());
172 if (it->second.empty()) 172 if (it->second.empty())
173 blocked_surfaces_from_dependency_.erase(it); 173 blocked_surfaces_from_dependency_.erase(it);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 // A blocked surface may have been garbage collected during dependency 214 // A blocked surface may have been garbage collected during dependency
215 // resolution. 215 // resolution.
216 DCHECK(!observed_surfaces_by_id_.count(blocked_surface_by_id)); 216 DCHECK(!observed_surfaces_by_id_.count(blocked_surface_by_id));
217 continue; 217 continue;
218 } 218 }
219 blocked_surface->NotifySurfaceIdAvailable(surface_id); 219 blocked_surface->NotifySurfaceIdAvailable(surface_id);
220 } 220 }
221 } 221 }
222 222
223 } // namespace cc 223 } // namespace cc
OLDNEW
« no previous file with comments | « cc/surfaces/surface_dependency_tracker.h ('k') | cc/surfaces/surface_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698