diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-04 05:53:23 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-04 05:53:23 +0000 |
commit | 8a3b796aa8160ddaed478224050a2b7e1b16d9e6 (patch) | |
tree | d23ba1b25c4bcbd425522268951ad8af4a7cc1c7 /chrome/plugin/webplugin_proxy.h | |
parent | 79dbc66fba17d6b4967fe86a577b11d15548cdec (diff) | |
download | chromium_src-8a3b796aa8160ddaed478224050a2b7e1b16d9e6.zip chromium_src-8a3b796aa8160ddaed478224050a2b7e1b16d9e6.tar.gz chromium_src-8a3b796aa8160ddaed478224050a2b7e1b16d9e6.tar.bz2 |
This changelist fixes some issues with the NPAPI WMP plugin work in Chrome. The first is that we need to disable windowless mode since it doesn't work in the NPAPI plugin (Safari does this as well, and sites don't use windowless for Firefox). The second is to make UpdateGeometry message synchronous for WMP. The problem I saw was that while handling that message, the plugin might disaptch a NPObject Invoke method to play a video, which WMP doesn't expect and it leads to the video never playing.
While touching these files, I made some small cleanup by reverting the change that made WebPluginProxy not have a WebPluginDelegateImpl pointer, which added a bunch of unnecessary methods to WebPluginDelegate.
BUG=20259
TEST=use --no-activex and try playing the videos on http://www.nana10.co.il/Section/?SectionID=10847&sid=235
Review URL: http://codereview.chromium.org/196012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25433 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/webplugin_proxy.h')
-rw-r--r-- | chrome/plugin/webplugin_proxy.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/chrome/plugin/webplugin_proxy.h b/chrome/plugin/webplugin_proxy.h index 6297f24..62b01ef 100644 --- a/chrome/plugin/webplugin_proxy.h +++ b/chrome/plugin/webplugin_proxy.h @@ -28,9 +28,7 @@ namespace base { class WaitableEvent; } -namespace webkit_glue { -class WebPluginDelegate; -} +class WebPluginDelegateImpl; // This is an implementation of WebPlugin that proxies all calls to the // renderer. @@ -43,7 +41,7 @@ class WebPluginProxy : public webkit_glue::WebPlugin { const GURL& page_url); ~WebPluginProxy(); - void set_delegate(webkit_glue::WebPluginDelegate* d) { delegate_ = d; } + void set_delegate(WebPluginDelegateImpl* d) { delegate_ = d; } // WebPlugin overrides void SetWindow(gfx::PluginWindowHandle window); @@ -165,7 +163,7 @@ class WebPluginProxy : public webkit_glue::WebPlugin { uint32 cp_browsing_context_; NPObject* window_npobject_; NPObject* plugin_element_; - webkit_glue::WebPluginDelegate* delegate_; + WebPluginDelegateImpl* delegate_; gfx::Rect damaged_rect_; bool waiting_for_paint_; scoped_ptr<base::WaitableEvent> modal_dialog_event_; |