summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--views/controls/combobox/native_combobox_views.cc5
-rw-r--r--views/controls/combobox/native_combobox_views.h1
-rw-r--r--views/controls/menu/submenu_view.cc2
3 files changed, 6 insertions, 2 deletions
diff --git a/views/controls/combobox/native_combobox_views.cc b/views/controls/combobox/native_combobox_views.cc
index fb16d84..624947b 100644
--- a/views/controls/combobox/native_combobox_views.cc
+++ b/views/controls/combobox/native_combobox_views.cc
@@ -18,6 +18,7 @@
#include "views/border.h"
#include "views/controls/combobox/combobox.h"
#include "views/controls/focusable_border.h"
+#include "views/controls/menu/submenu_view.h"
#include "views/widget/root_view.h"
#include "views/window/window.h"
@@ -365,6 +366,10 @@ void NativeComboboxViews::ShowDropDownMenu() {
if (!dropdown_list_menu_.get())
UpdateFromModel();
+ // Extend the menu to the width of the combobox.
+ SubmenuView* submenu = dropdown_list_menu_->CreateSubmenu();
+ submenu->set_minimum_preferred_width(size().width());
+
gfx::Rect lb = GetLocalBounds();
gfx::Point menu_position(lb.origin());
View::ConvertPointToScreen(this, &menu_position);
diff --git a/views/controls/combobox/native_combobox_views.h b/views/controls/combobox/native_combobox_views.h
index 3a19ab8..114837c 100644
--- a/views/controls/combobox/native_combobox_views.h
+++ b/views/controls/combobox/native_combobox_views.h
@@ -18,7 +18,6 @@ class Font;
namespace views {
class KeyEvent;
-class Menu2;
class FocusableBorder;
// A views/skia only implementation of NativeComboboxWrapper.
diff --git a/views/controls/menu/submenu_view.cc b/views/controls/menu/submenu_view.cc
index 1f568e6..57ab1e3 100644
--- a/views/controls/menu/submenu_view.cc
+++ b/views/controls/menu/submenu_view.cc
@@ -126,7 +126,7 @@ gfx::Size SubmenuView::GetPreferredSize() {
gfx::Insets insets = GetInsets();
return gfx::Size(
std::max(max_width + max_accelerator_width_ + insets.width(),
- minimum_preferred_width_),
+ minimum_preferred_width_ - 2 * kSubmenuBorderSize),
height + insets.height());
}