summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webplugin_delegate_proxy.h
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-01 03:47:11 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-01 03:47:11 +0000
commit51780eba10f8100475f0983e7b465b6b0211b1d9 (patch)
tree793cacb92a887bb44b673482bd4de35cd58ebd81 /chrome/renderer/webplugin_delegate_proxy.h
parent3abd6bbdfb0a6d8367a2c56d4846e3d70d9da660 (diff)
downloadchromium_src-51780eba10f8100475f0983e7b465b6b0211b1d9.zip
chromium_src-51780eba10f8100475f0983e7b465b6b0211b1d9.tar.gz
chromium_src-51780eba10f8100475f0983e7b465b6b0211b1d9.tar.bz2
Fix the painting problem with Stree View and Flash 10. After the size of the plugin changes, we generate a new backing store. Flash 9 invalidates the rectangle, but Flash 10 doesn't. As a result we paint from a blank backing store.
The fix is to keep track of which part of the backing store has been painted into by the plugin, and if the renderer tries to paint an area that falls outside of it, do a synchronous paint. Also get rid of first_paint_, as it was introduced during a failed attempt to make plugin loading asynchronous. Review URL: http://codereview.chromium.org/10792 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6128 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/webplugin_delegate_proxy.h')
-rw-r--r--chrome/renderer/webplugin_delegate_proxy.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/chrome/renderer/webplugin_delegate_proxy.h b/chrome/renderer/webplugin_delegate_proxy.h
index a11d083..392682c 100644
--- a/chrome/renderer/webplugin_delegate_proxy.h
+++ b/chrome/renderer/webplugin_delegate_proxy.h
@@ -150,7 +150,6 @@ class WebPluginDelegateProxy : public WebPluginDelegate,
RenderView* render_view_;
WebPlugin* plugin_;
bool windowless_;
- bool first_paint_;
scoped_refptr<PluginChannelHost> channel_host_;
std::string mime_type_;
std::string clsid_;
@@ -188,6 +187,8 @@ class WebPluginDelegateProxy : public WebPluginDelegate,
scoped_ptr<gfx::PlatformCanvasWin> transport_store_canvas_;
scoped_ptr<base::SharedMemory> background_store_;
scoped_ptr<gfx::PlatformCanvasWin> background_store_canvas_;
+ // This lets us know which portion of the backing store has been painted into.
+ gfx::Rect backing_store_painted_;
DISALLOW_EVIL_CONSTRUCTORS(WebPluginDelegateProxy);
};