diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-24 01:59:32 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-24 01:59:32 +0000 |
commit | 6639f5c6328b64ea800693b343d789b32c050cab (patch) | |
tree | c91de0b9bcf09d56c1ab02baef710a6f836d1098 /chrome/renderer | |
parent | 380ab46417433097d6fc3a0c92236e46b4ea1d40 (diff) | |
download | chromium_src-6639f5c6328b64ea800693b343d789b32c050cab.zip chromium_src-6639f5c6328b64ea800693b343d789b32c050cab.tar.gz chromium_src-6639f5c6328b64ea800693b343d789b32c050cab.tar.bz2 |
Linux: use opaque NativeViewIds
Currently we are still passing GtkWidget* into the renderer and
trusting the value on the way out. With this patch we switch to using
opaque values.
These opaque values are handled by a GtkNativeViewIdManger, a
singleton object which maintains the list of currently valid ids and
their current X window ids.
We don't pass the X window ids directly to the renderer because they
are a) guessable and b) possibly variable for a GtkWidget. From a
patch size point of view, the X window isn't current created at the
point where we need it so significant work would be needed to reorder
operations to fix that as well.
This patch also removes the GTK accesses from the BACKGROUND_X11
thread which were a temporary hack.
http://codereview.chromium.org/92110
BUG=9014,9869,10787
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14405 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/webplugin_delegate_proxy.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc index 9c47852b..2a35b3c 100644 --- a/chrome/renderer/webplugin_delegate_proxy.cc +++ b/chrome/renderer/webplugin_delegate_proxy.cc @@ -630,10 +630,14 @@ int WebPluginDelegateProxy::GetProcessId() { } void WebPluginDelegateProxy::OnSetWindow(gfx::NativeViewId window_id) { +#if defined(OS_WIN) gfx::NativeView window = gfx::NativeViewFromId(window_id); windowless_ = window == NULL; if (plugin_) plugin_->SetWindow(window); +#else + NOTIMPLEMENTED(); +#endif } #if defined(OS_WIN) |