OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ | 5 #ifndef CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ |
6 #define CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ | 6 #define CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 #include "content/common/message_router.h" | 22 #include "content/common/message_router.h" |
23 #include "content/public/common/gpu_info.h" | 23 #include "content/public/common/gpu_info.h" |
24 #include "ipc/ipc_channel_handle.h" | 24 #include "ipc/ipc_channel_handle.h" |
25 #include "ipc/ipc_channel_proxy.h" | 25 #include "ipc/ipc_channel_proxy.h" |
26 #include "ipc/ipc_sync_channel.h" | 26 #include "ipc/ipc_sync_channel.h" |
27 #include "ui/gfx/native_widget_types.h" | 27 #include "ui/gfx/native_widget_types.h" |
28 #include "ui/gfx/size.h" | 28 #include "ui/gfx/size.h" |
29 #include "ui/gl/gpu_preference.h" | 29 #include "ui/gl/gpu_preference.h" |
30 | 30 |
31 class GURL; | 31 class GURL; |
32 class MessageLoop; | |
33 class TransportTextureService; | 32 class TransportTextureService; |
34 struct GPUCreateCommandBufferConfig; | 33 struct GPUCreateCommandBufferConfig; |
35 | 34 |
36 namespace base { | 35 namespace base { |
| 36 class MessageLoop; |
37 class MessageLoopProxy; | 37 class MessageLoopProxy; |
38 } | 38 } |
39 | 39 |
40 namespace gpu { | 40 namespace gpu { |
41 struct Mailbox; | 41 struct Mailbox; |
42 } | 42 } |
43 | 43 |
44 namespace IPC { | 44 namespace IPC { |
45 class SyncMessageFilter; | 45 class SyncMessageFilter; |
46 } | 46 } |
(...skipping 11 matching lines...) Expand all Loading... |
58 }; | 58 }; |
59 | 59 |
60 class CONTENT_EXPORT GpuChannelHostFactory { | 60 class CONTENT_EXPORT GpuChannelHostFactory { |
61 public: | 61 public: |
62 typedef base::Callback<void(const gfx::Size)> CreateImageCallback; | 62 typedef base::Callback<void(const gfx::Size)> CreateImageCallback; |
63 | 63 |
64 virtual ~GpuChannelHostFactory() {} | 64 virtual ~GpuChannelHostFactory() {} |
65 | 65 |
66 virtual bool IsMainThread() = 0; | 66 virtual bool IsMainThread() = 0; |
67 virtual bool IsIOThread() = 0; | 67 virtual bool IsIOThread() = 0; |
68 virtual MessageLoop* GetMainLoop() = 0; | 68 virtual base::MessageLoop* GetMainLoop() = 0; |
69 virtual scoped_refptr<base::MessageLoopProxy> GetIOLoopProxy() = 0; | 69 virtual scoped_refptr<base::MessageLoopProxy> GetIOLoopProxy() = 0; |
70 virtual base::WaitableEvent* GetShutDownEvent() = 0; | 70 virtual base::WaitableEvent* GetShutDownEvent() = 0; |
71 virtual scoped_ptr<base::SharedMemory> AllocateSharedMemory(size_t size) = 0; | 71 virtual scoped_ptr<base::SharedMemory> AllocateSharedMemory(size_t size) = 0; |
72 virtual int32 CreateViewCommandBuffer( | 72 virtual int32 CreateViewCommandBuffer( |
73 int32 surface_id, const GPUCreateCommandBufferConfig& init_params) = 0; | 73 int32 surface_id, const GPUCreateCommandBufferConfig& init_params) = 0; |
74 virtual GpuChannelHost* EstablishGpuChannelSync(CauseForGpuLaunch) = 0; | 74 virtual GpuChannelHost* EstablishGpuChannelSync(CauseForGpuLaunch) = 0; |
75 virtual void CreateImage( | 75 virtual void CreateImage( |
76 gfx::PluginWindowHandle window, | 76 gfx::PluginWindowHandle window, |
77 int32 image_id, | 77 int32 image_id, |
78 const CreateImageCallback& callback) = 0; | 78 const CreateImageCallback& callback) = 0; |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 | 243 |
244 // Transfer buffer IDs are allocated in sequence. | 244 // Transfer buffer IDs are allocated in sequence. |
245 base::AtomicSequenceNumber next_transfer_buffer_id_; | 245 base::AtomicSequenceNumber next_transfer_buffer_id_; |
246 | 246 |
247 DISALLOW_COPY_AND_ASSIGN(GpuChannelHost); | 247 DISALLOW_COPY_AND_ASSIGN(GpuChannelHost); |
248 }; | 248 }; |
249 | 249 |
250 } // namespace content | 250 } // namespace content |
251 | 251 |
252 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ | 252 #endif // CONTENT_COMMON_GPU_CLIENT_GPU_CHANNEL_HOST_H_ |
OLD | NEW |