summaryrefslogtreecommitdiffstats
path: root/webkit/tools
diff options
context:
space:
mode:
authordeanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-15 11:46:04 +0000
committerdeanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-15 11:46:04 +0000
commit3d8835ce738f3bb2f7006d3d195723a97170c856 (patch)
tree4a2d60eeed2783f52ff8283cce732c9beb46e2e4 /webkit/tools
parentf69ae902bf6a334736a09e6ad278a6b63f4cb704 (diff)
downloadchromium_src-3d8835ce738f3bb2f7006d3d195723a97170c856.zip
chromium_src-3d8835ce738f3bb2f7006d3d195723a97170c856.tar.gz
chromium_src-3d8835ce738f3bb2f7006d3d195723a97170c856.tar.bz2
Match the Windows plugin moving/sizing behavior on Linux.
This keep the sizing operations in WebPluginDelegateImpl, and does the moving in DidMove. This more or less matches what currently happens on Windows. Add a comment explaining this situation better. Add some random comments and small code cleanup. Remove the flash useragent spoofing hack on non-Windows, we don't need to worry about this for now. Review URL: http://codereview.chromium.org/20304 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9843 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools')
-rwxr-xr-xwebkit/tools/test_shell/test_webview_delegate_gtk.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/webkit/tools/test_shell/test_webview_delegate_gtk.cc b/webkit/tools/test_shell/test_webview_delegate_gtk.cc
index 2564061..c74b64f 100755
--- a/webkit/tools/test_shell/test_webview_delegate_gtk.cc
+++ b/webkit/tools/test_shell/test_webview_delegate_gtk.cc
@@ -207,11 +207,22 @@ void TestWebViewDelegate::DidMove(WebWidget* webwidget,
GtkWidget* widget = move.window;
DCHECK(!GTK_WIDGET_NO_WINDOW(widget) && GTK_WIDGET_REALIZED(widget));
+ // Update the clipping region on the GdkWindow.
GdkRectangle clip_rect = move.clip_rect.ToGdkRectangle();
GdkRegion* clip_region = gdk_region_rectangle(&clip_rect);
gfx::SubtractRectanglesFromRegion(clip_region, move.cutout_rects);
gdk_window_shape_combine_region(widget->window, clip_region, 0, 0);
gdk_region_destroy(clip_region);
+
+ // Update the window position. Resizing is handled by WebPluginDelegate.
+ // TODO(deanm): Verify that we only need to move and not resize.
+ // TODO(deanm): Can we avoid the X call if it's already at the right place,
+ // the GtkFixed knows where the child is, maybe it handles this for us?
+ WebWidgetHost* host = GetHostForWidget(webwidget);
+ gtk_fixed_move(GTK_FIXED(host->view_handle()),
+ widget,
+ move.window_rect.x(),
+ move.window_rect.y());
}
void TestWebViewDelegate::RunModal(WebWidget* webwidget) {