Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2791)

Unified Diff: chrome/browser/renderer_host/render_widget_host_view_win.cc

Issue 6024008: Consider the popup window position when the window shows upward. This patch depends on WebKit patch. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Try mac and win. Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/renderer_host/render_widget_host_view_win.cc
diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.cc b/chrome/browser/renderer_host/render_widget_host_view_win.cc
index 1bf84216365e2f8e01ef4d9db8a082c84a98c022..d172ea40515144bba6eb87905ffd89d606b20f1e 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_win.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_win.cc
@@ -386,6 +386,29 @@ void RenderWidgetHostViewWin::SetSize(const gfx::Size& size) {
EnsureTooltip();
}
+void RenderWidgetHostViewWin::MoveTo(const gfx::Point& point) {
+ if (is_hidden_)
+ return;
+
+ // No SWP_NOREDRAW as autofill popups can move and the underneath window
+ // should redraw in that case.
+ UINT swp_flags = SWP_NOSENDCHANGING | SWP_NOOWNERZORDER | SWP_NOCOPYBITS |
+ SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_DEFERERASE;
+ CRect window_rect;
+ GetWindowRect(&window_rect);
+ int x = point.x() - window_rect.left;
+ int y = point.y() - window_rect.top;
+ SetWindowPos(NULL, x, y, window_rect.Width(), window_rect.Height(),
+ swp_flags);
+ if (compositor_host_window_) {
+ ::SetWindowPos(compositor_host_window_,
+ NULL,
+ x, y,
+ window_rect.Width(), window_rect.Height(),
+ SWP_NOSENDCHANGING | SWP_NOCOPYBITS | SWP_NOZORDER | SWP_NOACTIVATE);
+ }
+}
+
gfx::NativeView RenderWidgetHostViewWin::GetNativeView() {
return m_hWnd;
}

Powered by Google App Engine
This is Rietveld 408576698