OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_PUBLIC_CHILD_CHILD_THREAD_H_ | 5 #ifndef CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_ |
6 #define CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_ | 6 #define CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_ |
7 | 7 |
8 #include "content/common/content_export.h" | 8 #include "content/common/content_export.h" |
| 9 #include "ipc/attachment_broker.h" |
9 #include "ipc/ipc_sender.h" | 10 #include "ipc/ipc_sender.h" |
10 | 11 |
11 #if defined(OS_WIN) | 12 #if defined(OS_WIN) |
12 #include <windows.h> | 13 #include <windows.h> |
13 #endif | 14 #endif |
14 | 15 |
| 16 namespace IPC { |
| 17 class AttachmentBroker; |
| 18 } |
| 19 |
15 namespace content { | 20 namespace content { |
16 | 21 |
17 class CONTENT_EXPORT ChildThread : public IPC::Sender { | 22 // An abstract base class that contains logic shared between most child |
| 23 // processes of the embedder. |
| 24 class CONTENT_EXPORT ChildThread |
| 25 : public IPC::Sender, |
| 26 virtual public IPC::SupportsAttachmentBrokering { |
18 public: | 27 public: |
19 // Returns the one child thread for this process. Note that this can only be | 28 // Returns the one child thread for this process. Note that this can only be |
20 // accessed when running on the child thread itself. | 29 // accessed when running on the child thread itself. |
21 static ChildThread* Get(); | 30 static ChildThread* Get(); |
22 | 31 |
23 ~ChildThread() override {} | 32 ~ChildThread() override {} |
24 | 33 |
25 #if defined(OS_WIN) | 34 #if defined(OS_WIN) |
26 // Request that the given font be loaded by the browser so it's cached by the | 35 // Request that the given font be loaded by the browser so it's cached by the |
27 // OS. Please see ChildProcessHost::PreCacheFont for details. | 36 // OS. Please see ChildProcessHost::PreCacheFont for details. |
28 virtual void PreCacheFont(const LOGFONT& log_font) = 0; | 37 virtual void PreCacheFont(const LOGFONT& log_font) = 0; |
29 | 38 |
30 // Release cached font. | 39 // Release cached font. |
31 virtual void ReleaseCachedFonts() = 0; | 40 virtual void ReleaseCachedFonts() = 0; |
32 #endif | 41 #endif |
33 }; | 42 }; |
34 | 43 |
35 } // namespace content | 44 } // namespace content |
36 | 45 |
37 #endif // CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_ | 46 #endif // CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_ |
OLD | NEW |