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

Unified Diff: chrome/browser/ui/views/website_settings/permission_selector_view.cc

Issue 2069733002: MD - Use real comboboxes in website settings popup. Hide borders (but (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add comment Created 4 years, 6 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/ui/views/website_settings/permission_selector_view.cc
diff --git a/chrome/browser/ui/views/website_settings/permission_selector_view.cc b/chrome/browser/ui/views/website_settings/permission_selector_view.cc
index c92249f8fd616127b9fbb27374c135a16880a884..dcce70b71d2cd91f41b6ef74c6b41417fcab7345 100644
--- a/chrome/browser/ui/views/website_settings/permission_selector_view.cc
+++ b/chrome/browser/ui/views/website_settings/permission_selector_view.cc
@@ -13,6 +13,7 @@
#include "chrome/grit/generated_resources.h"
#include "ui/accessibility/ax_view_state.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/material_design/material_design_controller.h"
#include "ui/base/models/combobox_model.h"
#include "ui/gfx/image/image.h"
#include "ui/views/controls/button/menu_button.h"
@@ -180,6 +181,9 @@ class PermissionCombobox : public views::Combobox,
void UpdateSelectedIndex(bool use_default);
private:
+ // views::Combobox:
+ void OnPaintBorder(gfx::Canvas* canvas) override;
+
// views::ComboboxListener:
void OnPerformAction(Combobox* combobox) override;
@@ -194,6 +198,10 @@ PermissionCombobox::PermissionCombobox(const base::string16& text,
set_listener(this);
SetEnabled(enabled);
UpdateSelectedIndex(use_default);
+ if (ui::MaterialDesignController::IsSecondaryUiMaterial()) {
+ set_size_to_largest_label(false);
+ ModelChanged();
+ }
}
PermissionCombobox::~PermissionCombobox() {}
@@ -205,6 +213,13 @@ void PermissionCombobox::UpdateSelectedIndex(bool use_default) {
SetSelectedIndex(index);
}
+void PermissionCombobox::OnPaintBorder(gfx::Canvas* canvas) {
+ // No border except a focus indicator for MD mode.
+ if (ui::MaterialDesignController::IsSecondaryUiMaterial() && !HasFocus())
+ return;
+ Combobox::OnPaintBorder(canvas);
+}
+
void PermissionCombobox::OnPerformAction(Combobox* combobox) {
model_->OnPerformAction(combobox->selected_index());
}
@@ -268,12 +283,18 @@ PermissionSelectorView::PermissionSelectorView(
permission,
base::Bind(&PermissionSelectorView::PermissionChanged,
base::Unretained(this))));
+
// Create the permission menu button.
#if defined(OS_MACOSX)
- InitializeComboboxView(layout, permission);
+ bool use_real_combobox = true;
#else
- InitializeMenuButtonView(layout, permission);
+ bool use_real_combobox =
+ ui::MaterialDesignController::IsSecondaryUiMaterial();
#endif
+ if (use_real_combobox)
+ InitializeComboboxView(layout, permission);
+ else
+ InitializeMenuButtonView(layout, permission);
}
void PermissionSelectorView::AddObserver(

Powered by Google App Engine
This is Rietveld 408576698