| 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_CHILD_CHILD_THREAD_IMPL_H_ | 5 #ifndef CONTENT_CHILD_CHILD_THREAD_IMPL_H_ |
| 6 #define CONTENT_CHILD_CHILD_THREAD_IMPL_H_ | 6 #define CONTENT_CHILD_CHILD_THREAD_IMPL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 | 26 |
| 27 namespace base { | 27 namespace base { |
| 28 class MessageLoop; | 28 class MessageLoop; |
| 29 | 29 |
| 30 namespace trace_event { | 30 namespace trace_event { |
| 31 class TraceMemoryController; | 31 class TraceMemoryController; |
| 32 } // namespace trace_event | 32 } // namespace trace_event |
| 33 } // namespace base | 33 } // namespace base |
| 34 | 34 |
| 35 namespace IPC { | 35 namespace IPC { |
| 36 class AttachmentBroker; |
| 36 class MessageFilter; | 37 class MessageFilter; |
| 37 class ScopedIPCSupport; | 38 class ScopedIPCSupport; |
| 38 class SyncChannel; | 39 class SyncChannel; |
| 39 class SyncMessageFilter; | 40 class SyncMessageFilter; |
| 40 } // namespace IPC | 41 } // namespace IPC |
| 41 | 42 |
| 42 namespace blink { | 43 namespace blink { |
| 43 class WebFrame; | 44 class WebFrame; |
| 44 } // namespace blink | 45 } // namespace blink |
| 45 | 46 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 virtual void Shutdown(); | 85 virtual void Shutdown(); |
| 85 | 86 |
| 86 // IPC::Sender implementation: | 87 // IPC::Sender implementation: |
| 87 bool Send(IPC::Message* msg) override; | 88 bool Send(IPC::Message* msg) override; |
| 88 | 89 |
| 89 // ChildThread implementation: | 90 // ChildThread implementation: |
| 90 #if defined(OS_WIN) | 91 #if defined(OS_WIN) |
| 91 void PreCacheFont(const LOGFONT& log_font) override; | 92 void PreCacheFont(const LOGFONT& log_font) override; |
| 92 void ReleaseCachedFonts() override; | 93 void ReleaseCachedFonts() override; |
| 93 #endif | 94 #endif |
| 95 IPC::AttachmentBroker* GetAttachmentBroker() override; |
| 94 | 96 |
| 95 IPC::SyncChannel* channel() { return channel_.get(); } | 97 IPC::SyncChannel* channel() { return channel_.get(); } |
| 96 | 98 |
| 97 MessageRouter* GetRouter(); | 99 MessageRouter* GetRouter(); |
| 98 | 100 |
| 99 // Allocates a block of shared memory of the given size. Returns NULL on | 101 // Allocates a block of shared memory of the given size. Returns NULL on |
| 100 // failure. | 102 // failure. |
| 101 // Note: On posix, this requires a sync IPC to the browser process, | 103 // Note: On posix, this requires a sync IPC to the browser process, |
| 102 // but on windows the child process directly allocates the block. | 104 // but on windows the child process directly allocates the block. |
| 103 scoped_ptr<base::SharedMemory> AllocateSharedMemory(size_t buf_size); | 105 scoped_ptr<base::SharedMemory> AllocateSharedMemory(size_t buf_size); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 #if defined(OS_MACOSX) && !defined(OS_IOS) | 241 #if defined(OS_MACOSX) && !defined(OS_IOS) |
| 240 void OnSetIOSurfaceManagerToken(const IOSurfaceManagerToken& token); | 242 void OnSetIOSurfaceManagerToken(const IOSurfaceManagerToken& token); |
| 241 #endif | 243 #endif |
| 242 | 244 |
| 243 void EnsureConnected(); | 245 void EnsureConnected(); |
| 244 | 246 |
| 245 scoped_ptr<MojoApplication> mojo_application_; | 247 scoped_ptr<MojoApplication> mojo_application_; |
| 246 | 248 |
| 247 std::string channel_name_; | 249 std::string channel_name_; |
| 248 scoped_ptr<IPC::SyncChannel> channel_; | 250 scoped_ptr<IPC::SyncChannel> channel_; |
| 251 scoped_ptr<IPC::AttachmentBroker> attachment_broker_; |
| 249 | 252 |
| 250 // Allows threads other than the main thread to send sync messages. | 253 // Allows threads other than the main thread to send sync messages. |
| 251 scoped_refptr<IPC::SyncMessageFilter> sync_message_filter_; | 254 scoped_refptr<IPC::SyncMessageFilter> sync_message_filter_; |
| 252 | 255 |
| 253 scoped_refptr<ThreadSafeSender> thread_safe_sender_; | 256 scoped_refptr<ThreadSafeSender> thread_safe_sender_; |
| 254 | 257 |
| 255 // Implements message routing functionality to the consumers of | 258 // Implements message routing functionality to the consumers of |
| 256 // ChildThreadImpl. | 259 // ChildThreadImpl. |
| 257 ChildThreadMessageRouter router_; | 260 ChildThreadMessageRouter router_; |
| 258 | 261 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 | 338 |
| 336 private: | 339 private: |
| 337 struct Options options_; | 340 struct Options options_; |
| 338 | 341 |
| 339 DISALLOW_COPY_AND_ASSIGN(Builder); | 342 DISALLOW_COPY_AND_ASSIGN(Builder); |
| 340 }; | 343 }; |
| 341 | 344 |
| 342 } // namespace content | 345 } // namespace content |
| 343 | 346 |
| 344 #endif // CONTENT_CHILD_CHILD_THREAD_IMPL_H_ | 347 #endif // CONTENT_CHILD_CHILD_THREAD_IMPL_H_ |
| OLD | NEW |