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

Unified Diff: cc/surfaces/surface_manager.h

Issue 2684933003: Move frame_sink_id management to framesink_manager.cc/h from (Closed)
Patch Set: Addressed CR comments Created 3 years, 9 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/surfaces/framesink_manager.cc ('k') | cc/surfaces/surface_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/surfaces/surface_manager.h
diff --git a/cc/surfaces/surface_manager.h b/cc/surfaces/surface_manager.h
index c0c8e76324f00e8bec7c4980b559d9f7f2e29060..53998ec5cb989942e8b64ee9858f5f99d7fe6b4a 100644
--- a/cc/surfaces/surface_manager.h
+++ b/cc/surfaces/surface_manager.h
@@ -19,6 +19,7 @@
#include "base/observer_list.h"
#include "base/threading/thread_checker.h"
#include "cc/surfaces/frame_sink_id.h"
+#include "cc/surfaces/framesink_manager.h"
#include "cc/surfaces/surface_dependency_tracker.h"
#include "cc/surfaces/surface_id.h"
#include "cc/surfaces/surface_observer.h"
@@ -175,16 +176,6 @@ class CC_SURFACES_EXPORT SurfaceManager {
using SurfaceIdSet = std::unordered_set<SurfaceId, SurfaceIdHash>;
- void RecursivelyAttachBeginFrameSource(const FrameSinkId& frame_sink_id,
- BeginFrameSource* source);
- void RecursivelyDetachBeginFrameSource(const FrameSinkId& frame_sink_id,
- BeginFrameSource* source);
-
- // Returns true if |child namespace| is or has |search_frame_sink_id| as a
- // child.
- bool ChildContains(const FrameSinkId& child_frame_sink_id,
- const FrameSinkId& search_frame_sink_id) const;
-
// Garbage collects all destroyed surfaces that aren't live.
void GarbageCollectSurfaces();
@@ -232,6 +223,8 @@ class CC_SURFACES_EXPORT SurfaceManager {
// Use reference or sequence based lifetime management.
LifetimeType lifetime_type_;
+ FrameSinkManager framesink_manager_;
+
using SurfaceMap = std::unordered_map<SurfaceId, Surface*, SurfaceIdHash>;
SurfaceMap surface_map_;
base::ObserverList<SurfaceObserver> observer_list_;
@@ -246,30 +239,6 @@ class CC_SURFACES_EXPORT SurfaceManager {
// waited on.
std::unordered_set<SurfaceSequence, SurfaceSequenceHash> satisfied_sequences_;
- // Set of valid surface ID namespaces. When a namespace is removed from
- // this set, any remaining sequences with that namespace are considered
- // satisfied.
- std::unordered_set<FrameSinkId, FrameSinkIdHash> valid_frame_sink_ids_;
-
- // Begin frame source routing. Both BeginFrameSource and SurfaceFactoryClient
- // pointers guaranteed alive by callers until unregistered.
- struct FrameSinkSourceMapping {
- FrameSinkSourceMapping();
- FrameSinkSourceMapping(const FrameSinkSourceMapping& other);
- ~FrameSinkSourceMapping();
- bool has_children() const { return !children.empty(); }
- // The currently assigned begin frame source for this client.
- BeginFrameSource* source;
- // This represents a dag of parent -> children mapping.
- std::vector<FrameSinkId> children;
- };
-
- std::unordered_map<FrameSinkId, SurfaceFactoryClient*, FrameSinkIdHash>
- clients_;
-
- std::unordered_map<FrameSinkId, FrameSinkSourceMapping, FrameSinkIdHash>
- frame_sink_source_map_;
-
// Tracks references from the child surface to parent surface. If there are
// zero entries in the set for a SurfaceId then nothing is referencing the
// surface and it can be garbage collected.
@@ -280,11 +249,6 @@ class CC_SURFACES_EXPORT SurfaceManager {
std::unordered_map<SurfaceId, SurfaceIdSet, SurfaceIdHash>
parent_to_child_refs_;
- // Set of which sources are registered to which namespace. Any child
- // that is implicitly using this namespace must be reachable by the
- // parent in the dag.
- std::unordered_map<BeginFrameSource*, FrameSinkId> registered_sources_;
-
// Root SurfaceId that references display root surfaces. There is no Surface
// with this id, it's for bookkeeping purposes only.
const SurfaceId root_surface_id_;
« no previous file with comments | « cc/surfaces/framesink_manager.cc ('k') | cc/surfaces/surface_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698