summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/webplugin_proxy.h
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-04 05:53:23 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-04 05:53:23 +0000
commit8a3b796aa8160ddaed478224050a2b7e1b16d9e6 (patch)
treed23ba1b25c4bcbd425522268951ad8af4a7cc1c7 /chrome/plugin/webplugin_proxy.h
parent79dbc66fba17d6b4967fe86a577b11d15548cdec (diff)
downloadchromium_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.h8
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_;