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 |