diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-19 23:37:01 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-19 23:37:01 +0000 |
commit | d914b2b089eb4255946aff2428f79f78739586a5 (patch) | |
tree | 98a9113121cb22921e0e82f4a4cdd5f9f6a049e1 /content/ppapi_plugin/ppapi_thread.h | |
parent | fbd57461041b0a7eb5d93ca4e057d11abb1e8b19 (diff) | |
download | chromium_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.h | 13 |
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); }; |