summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-26 17:17:58 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-26 17:17:58 +0000
commit16f89d074dd62b9850adfc988c02e385da465124 (patch)
tree2e90f306726888d1e955ab8e5f00a71aa5d4935a /chrome/renderer
parent4a12e4cc0c9daad8dd006c5cfadd331f2a46b76b (diff)
downloadchromium_src-16f89d074dd62b9850adfc988c02e385da465124.zip
chromium_src-16f89d074dd62b9850adfc988c02e385da465124.tar.gz
chromium_src-16f89d074dd62b9850adfc988c02e385da465124.tar.bz2
Add isVisible parameter to WebPlugin::updateGeometry.
This allows for geometry updates while the plugin is hidden so that when it becomes visible, the plugin is properly positioned. In this change, I also revised RenderWidget::SchedulePluginMove to properly merge a move that only updates the visible state, and I fixed up TestShell to properly handle moves that only update the visible state. R=jam BUG=19888,20260 TEST=covered by layout tests Review URL: http://codereview.chromium.org/174513 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24457 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/render_widget.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc
index cd722ba..6a6c0a4 100644
--- a/chrome/renderer/render_widget.cc
+++ b/chrome/renderer/render_widget.cc
@@ -857,7 +857,11 @@ void RenderWidget::SchedulePluginMove(const WebPluginGeometry& move) {
size_t i = 0;
for (; i < plugin_window_moves_.size(); ++i) {
if (plugin_window_moves_[i].window == move.window) {
- plugin_window_moves_[i] = move;
+ if (move.rects_valid) {
+ plugin_window_moves_[i] = move;
+ } else {
+ plugin_window_moves_[i].visible = move.visible;
+ }
break;
}
}