| 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 |