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

Unified Diff: chrome/browser/autocomplete/autocomplete_popup_view_gtk.cc

Issue 1578021: Shift omnibox dropdown in and up on Windows, and square off the top, so it co... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 8 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/autocomplete/autocomplete_popup_view_gtk.cc
===================================================================
--- chrome/browser/autocomplete/autocomplete_popup_view_gtk.cc (revision 43969)
+++ chrome/browser/autocomplete/autocomplete_popup_view_gtk.cc (working copy)
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -18,7 +18,6 @@
#include "chrome/browser/autocomplete/autocomplete_edit.h"
#include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h"
#include "chrome/browser/autocomplete/autocomplete_popup_model.h"
-#include "chrome/browser/bubble_positioner.h"
#include "chrome/browser/defaults.h"
#include "chrome/browser/gtk/gtk_util.h"
#include "chrome/browser/profile.h"
@@ -187,10 +186,10 @@
AutocompleteEditView* edit_view,
AutocompleteEditModel* edit_model,
Profile* profile,
- const BubblePositioner* bubble_positioner)
+ const GtkWidget* location_bar)
: model_(new AutocompletePopupModel(this, edit_model, profile)),
edit_view_(edit_view),
- bubble_positioner_(bubble_positioner),
+ location_bar_(location_bar),
window_(gtk_window_new(GTK_WINDOW_POPUP)),
layout_(NULL),
opened_(false) {
@@ -286,12 +285,14 @@
}
void AutocompletePopupViewGtk::Show(size_t num_results) {
- gfx::Rect rect = bubble_positioner_->GetLocationStackBounds();
- rect.set_y(rect.bottom());
- rect.set_height((num_results * kHeightPerResult) + (kBorderThickness * 2));
-
- gtk_window_move(GTK_WINDOW(window_), rect.x(), rect.y());
- gtk_widget_set_size_request(window_, rect.width(), rect.height());
+ gint origin_x, origin_y;
Evan Stade 2010/04/08 22:01:21 nit: indentation
+ gdk_window_get_origin(location_bar_->window, &origin_x, &origin_y);
+ const GtkAllocation& allocation = location_bar_->allocation;
+ gtk_window_move(GTK_WINDOW(window_),
+ origin_x + allocation.x - kBorderThickness,
+ origin_y + allocation.y + allocation.height - kBorderThickness - 1);
+ gtk_widget_set_size_request(window_, allocation.width + (kBorderThickness * 2),
+ (num_results * kHeightPerResult) + (kBorderThickness * 2));
gtk_widget_show(window_);
StackWindow();
opened_ = true;
@@ -473,14 +474,3 @@
return TRUE;
}
-
-// static
-AutocompletePopupView* AutocompletePopupView::CreatePopupView(
- const gfx::Font& font,
- AutocompleteEditView* edit_view,
- AutocompleteEditModel* edit_model,
- Profile* profile,
- const BubblePositioner* bubble_positioner) {
- return new AutocompletePopupViewGtk(edit_view, edit_model, profile,
- bubble_positioner);
-}

Powered by Google App Engine
This is Rietveld 408576698