Add a NavigationThrottle to the public content/ interface
[chromium-blink-merge.git] / content / public / child / child_thread.h
blob4a29667f20ebdcdd391681bf6517bdff03252778
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
3 // found in the LICENSE file.
5 #ifndef CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_
6 #define CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_
8 #include "content/common/content_export.h"
9 #include "ipc/ipc_sender.h"
11 #if defined(OS_WIN)
12 #include <windows.h>
13 #endif
15 namespace content {
17 // An abstract base class that contains logic shared between most child
18 // processes of the embedder.
19 class CONTENT_EXPORT ChildThread : public IPC::Sender {
20 public:
21 // Returns the one child thread for this process. Note that this can only be
22 // accessed when running on the child thread itself.
23 static ChildThread* Get();
25 ~ChildThread() override {}
27 #if defined(OS_WIN)
28 // Request that the given font be loaded by the browser so it's cached by the
29 // OS. Please see ChildProcessHost::PreCacheFont for details.
30 virtual void PreCacheFont(const LOGFONT& log_font) = 0;
32 // Release cached font.
33 virtual void ReleaseCachedFonts() = 0;
34 #endif
37 } // namespace content
39 #endif // CONTENT_PUBLIC_CHILD_CHILD_THREAD_H_