OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef CONTENT_BROWSER_ANDROID_BROWSER_SURFACE_TEXTURE_MANAGER_H_ | 5 #ifndef CONTENT_BROWSER_ANDROID_BROWSER_SURFACE_TEXTURE_MANAGER_H_ |
6 #define CONTENT_BROWSER_ANDROID_BROWSER_SURFACE_TEXTURE_MANAGER_H_ | 6 #define CONTENT_BROWSER_ANDROID_BROWSER_SURFACE_TEXTURE_MANAGER_H_ |
7 | 7 |
8 #include "gpu/ipc/common/android/surface_texture_manager.h" | |
9 | |
10 #include "base/macros.h" | 8 #include "base/macros.h" |
11 #include "base/memory/singleton.h" | 9 #include "base/memory/singleton.h" |
12 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
13 #include "gpu/ipc/common/android/surface_texture_peer.h" | 11 #include "gpu/ipc/common/android/surface_texture_manager.h" |
14 | 12 |
15 namespace content { | 13 namespace content { |
16 | 14 |
17 class CONTENT_EXPORT BrowserSurfaceTextureManager | 15 class CONTENT_EXPORT BrowserSurfaceTextureManager |
18 : public gpu::SurfaceTextureManager, | 16 : public gpu::SurfaceTextureManager { |
19 public gpu::SurfaceTexturePeer { | |
20 public: | 17 public: |
21 static BrowserSurfaceTextureManager* GetInstance(); | 18 static BrowserSurfaceTextureManager* GetInstance(); |
22 | 19 |
23 // Overridden from SurfaceTextureManager: | 20 // Overridden from SurfaceTextureManager: |
24 void RegisterSurfaceTexture(int surface_texture_id, | 21 void RegisterSurfaceTexture(int surface_texture_id, |
25 int client_id, | 22 int client_id, |
26 gfx::SurfaceTexture* surface_texture) override; | 23 gfx::SurfaceTexture* surface_texture) override; |
27 void UnregisterSurfaceTexture(int surface_texture_id, int client_id) override; | 24 void UnregisterSurfaceTexture(int surface_texture_id, int client_id) override; |
28 gfx::AcceleratedWidget AcquireNativeWidgetForSurfaceTexture( | 25 gfx::AcceleratedWidget AcquireNativeWidgetForSurfaceTexture( |
29 int surface_texture_id) override; | 26 int surface_texture_id) override; |
30 | 27 |
31 // Overridden from SurfaceTexturePeer: | |
32 void EstablishSurfaceTexturePeer( | |
33 base::ProcessHandle render_process_handle, | |
34 scoped_refptr<gfx::SurfaceTexture> surface_texture, | |
35 int render_frame_id, | |
36 int player_id) override; | |
37 | |
38 private: | 28 private: |
39 friend struct base::DefaultSingletonTraits<BrowserSurfaceTextureManager>; | 29 friend struct base::DefaultSingletonTraits<BrowserSurfaceTextureManager>; |
40 | 30 |
41 BrowserSurfaceTextureManager(); | 31 BrowserSurfaceTextureManager(); |
42 ~BrowserSurfaceTextureManager() override; | 32 ~BrowserSurfaceTextureManager() override; |
43 | 33 |
44 DISALLOW_COPY_AND_ASSIGN(BrowserSurfaceTextureManager); | 34 DISALLOW_COPY_AND_ASSIGN(BrowserSurfaceTextureManager); |
45 }; | 35 }; |
46 | 36 |
47 } // namespace content | 37 } // namespace content |
48 | 38 |
49 #endif // CONTENT_BROWSER_ANDROID_BROWSER_SURFACE_TEXTURE_MANAGER_H_ | 39 #endif // CONTENT_BROWSER_ANDROID_BROWSER_SURFACE_TEXTURE_MANAGER_H_ |
OLD | NEW |