summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webplugin_delegate_proxy.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-16 23:04:23 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-16 23:04:23 +0000
commitd7f4595986302dcf131b943152a843d067e53c1e (patch)
tree7165e6c839aaae33587dab4dbc28df862d1c8428 /chrome/renderer/webplugin_delegate_proxy.cc
parentefb07436b9ba4737247cdf0e8ba0529e27942468 (diff)
downloadchromium_src-d7f4595986302dcf131b943152a843d067e53c1e.zip
chromium_src-d7f4595986302dcf131b943152a843d067e53c1e.tar.gz
chromium_src-d7f4595986302dcf131b943152a843d067e53c1e.tar.bz2
Improve scrolling performance when there are many windowed plugins in a page.
This works by parenting windowed plugins with an HWND that's hosted in the browser process, so that no synchronous cross process messages are used when scrolling. BUG=5428 Review URL: http://codereview.chromium.org/18082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8239 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/webplugin_delegate_proxy.cc')
-rw-r--r--chrome/renderer/webplugin_delegate_proxy.cc11
1 files changed, 2 insertions, 9 deletions
diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc
index f4c61a2..a13053b 100644
--- a/chrome/renderer/webplugin_delegate_proxy.cc
+++ b/chrome/renderer/webplugin_delegate_proxy.cc
@@ -152,7 +152,6 @@ WebPluginDelegateProxy::WebPluginDelegateProxy(const std::string& mime_type,
windowless_(false),
npobject_(NULL),
send_deferred_update_geometry_(false),
- visible_(false),
sad_plugin_(NULL),
window_script_object_(NULL),
transparent_(false),
@@ -196,8 +195,6 @@ void WebPluginDelegateProxy::FlushGeometryUpdates() {
Send(new PluginMsg_UpdateGeometry(instance_id_,
plugin_rect_,
deferred_clip_rect_,
- deferred_cutout_rects_,
- visible_,
NULL,
NULL));
}
@@ -350,14 +347,10 @@ void WebPluginDelegateProxy::OnChannelError() {
void WebPluginDelegateProxy::UpdateGeometry(
const gfx::Rect& window_rect,
- const gfx::Rect& clip_rect,
- const std::vector<gfx::Rect>& cutout_rects,
- bool visible) {
+ const gfx::Rect& clip_rect) {
plugin_rect_ = window_rect;
if (!windowless_) {
deferred_clip_rect_ = clip_rect;
- deferred_cutout_rects_ = cutout_rects;
- visible_ = visible;
send_deferred_update_geometry_ = true;
return;
}
@@ -387,7 +380,7 @@ void WebPluginDelegateProxy::UpdateGeometry(
}
IPC::Message* msg = new PluginMsg_UpdateGeometry(
- instance_id_, window_rect, clip_rect, cutout_rects, visible,
+ instance_id_, window_rect, clip_rect,
transport_store_handle, background_store_handle);
msg->set_unblock(true);
Send(msg);