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

Unified Diff: chrome/browser/ui/views/website_settings/permission_selector_row.h

Issue 2725783004: views: align columns in site settings dialog (Closed)
Patch Set: fixes Created 3 years, 9 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
« no previous file with comments | « no previous file | chrome/browser/ui/views/website_settings/permission_selector_row.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/website_settings/permission_selector_row.h
diff --git a/chrome/browser/ui/views/website_settings/permission_selector_row.h b/chrome/browser/ui/views/website_settings/permission_selector_row.h
index 28310c39feca93582f9dc6f9e09b8f8ee3889036..51a9b628645660e0eb8347abcbe8f3a0ce34f61e 100644
--- a/chrome/browser/ui/views/website_settings/permission_selector_row.h
+++ b/chrome/browser/ui/views/website_settings/permission_selector_row.h
@@ -10,14 +10,12 @@
#include "base/compiler_specific.h"
#include "base/macros.h"
#include "base/observer_list.h"
-#include "base/strings/string16.h"
#include "chrome/browser/ui/views/website_settings/permission_selector_row_observer.h"
#include "chrome/browser/ui/website_settings/permission_menu_model.h"
#include "chrome/browser/ui/website_settings/website_settings_ui.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "ui/views/controls/button/menu_button_listener.h"
-#include "ui/views/view.h"
class Profile;
@@ -27,30 +25,37 @@ class PermissionCombobox;
class PermissionMenuButton;
}
+namespace test {
+class WebsiteSettingsPopupViewTestApi;
+}
+
namespace views {
class GridLayout;
class ImageView;
+class Label;
+class View;
}
-// A PermissionSelectorRow is a row in the Page Info bubble that shows a
+// A |PermissionSelectorRow| is a row in the Page Info bubble that shows a
// permission that a site can have ambient access to, and allows the user to
-// control whether that access is granted.
-class PermissionSelectorRow : public views::View {
+// control whether that access is granted. A |PermissionSelectorRow| is not
+// itself a |View|, but creates some |View|s, which end up owned by the |View|
+// hierarchy.
+class PermissionSelectorRow {
public:
+ // The |PermissionSelectorRow|'s constituent views are added to |layout|.
PermissionSelectorRow(Profile* profile,
const GURL& url,
- const WebsiteSettingsUI::PermissionInfo& permission);
+ const WebsiteSettingsUI::PermissionInfo& permission,
+ views::GridLayout* layout);
+ virtual ~PermissionSelectorRow();
void AddObserver(PermissionSelectorRowObserver* observer);
void PermissionChanged(const WebsiteSettingsUI::PermissionInfo& permission);
- protected:
- // Overridden from views::View.
- void ChildPreferredSizeChanged(View* child) override;
-
private:
- ~PermissionSelectorRow() override;
+ friend class test::WebsiteSettingsPopupViewTestApi;
void InitializeMenuButtonView(
views::GridLayout* layout,
@@ -59,15 +64,21 @@ class PermissionSelectorRow : public views::View {
views::GridLayout* layout,
const WebsiteSettingsUI::PermissionInfo& permission);
+ // Returns the "button" for this row, which is the control used to change the
+ // permission's value. This is either a |MenuButton| or a |Combobox|.
+ views::View* button();
+
Profile* profile_;
// Model for the permission's menu.
std::unique_ptr<PermissionMenuModel> menu_model_;
std::unique_ptr<internal::ComboboxModelAdapter> combobox_model_adapter_;
- views::ImageView* icon_; // Owned by the views hierachy.
- internal::PermissionMenuButton* menu_button_; // Owned by the views hierachy.
- internal::PermissionCombobox* combobox_; // Owned by the views hierarchy.
+ // These are all owned by the views hierarchy:
+ views::ImageView* icon_;
+ views::Label* label_;
+ internal::PermissionMenuButton* menu_button_;
+ internal::PermissionCombobox* combobox_;
base::ObserverList<PermissionSelectorRowObserver, false> observer_list_;
« no previous file with comments | « no previous file | chrome/browser/ui/views/website_settings/permission_selector_row.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698