summaryrefslogtreecommitdiffstats
path: root/content/ppapi_plugin/ppapi_thread.h
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-19 23:37:01 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-19 23:37:01 +0000
commitd914b2b089eb4255946aff2428f79f78739586a5 (patch)
tree98a9113121cb22921e0e82f4a4cdd5f9f6a049e1 /content/ppapi_plugin/ppapi_thread.h
parentfbd57461041b0a7eb5d93ca4e057d11abb1e8b19 (diff)
downloadchromium_src-d914b2b089eb4255946aff2428f79f78739586a5.zip
chromium_src-d914b2b089eb4255946aff2428f79f78739586a5.tar.gz
chromium_src-d914b2b089eb4255946aff2428f79f78739586a5.tar.bz2
Remove the Webkit thread in the PPAPI plugin process and perform the text and font operations
on the PPAPI main thread. This thread is now registered as the Webkit thread. Fixes performance issues seen in Flapper with text and font operations. It appears that the perf issues occur due to context switching between the main thread and the webkit thread. As per comments from Brett moving the font forwarding code inline to ppb_font_shared.cc. This file has been moved to ppapi/shared_impl/private as it now brings in a dependency on WebKit. The font creation has been wired up to the ResourceCreationAPI as suggested. BUG=110190 R=brettw Review URL: https://chromiumcodereview.appspot.com/9133015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118385 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/ppapi_plugin/ppapi_thread.h')
-rw-r--r--content/ppapi_plugin/ppapi_thread.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/content/ppapi_plugin/ppapi_thread.h b/content/ppapi_plugin/ppapi_thread.h
index 56e12c5..bff66db 100644
--- a/content/ppapi_plugin/ppapi_thread.h
+++ b/content/ppapi_plugin/ppapi_thread.h
@@ -22,7 +22,7 @@
#include "ppapi/proxy/plugin_proxy_delegate.h"
class FilePath;
-class PpapiWebKitThread;
+class PpapiWebKitPlatformSupportImpl;
namespace IPC {
struct ChannelHandle;
@@ -48,9 +48,6 @@ class PpapiThread : public ChildThread,
virtual void Unregister(uint32 plugin_dispatcher_id) OVERRIDE;
// PluginProxyDelegate.
- virtual ppapi::WebKitForwarding* GetWebKitForwarding() OVERRIDE;
- virtual void PostToWebKitThread(const tracked_objects::Location& from_here,
- const base::Closure& task) OVERRIDE;
virtual bool SendToBrowser(IPC::Message* msg) OVERRIDE;
virtual void PreCacheFont(const void* logfontw) OVERRIDE;
@@ -92,15 +89,13 @@ class PpapiThread : public ChildThread,
// See Dispatcher::Delegate::GetGloballySeenInstanceIDSet.
std::set<PP_Instance> globally_seen_instance_ids_;
- // Lazily created by GetWebKitForwarding.
- scoped_ptr<ppapi::WebKitForwarding> webkit_forwarding_;
-
- scoped_ptr<PpapiWebKitThread> webkit_thread_;
-
// The PluginDispatcher instances contained in the map are not owned by it.
std::map<uint32, ppapi::proxy::PluginDispatcher*> plugin_dispatchers_;
uint32 next_plugin_dispatcher_id_;
+ // The WebKitPlatformSupport implementation.
+ scoped_ptr<PpapiWebKitPlatformSupportImpl> webkit_platform_support_;
+
DISALLOW_IMPLICIT_CONSTRUCTORS(PpapiThread);
};