Index: cc/surfaces/surface_factory.h |
diff --git a/cc/surfaces/surface_factory.h b/cc/surfaces/surface_factory.h |
index 52f44bbb62b0e915295438df39a3d377f3d1d683..6c6099014125e71f4e2ddda8039ee6d98d9b3828 100644 |
--- a/cc/surfaces/surface_factory.h |
+++ b/cc/surfaces/surface_factory.h |
@@ -42,9 +42,13 @@ class CC_SURFACES_EXPORT SurfaceFactory |
public: |
using DrawCallback = base::Callback<void(SurfaceDrawStatus)>; |
- SurfaceFactory(SurfaceManager* manager, SurfaceFactoryClient* client); |
+ SurfaceFactory(uint32_t client_id, |
+ SurfaceManager* manager, |
+ SurfaceFactoryClient* client); |
~SurfaceFactory(); |
+ void SetParent(uint32_t client_id); |
+ |
void Create(const SurfaceId& surface_id); |
void Destroy(const SurfaceId& surface_id); |
void DestroyAll(); |
@@ -74,6 +78,10 @@ class CC_SURFACES_EXPORT SurfaceFactory |
SurfaceManager* manager() { return manager_; } |
+ uint32_t client_id() const { return client_id_; } |
+ |
+ uint32_t parent_client_id() const { return parent_client_id_; } |
+ |
// This can be set to false if resources from this SurfaceFactory don't need |
// to have sync points set on them when returned from the Display, for |
// example if the Display shares a context with the creator. |
@@ -85,6 +93,8 @@ class CC_SURFACES_EXPORT SurfaceFactory |
void DidDestroySurfaceManager() { manager_ = nullptr; } |
private: |
+ const uint32_t client_id_; |
+ uint32_t parent_client_id_; |
SurfaceManager* manager_; |
SurfaceFactoryClient* client_; |
SurfaceResourceHolder holder_; |