fixup! Upload upstream chromium 85.0.4183.93
[platform/framework/web/chromium-efl.git] / android_webview / gpu / aw_content_gpu_client.h
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
3 // found in the LICENSE file.
4
5 #ifndef ANDROID_WEBVIEW_GPU_AW_CONTENT_GPU_CLIENT_H_
6 #define ANDROID_WEBVIEW_GPU_AW_CONTENT_GPU_CLIENT_H_
7
8 #include "base/callback.h"
9 #include "base/macros.h"
10 #include "content/public/gpu/content_gpu_client.h"
11
12 namespace android_webview {
13
14 class AwContentGpuClient : public content::ContentGpuClient {
15  public:
16   using GetSyncPointManagerCallback =
17       base::RepeatingCallback<gpu::SyncPointManager*()>;
18   using GetSharedImageManagerCallback =
19       base::RepeatingCallback<gpu::SharedImageManager*()>;
20   using GetVizCompositorThreadRunnerCallback =
21       base::RepeatingCallback<viz::VizCompositorThreadRunner*()>;
22
23   AwContentGpuClient(
24       const GetSyncPointManagerCallback& sync_point_manager_callback,
25       const GetSharedImageManagerCallback& shared_image_manager_callback,
26       const GetVizCompositorThreadRunnerCallback&
27           viz_compositor_thread_runner_callback);
28   ~AwContentGpuClient() override;
29
30   // content::ContentGpuClient implementation.
31   gpu::SyncPointManager* GetSyncPointManager() override;
32   gpu::SharedImageManager* GetSharedImageManager() override;
33   viz::VizCompositorThreadRunner* GetVizCompositorThreadRunner() override;
34
35  private:
36   GetSyncPointManagerCallback sync_point_manager_callback_;
37   GetSharedImageManagerCallback shared_image_manager_callback_;
38   GetVizCompositorThreadRunnerCallback viz_compositor_thread_runner_callback_;
39   DISALLOW_COPY_AND_ASSIGN(AwContentGpuClient);
40 };
41
42 }  // namespace android_webview
43
44 #endif  // ANDROID_WEBVIEW_GPU_AW_CONTENT_GPU_CLIENT_H_