Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(834)

Unified Diff: content/child/child_thread_impl.h

Issue 897563002: Unify the three places that patch font loading for PDFium on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/child/child_thread_impl.h
diff --git a/content/child/child_thread.h b/content/child/child_thread_impl.h
similarity index 92%
rename from content/child/child_thread.h
rename to content/child/child_thread_impl.h
index 24cfc61f22cbbaf37a51e700b1764c09dee9240b..e4f5c3f1850261294c9b512d69e8d0a6e4665253 100644
--- a/content/child/child_thread.h
+++ b/content/child/child_thread_impl.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_CHILD_CHILD_THREAD_H_
-#define CONTENT_CHILD_CHILD_THREAD_H_
+#ifndef CONTENT_CHILD_CHILD_THREAD_IMPL_H_
+#define CONTENT_CHILD_CHILD_THREAD_IMPL_H_
#include <string>
@@ -16,6 +16,7 @@
#include "content/child/mojo/mojo_application.h"
#include "content/common/content_export.h"
#include "content/common/message_router.h"
+#include "content/public/child/child_thread.h"
#include "ipc/ipc_message.h" // For IPC_MESSAGE_LOG_ENABLED.
namespace base {
@@ -57,7 +58,9 @@ class WebSocketDispatcher;
struct RequestInfo;
// The main thread of a child process derives from this class.
-class CONTENT_EXPORT ChildThread : public IPC::Listener, public IPC::Sender {
+class CONTENT_EXPORT ChildThreadImpl
+ : public IPC::Listener,
+ virtual public ChildThread {
scottmg 2015/02/03 17:52:06 Why does this need to be virtual?
jam 2015/02/03 18:13:04 It's because of the diamond inheritance: ChildTh
public:
struct CONTENT_EXPORT Options {
Options();
@@ -72,21 +75,27 @@ class CONTENT_EXPORT ChildThread : public IPC::Listener, public IPC::Sender {
};
// Creates the thread.
- ChildThread();
+ ChildThreadImpl();
// Allow to be used for single-process mode and for in process gpu mode via
// options.
- explicit ChildThread(const Options& options);
+ explicit ChildThreadImpl(const Options& options);
// ChildProcess::main_thread() is reset after Shutdown(), and before the
// destructor, so any subsystem that relies on ChildProcess::main_thread()
// must be terminated before Shutdown returns. In particular, if a subsystem
// has a thread that post tasks to ChildProcess::main_thread(), that thread
// should be joined in Shutdown().
- ~ChildThread() override;
+ ~ChildThreadImpl() override;
virtual void Shutdown();
// IPC::Sender implementation:
bool Send(IPC::Message* msg) override;
+ // ChildThread implementation:
+#if defined(OS_WIN)
+ void PreCacheFont(const LOGFONT& log_font) override;
+ void ReleaseCachedFonts() override;
+#endif
+
IPC::SyncChannel* channel() { return channel_.get(); }
MessageRouter* GetRouter();
@@ -170,7 +179,7 @@ class CONTENT_EXPORT ChildThread : public IPC::Listener, public IPC::Sender {
base::MessageLoop* message_loop() const { return message_loop_; }
// Returns the one child thread. Can only be called on the main thread.
- static ChildThread* current();
+ static ChildThreadImpl* current();
#if defined(OS_ANDROID)
// Called on Android's service thread to shutdown the main thread of this
@@ -241,7 +250,8 @@ class CONTENT_EXPORT ChildThread : public IPC::Listener, public IPC::Sender {
scoped_refptr<ThreadSafeSender> thread_safe_sender_;
- // Implements message routing functionality to the consumers of ChildThread.
+ // Implements message routing functionality to the consumers of
+ // ChildThreadImpl.
ChildThreadMessageRouter router_;
// Handles resource loads for this process.
@@ -292,11 +302,11 @@ class CONTENT_EXPORT ChildThread : public IPC::Listener, public IPC::Sender {
bool in_browser_process_;
- base::WeakPtrFactory<ChildThread> channel_connected_factory_;
+ base::WeakPtrFactory<ChildThreadImpl> channel_connected_factory_;
- DISALLOW_COPY_AND_ASSIGN(ChildThread);
+ DISALLOW_COPY_AND_ASSIGN(ChildThreadImpl);
};
} // namespace content
-#endif // CONTENT_CHILD_CHILD_THREAD_H_
+#endif // CONTENT_CHILD_CHILD_THREAD_IMPL_H_

Powered by Google App Engine
This is Rietveld 408576698