Chromium Code Reviews| Index: blimp/client/public/compositor/compositor_dependencies.h |
| diff --git a/blimp/client/public/compositor/compositor_dependencies.h b/blimp/client/public/compositor/compositor_dependencies.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4c224c6487cc6b1632671d1e25882c481194a336 |
| --- /dev/null |
| +++ b/blimp/client/public/compositor/compositor_dependencies.h |
| @@ -0,0 +1,46 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef BLIMP_CLIENT_PUBLIC_COMPOSITOR_COMPOSITOR_DEPENDENCIES_H_ |
| +#define BLIMP_CLIENT_PUBLIC_COMPOSITOR_COMPOSITOR_DEPENDENCIES_H_ |
| + |
| +#include "base/callback.h" |
| +#include "base/memory/ptr_util.h" |
| + |
| +namespace cc { |
| +class ContextProvider; |
| +class LayerTreeSettings; |
| +class SurfaceManager; |
| +} // namespace cc |
| + |
| +namespace gpu { |
| +class GpuMemoryBufferManager; |
| +} // namespace gpu |
| + |
| +namespace blimp { |
| +namespace client { |
| + |
| +// A set of compositor dependencies that must be provided by the embedder. |
| +class CompositorDependencies { |
|
Khushal
2016/08/25 05:02:54
Comment on the lifetime? The Dependencies are expe
David Trainor- moved to gerrit
2016/08/26 17:15:54
Done.
|
| + public: |
| + using ContextProviderCallback = |
|
Khushal
2016/08/25 05:02:54
The ui::ContextProviderFactory passes an enum sayi
David Trainor- moved to gerrit
2016/08/26 17:15:54
Huh that callback doesn't return an enum either.
Khushal
2016/08/26 19:34:25
Ummm, that patch hasn't landed yet. My bad.
|
| + base::Callback<void(scoped_refptr<cc::ContextProvider>)>; |
| + |
| + virtual ~CompositorDependencies() = default; |
| + |
| + // Settings used to create all BlimpCompositor instances. |
| + virtual std::unique_ptr<cc::LayerTreeSettings> GetLayerTreeSettings() = 0; |
| + virtual gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() = 0; |
| + virtual cc::SurfaceManager* GetSurfaceManager() = 0; |
| + virtual uint32_t AllocateSurfaceId() = 0; |
| + |
| + // This call may return synchronously if the ContextProvider has already been |
| + // created. It may be asynchronous if it needs to build it though. |
|
Khushal
2016/08/25 05:02:54
nit: the asynchronous bit is expected.
David Trainor- moved to gerrit
2016/08/26 17:15:54
Done.
|
| + virtual void GetContextProvider(const ContextProviderCallback& callback) = 0; |
| +}; |
| + |
| +} // namespace client |
| +} // namespace blimp |
| + |
| +#endif // BLIMP_CLIENT_PUBLIC_COMPOSITOR_COMPOSITOR_DEPENDENCIES_H_ |