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_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <queue> | 9 #include <queue> |
10 #include <string> | 10 #include <string> |
11 | 11 |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "base/observer_list.h" | 13 #include "base/observer_list.h" |
14 #include "base/process/process.h" | 14 #include "base/process/process.h" |
15 #include "base/timer/timer.h" | 15 #include "base/timer/timer.h" |
16 #include "content/browser/child_process_launcher.h" | 16 #include "content/browser/child_process_launcher.h" |
17 #include "content/browser/dom_storage/session_storage_namespace_impl.h" | 17 #include "content/browser/dom_storage/session_storage_namespace_impl.h" |
18 #include "content/browser/mojo/mojo_application_host.h" | 18 #include "content/browser/mojo/mojo_application_host.h" |
19 #include "content/browser/power_monitor_message_broadcaster.h" | 19 #include "content/browser/power_monitor_message_broadcaster.h" |
20 #include "content/common/content_export.h" | 20 #include "content/common/content_export.h" |
21 #include "content/common/mojo/service_registry_impl.h" | 21 #include "content/common/mojo/service_registry_impl.h" |
22 #include "content/public/browser/gpu_data_manager_observer.h" | 22 #include "content/public/browser/gpu_data_manager_observer.h" |
23 #include "content/public/browser/render_process_host.h" | 23 #include "content/public/browser/render_process_host.h" |
24 #include "ipc/ipc_channel_proxy.h" | 24 #include "ipc/ipc_channel_proxy.h" |
25 #include "ipc/ipc_platform_file.h" | 25 #include "ipc/ipc_platform_file.h" |
26 #include "mojo/public/cpp/bindings/interface_ptr.h" | 26 #include "mojo/public/cpp/bindings/interface_ptr.h" |
| 27 #include "ui/gfx/gpu_memory_buffer.h" |
27 | 28 |
28 #if defined(OS_MACOSX) | 29 #if defined(OS_MACOSX) |
29 #include <IOSurface/IOSurfaceAPI.h> | 30 #include <IOSurface/IOSurfaceAPI.h> |
30 #include "base/mac/scoped_cftyperef.h" | 31 #include "base/mac/scoped_cftyperef.h" |
31 #endif | 32 #endif |
32 | 33 |
33 namespace base { | 34 namespace base { |
34 class CommandLine; | 35 class CommandLine; |
35 class MessageLoop; | 36 class MessageLoop; |
36 } | 37 } |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 #endif | 323 #endif |
323 | 324 |
324 // GpuMemoryBuffer allocation handler. | 325 // GpuMemoryBuffer allocation handler. |
325 void OnAllocateGpuMemoryBuffer(uint32 width, | 326 void OnAllocateGpuMemoryBuffer(uint32 width, |
326 uint32 height, | 327 uint32 height, |
327 uint32 internalformat, | 328 uint32 internalformat, |
328 uint32 usage, | 329 uint32 usage, |
329 IPC::Message* reply); | 330 IPC::Message* reply); |
330 void GpuMemoryBufferAllocated(IPC::Message* reply, | 331 void GpuMemoryBufferAllocated(IPC::Message* reply, |
331 const gfx::GpuMemoryBufferHandle& handle); | 332 const gfx::GpuMemoryBufferHandle& handle); |
| 333 void OnDeletedGpuMemoryBuffer(gfx::GpuMemoryBufferType type, |
| 334 const gfx::GpuMemoryBufferId& id); |
332 | 335 |
333 scoped_ptr<MojoApplicationHost> mojo_application_host_; | 336 scoped_ptr<MojoApplicationHost> mojo_application_host_; |
334 bool mojo_activation_required_; | 337 bool mojo_activation_required_; |
335 | 338 |
336 // The registered IPC listener objects. When this list is empty, we should | 339 // The registered IPC listener objects. When this list is empty, we should |
337 // delete ourselves. | 340 // delete ourselves. |
338 IDMap<IPC::Listener> listeners_; | 341 IDMap<IPC::Listener> listeners_; |
339 | 342 |
340 // The count of currently visible widgets. Since the host can be a container | 343 // The count of currently visible widgets. Since the host can be a container |
341 // for multiple widgets, it uses this count to determine when it should be | 344 // for multiple widgets, it uses this count to determine when it should be |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 #if defined(OS_MACOSX) | 455 #if defined(OS_MACOSX) |
453 base::ScopedCFTypeRef<IOSurfaceRef> last_io_surface_; | 456 base::ScopedCFTypeRef<IOSurfaceRef> last_io_surface_; |
454 #endif | 457 #endif |
455 | 458 |
456 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 459 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
457 }; | 460 }; |
458 | 461 |
459 } // namespace content | 462 } // namespace content |
460 | 463 |
461 #endif // CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 464 #endif // CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
OLD | NEW |