diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-10 04:43:26 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-10 04:43:26 +0000 |
commit | ea478a8069dec20dcbc3a8ae814386a0b444c1cb (patch) | |
tree | 9a482191c76c78be1bb888b52f985241dbf57459 /webkit/glue/webplugin_impl.h | |
parent | 86cc946579368078a3882ec3a73c5b0ab27091b4 (diff) | |
download | chromium_src-ea478a8069dec20dcbc3a8ae814386a0b444c1cb.zip chromium_src-ea478a8069dec20dcbc3a8ae814386a0b444c1cb.tar.gz chromium_src-ea478a8069dec20dcbc3a8ae814386a0b444c1cb.tar.bz2 |
For lack of a better approach we now initiate the plugin src url download in a delayed task as the Flash plugin hangs if it starts receiving data before receiving valid plugin geometry.
This fixes bug http://code.google.com/p/chromium/issues/detail?id=12993
Bug=12993
TEST=Navigate to google.com/finance and open the tickers in background tabs. They should not cause the browser to hang.
Review URL: http://codereview.chromium.org/118452
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18033 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webplugin_impl.h')
-rw-r--r-- | webkit/glue/webplugin_impl.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/webkit/glue/webplugin_impl.h b/webkit/glue/webplugin_impl.h index 1127a73..ab7ea8f 100644 --- a/webkit/glue/webplugin_impl.h +++ b/webkit/glue/webplugin_impl.h @@ -320,6 +320,9 @@ class WebPluginImpl : public WebPlugin, static void ArrayToVector(int total_values, char** values, std::vector<std::string>* value_vector); + // Delayed task for downloading the plugin source URL. + void OnDownloadPluginSrcUrl(); + struct ClientInfo { int id; WebPluginResourceClient* client; @@ -363,6 +366,8 @@ class WebPluginImpl : public WebPlugin, // Holds the list of argument values passed to the plugin. std::vector<std::string> arg_values_; + ScopedRunnableMethodFactory<WebPluginImpl> method_factory_; + DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); }; |