summaryrefslogtreecommitdiffstats
path: root/content/browser
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 22:26:17 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 22:26:17 +0000
commit042a9ba005ce55ed84feacdc32339a69c9e833b3 (patch)
tree5823b35b38478613b87e0f0ab427b758ab3dbfb3 /content/browser
parent147a3441b46aa6734dc6dc861f36f0ff05ff3888 (diff)
downloadchromium_src-042a9ba005ce55ed84feacdc32339a69c9e833b3.zip
chromium_src-042a9ba005ce55ed84feacdc32339a69c9e833b3.tar.gz
chromium_src-042a9ba005ce55ed84feacdc32339a69c9e833b3.tar.bz2
Consider the popup window position when the window shows upward. This patch depends on WebKit patch. https://bugs.webkit.org/show_bug.cgi?id=51382
BUG=60427 TEST= 1. Open attached file 2. Make sure: 2a) the input is at bottom and window is maximized to make sure the popup appears over the input box 2b) you have more than 1 item to autofill 3. Start typing to filter the results 4. Listbox appears at top; after filtering items - it repositions itself so that there's no empty space between the list and input. Review URL: http://codereview.chromium.org/6024008 Patch from Takano Naoki <Takano.Naoki@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78102 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r--content/browser/renderer_host/render_widget_host.cc2
-rw-r--r--content/browser/renderer_host/render_widget_host_view.h4
-rw-r--r--content/browser/renderer_host/test_render_view_host.h1
3 files changed, 6 insertions, 1 deletions
diff --git a/content/browser/renderer_host/render_widget_host.cc b/content/browser/renderer_host/render_widget_host.cc
index 953aa76..ae3e0d1 100644
--- a/content/browser/renderer_host/render_widget_host.cc
+++ b/content/browser/renderer_host/render_widget_host.cc
@@ -800,7 +800,7 @@ void RenderWidgetHost::OnMsgClose() {
void RenderWidgetHost::OnMsgRequestMove(const gfx::Rect& pos) {
// Note that we ignore the position.
if (view_) {
- view_->SetSize(pos.size());
+ view_->SetBounds(pos);
Send(new ViewMsg_Move_ACK(routing_id_));
}
}
diff --git a/content/browser/renderer_host/render_widget_host_view.h b/content/browser/renderer_host/render_widget_host_view.h
index fa0d39a..d103280 100644
--- a/content/browser/renderer_host/render_widget_host_view.h
+++ b/content/browser/renderer_host/render_widget_host_view.h
@@ -96,6 +96,10 @@ class RenderWidgetHostView {
// Tells the View to size itself to the specified size.
virtual void SetSize(const gfx::Size& size) = 0;
+ // Tells the View to size and move itself to the specified size and point in
+ // screen space.
+ virtual void SetBounds(const gfx::Rect& rect) = 0;
+
// Retrieves the native view used to contain plugins and identify the
// renderer in IPC messages.
virtual gfx::NativeView GetNativeView() = 0;
diff --git a/content/browser/renderer_host/test_render_view_host.h b/content/browser/renderer_host/test_render_view_host.h
index 4f0eef5..cce4a27 100644
--- a/content/browser/renderer_host/test_render_view_host.h
+++ b/content/browser/renderer_host/test_render_view_host.h
@@ -58,6 +58,7 @@ class TestRenderWidgetHostView : public RenderWidgetHostView {
virtual void DidBecomeSelected() {}
virtual void WasHidden() {}
virtual void SetSize(const gfx::Size& size) {}
+ virtual void SetBounds(const gfx::Rect& rect) {}
virtual gfx::NativeView GetNativeView();
virtual void MovePluginWindows(
const std::vector<webkit::npapi::WebPluginGeometry>& moves) {}