Commit 43fb9f71 authored by Shengsong Tan's avatar Shengsong Tan Committed by Chromium LUCI CQ

Adding metadata to LocaleDetailed views.

This is part of the "Views Posse" effort. See this document:
https://docs.google.com/document/d/1Rst3792TjXtVA8k8GXaPD8MnuB1JAneSOpIILdA4268/edit?usp=sharing

Bug: 1159562
Test: build
Change-Id: I40255c5e8f4329fdf2fd7d2cb659890a0b9c308f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2599569
Commit-Queue: Shengsong Tan <sstan@google.com>
Reviewed-by: default avatarTetsui Ohkubo <tetsui@chromium.org>
Reviewed-by: default avatarAllen Bauer <kylixrd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#839048}
parent 442e8b81
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "ui/views/controls/label.h" #include "ui/views/controls/label.h"
#include "ui/views/controls/scroll_view.h" #include "ui/views/controls/scroll_view.h"
#include "ui/views/layout/fill_layout.h" #include "ui/views/layout/fill_layout.h"
#include "ui/views/metadata/metadata_impl_macros.h"
namespace ash { namespace ash {
...@@ -36,6 +37,8 @@ namespace { ...@@ -36,6 +37,8 @@ namespace {
// |checked| is true. // |checked| is true.
class LocaleItem : public ActionableView { class LocaleItem : public ActionableView {
public: public:
METADATA_HEADER(LocaleItem);
LocaleItem(tray::LocaleDetailedView* locale_detailed_view, LocaleItem(tray::LocaleDetailedView* locale_detailed_view,
const std::string& iso_code, const std::string& iso_code,
const base::string16& display_name, const base::string16& display_name,
...@@ -81,7 +84,8 @@ class LocaleItem : public ActionableView { ...@@ -81,7 +84,8 @@ class LocaleItem : public ActionableView {
} }
SetAccessibleName(display_name_view->GetText()); SetAccessibleName(display_name_view->GetText());
} }
LocaleItem(const LocaleItem&) = delete;
LocaleItem& operator=(const LocaleItem&) = delete;
~LocaleItem() override = default; ~LocaleItem() override = default;
// ActionableView: // ActionableView:
...@@ -96,8 +100,6 @@ class LocaleItem : public ActionableView { ...@@ -96,8 +100,6 @@ class LocaleItem : public ActionableView {
ScrollViewToVisible(); ScrollViewToVisible();
} }
const char* GetClassName() const override { return "LocaleItem"; }
void GetAccessibleNodeData(ui::AXNodeData* node_data) override { void GetAccessibleNodeData(ui::AXNodeData* node_data) override {
ActionableView::GetAccessibleNodeData(node_data); ActionableView::GetAccessibleNodeData(node_data);
node_data->role = ax::mojom::Role::kCheckBox; node_data->role = ax::mojom::Role::kCheckBox;
...@@ -108,10 +110,11 @@ class LocaleItem : public ActionableView { ...@@ -108,10 +110,11 @@ class LocaleItem : public ActionableView {
private: private:
tray::LocaleDetailedView* locale_detailed_view_; tray::LocaleDetailedView* locale_detailed_view_;
const bool checked_; const bool checked_;
DISALLOW_COPY_AND_ASSIGN(LocaleItem);
}; };
BEGIN_METADATA(LocaleItem, ActionableView)
END_METADATA
} // namespace } // namespace
namespace tray { namespace tray {
...@@ -155,9 +158,8 @@ void LocaleDetailedView::HandleViewClicked(views::View* view) { ...@@ -155,9 +158,8 @@ void LocaleDetailedView::HandleViewClicked(views::View* view) {
} }
} }
const char* LocaleDetailedView::GetClassName() const { BEGIN_METADATA(LocaleDetailedView, TrayDetailedView)
return "LocaleDetailedView"; END_METADATA
}
} // namespace tray } // namespace tray
} // namespace ash } // namespace ash
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "ash/system/tray/tray_detailed_view.h" #include "ash/system/tray/tray_detailed_view.h"
#include "base/containers/flat_map.h" #include "base/containers/flat_map.h"
#include "base/macros.h" #include "base/macros.h"
#include "ui/views/metadata/metadata_header_macros.h"
namespace ash { namespace ash {
namespace tray { namespace tray {
...@@ -17,22 +18,21 @@ namespace tray { ...@@ -17,22 +18,21 @@ namespace tray {
// The detailed view to show when the locale feature button is clicked. // The detailed view to show when the locale feature button is clicked.
class LocaleDetailedView : public TrayDetailedView { class LocaleDetailedView : public TrayDetailedView {
public: public:
METADATA_HEADER(LocaleDetailedView);
explicit LocaleDetailedView(DetailedViewDelegate* delegate); explicit LocaleDetailedView(DetailedViewDelegate* delegate);
LocaleDetailedView(const LocaleDetailedView&) = delete;
LocaleDetailedView& operator=(const LocaleDetailedView&) = delete;
~LocaleDetailedView() override; ~LocaleDetailedView() override;
// TrayDetailedView: // TrayDetailedView:
void HandleViewClicked(views::View* view) override; void HandleViewClicked(views::View* view) override;
// views::View:
const char* GetClassName() const override;
private: private:
void CreateItems(); void CreateItems();
// The map between the id of the view and the locale it corresponds to. // The map between the id of the view and the locale it corresponds to.
base::flat_map<int, std::string> id_to_locale_; base::flat_map<int, std::string> id_to_locale_;
DISALLOW_COPY_AND_ASSIGN(LocaleDetailedView);
}; };
} // namespace tray } // namespace tray
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment