diff options
author | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-09 21:58:05 +0000 |
---|---|---|
committer | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-09 21:58:05 +0000 |
commit | 8a2820a90f85f91c500a9d382f8e8ba870fb621c (patch) | |
tree | 8d8bd23228cd1e6455e64b0de46e961947459382 /chrome/plugin/webplugin_proxy.cc | |
parent | 283f76091ad757bdc17c6d9090209eade4211075 (diff) | |
download | chromium_src-8a2820a90f85f91c500a9d382f8e8ba870fb621c.zip chromium_src-8a2820a90f85f91c500a9d382f8e8ba870fb621c.tar.gz chromium_src-8a2820a90f85f91c500a9d382f8e8ba870fb621c.tar.bz2 |
Patch by Thatcher Ulrich <tulrich@google.com>.
Implement "iframe shim" behavior for windowed plugins.
In FF and IE on windows, iframes are implemented as native HWNDs.
This has the side effect that iframes display on top of windowed
plugins. This side effect has long been known as a workaround for
allowing HTML elements to appear above plugin content.
BUG=1788
Review URL: http://codereview.chromium.org/7032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3137 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/webplugin_proxy.cc')
-rw-r--r-- | chrome/plugin/webplugin_proxy.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/chrome/plugin/webplugin_proxy.cc b/chrome/plugin/webplugin_proxy.cc index 9528490..56beb25c 100644 --- a/chrome/plugin/webplugin_proxy.cc +++ b/chrome/plugin/webplugin_proxy.cc @@ -4,7 +4,7 @@ #include "chrome/plugin/webplugin_proxy.h" -#include "base/gfx/bitmap_header.h" +#include "base/gfx/gdi_util.h" #include "base/gfx/platform_device_win.h" #include "base/scoped_handle.h" #include "base/shared_memory.h" @@ -277,13 +277,14 @@ void WebPluginProxy::Paint(const gfx::Rect& rect) { void WebPluginProxy::UpdateGeometry( const gfx::Rect& window_rect, const gfx::Rect& clip_rect, + const std::vector<gfx::Rect>& cutout_rects, bool visible, const SharedMemoryHandle& windowless_buffer, const SharedMemoryHandle& background_buffer) { gfx::Rect old = delegate_->rect(); bool moved = delegate_->rect().x() != window_rect.x() || delegate_->rect().y() != window_rect.y(); - delegate_->UpdateGeometry(window_rect, clip_rect, visible); + delegate_->UpdateGeometry(window_rect, clip_rect, cutout_rects, visible); if (windowless_buffer) { // The plugin's rect changed, so now we have a new buffer to draw into. SetWindowlessBuffer(windowless_buffer, background_buffer); |