summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/webplugin_proxy.h
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-30 19:26:52 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-30 19:26:52 +0000
commit2f5b1a172cf64e40d9e7ae97ef9ecb5ecd5fa865 (patch)
tree1b5660cd5010281a9fd1ce4d6f9892ec8d5b0534 /chrome/plugin/webplugin_proxy.h
parent70cc766c4b3e34140ceb3b534a60393a3ba12731 (diff)
downloadchromium_src-2f5b1a172cf64e40d9e7ae97ef9ecb5ecd5fa865.zip
chromium_src-2f5b1a172cf64e40d9e7ae97ef9ecb5ecd5fa865.tar.gz
chromium_src-2f5b1a172cf64e40d9e7ae97ef9ecb5ecd5fa865.tar.bz2
linux: add a GtkPlug / GtkSocket pair in the plugin process
Some plugins assume that the GtkSocket container is in the same process as the plugin, so we give them one. This fixes bug 16928 and the gdk_window_get_origin issue. BUG=16928 Review URL: http://codereview.chromium.org/160380 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22083 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/webplugin_proxy.h')
-rw-r--r--chrome/plugin/webplugin_proxy.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/plugin/webplugin_proxy.h b/chrome/plugin/webplugin_proxy.h
index 9454d28..38a3879 100644
--- a/chrome/plugin/webplugin_proxy.h
+++ b/chrome/plugin/webplugin_proxy.h
@@ -190,6 +190,14 @@ class WebPluginProxy : public WebPlugin {
scoped_ptr<TransportDIB> background_dib_;
scoped_ptr<skia::PlatformCanvas> windowless_canvas_;
scoped_ptr<skia::PlatformCanvas> background_canvas_;
+
+ // On Linux some plugins assume that the GtkSocket container is in the same
+ // process. So we create a GtkPlug to plug into the browser's container, and
+ // a GtkSocket to hold the plugin. container_ is the original container XID
+ // coming from the browser.
+ gfx::PluginWindowHandle container_;
+ GtkWidget *plug_;
+ GtkWidget *socket_;
#endif
ScopedRunnableMethodFactory<WebPluginProxy> runnable_method_factory_;