| 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_CHILD_PROCESS_HOST_IMPL_H_ | 5 #ifndef CONTENT_COMMON_CHILD_PROCESS_HOST_IMPL_H_ |
| 6 #define CONTENT_COMMON_CHILD_PROCESS_HOST_IMPL_H_ | 6 #define CONTENT_COMMON_CHILD_PROCESS_HOST_IMPL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 // IDs for the RenderProcessHost, which doesn't inherit from us, and whose IDs | 51 // IDs for the RenderProcessHost, which doesn't inherit from us, and whose IDs |
| 52 // must be unique for all child processes. | 52 // must be unique for all child processes. |
| 53 // | 53 // |
| 54 // This function is threadsafe since RenderProcessHost is on the UI thread, | 54 // This function is threadsafe since RenderProcessHost is on the UI thread, |
| 55 // but normally this will be used on the IO thread. | 55 // but normally this will be used on the IO thread. |
| 56 // | 56 // |
| 57 // This will never return ChildProcessHost::kInvalidUniqueID. | 57 // This will never return ChildProcessHost::kInvalidUniqueID. |
| 58 static int GenerateChildProcessUniqueId(); | 58 static int GenerateChildProcessUniqueId(); |
| 59 | 59 |
| 60 // ChildProcessHost implementation | 60 // ChildProcessHost implementation |
| 61 virtual bool Send(IPC::Message* message) OVERRIDE; | 61 virtual bool Send(IPC::Message* message) override; |
| 62 virtual void ForceShutdown() OVERRIDE; | 62 virtual void ForceShutdown() override; |
| 63 virtual std::string CreateChannel() OVERRIDE; | 63 virtual std::string CreateChannel() override; |
| 64 virtual bool IsChannelOpening() OVERRIDE; | 64 virtual bool IsChannelOpening() override; |
| 65 virtual void AddFilter(IPC::MessageFilter* filter) OVERRIDE; | 65 virtual void AddFilter(IPC::MessageFilter* filter) override; |
| 66 #if defined(OS_POSIX) | 66 #if defined(OS_POSIX) |
| 67 virtual int TakeClientFileDescriptor() OVERRIDE; | 67 virtual int TakeClientFileDescriptor() override; |
| 68 #endif | 68 #endif |
| 69 | 69 |
| 70 private: | 70 private: |
| 71 friend class ChildProcessHost; | 71 friend class ChildProcessHost; |
| 72 | 72 |
| 73 explicit ChildProcessHostImpl(ChildProcessHostDelegate* delegate); | 73 explicit ChildProcessHostImpl(ChildProcessHostDelegate* delegate); |
| 74 | 74 |
| 75 // IPC::Listener methods: | 75 // IPC::Listener methods: |
| 76 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; | 76 virtual bool OnMessageReceived(const IPC::Message& msg) override; |
| 77 virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; | 77 virtual void OnChannelConnected(int32 peer_pid) override; |
| 78 virtual void OnChannelError() OVERRIDE; | 78 virtual void OnChannelError() override; |
| 79 virtual void OnBadMessageReceived(const IPC::Message& message) OVERRIDE; | 79 virtual void OnBadMessageReceived(const IPC::Message& message) override; |
| 80 | 80 |
| 81 // Message handlers: | 81 // Message handlers: |
| 82 void OnShutdownRequest(); | 82 void OnShutdownRequest(); |
| 83 void OnAllocateSharedMemory(uint32 buffer_size, | 83 void OnAllocateSharedMemory(uint32 buffer_size, |
| 84 base::SharedMemoryHandle* handle); | 84 base::SharedMemoryHandle* handle); |
| 85 void OnAllocateGpuMemoryBuffer(uint32 width, | 85 void OnAllocateGpuMemoryBuffer(uint32 width, |
| 86 uint32 height, | 86 uint32 height, |
| 87 uint32 internalformat, | 87 uint32 internalformat, |
| 88 uint32 usage, | 88 uint32 usage, |
| 89 gfx::GpuMemoryBufferHandle* handle); | 89 gfx::GpuMemoryBufferHandle* handle); |
| 90 | 90 |
| 91 ChildProcessHostDelegate* delegate_; | 91 ChildProcessHostDelegate* delegate_; |
| 92 base::ProcessHandle peer_handle_; | 92 base::ProcessHandle peer_handle_; |
| 93 bool opening_channel_; // True while we're waiting the channel to be opened. | 93 bool opening_channel_; // True while we're waiting the channel to be opened. |
| 94 scoped_ptr<IPC::Channel> channel_; | 94 scoped_ptr<IPC::Channel> channel_; |
| 95 std::string channel_id_; | 95 std::string channel_id_; |
| 96 | 96 |
| 97 // Holds all the IPC message filters. Since this object lives on the IO | 97 // Holds all the IPC message filters. Since this object lives on the IO |
| 98 // thread, we don't have a IPC::ChannelProxy and so we manage filters | 98 // thread, we don't have a IPC::ChannelProxy and so we manage filters |
| 99 // manually. | 99 // manually. |
| 100 std::vector<scoped_refptr<IPC::MessageFilter> > filters_; | 100 std::vector<scoped_refptr<IPC::MessageFilter> > filters_; |
| 101 | 101 |
| 102 DISALLOW_COPY_AND_ASSIGN(ChildProcessHostImpl); | 102 DISALLOW_COPY_AND_ASSIGN(ChildProcessHostImpl); |
| 103 }; | 103 }; |
| 104 | 104 |
| 105 } // namespace content | 105 } // namespace content |
| 106 | 106 |
| 107 #endif // CONTENT_COMMON_CHILD_PROCESS_HOST_IMPL_H_ | 107 #endif // CONTENT_COMMON_CHILD_PROCESS_HOST_IMPL_H_ |
| OLD | NEW |