Commit a7c81b03 authored by Peter Kasting's avatar Peter Kasting Committed by Chromium LUCI CQ

Add metadata for various View subclasses that lack it, 1/n

Bug: 1159562
Change-Id: I59929dd816008c69bd82930e6834529218fde15d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2644705
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: default avatarAllen Bauer <kylixrd@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#846385}
parent 2966f7dc
......@@ -8,13 +8,13 @@
#include <memory>
#include <vector>
#include "base/macros.h"
#include "base/optional.h"
#include "chrome/browser/ui/autofill/autofill_popup_view.h"
#include "chrome/browser/ui/views/autofill/autofill_popup_base_view.h"
#include "ui/accessibility/ax_action_data.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/font_list.h"
#include "ui/views/metadata/metadata_header_macros.h"
namespace views {
class BoxLayout;
......@@ -30,8 +30,11 @@ class AutofillPopupViewNativeViews;
// separators.
class AutofillPopupRowView : public views::View {
public:
METADATA_HEADER(AutofillPopupRowView);
AutofillPopupRowView(const AutofillPopupRowView&) = delete;
AutofillPopupRowView& operator=(const AutofillPopupRowView&) = delete;
~AutofillPopupRowView() override = default;
void SetSelected(bool is_selected);
void SetSelected(bool selected);
// views::View:
bool HandleAccessibleAction(const ui::AXActionData& action_data) override;
......@@ -52,8 +55,8 @@ class AutofillPopupRowView : public views::View {
void Init();
AutofillPopupViewNativeViews* popup_view() { return popup_view_; }
int line_number() const { return line_number_; }
bool is_selected() const { return is_selected_; }
int GetLineNumber() const;
bool GetSelected() const;
virtual void CreateContent() = 0;
virtual void RefreshStyle() = 0;
......@@ -62,9 +65,7 @@ class AutofillPopupRowView : public views::View {
private:
AutofillPopupViewNativeViews* popup_view_;
const int line_number_;
bool is_selected_ = false;
DISALLOW_COPY_AND_ASSIGN(AutofillPopupRowView);
bool selected_ = false;
};
// Views implementation for the autofill and password suggestion.
......@@ -72,8 +73,12 @@ class AutofillPopupRowView : public views::View {
class AutofillPopupViewNativeViews : public AutofillPopupBaseView,
public AutofillPopupView {
public:
METADATA_HEADER(AutofillPopupViewNativeViews);
AutofillPopupViewNativeViews(AutofillPopupController* controller,
views::Widget* parent_widget);
AutofillPopupViewNativeViews(const AutofillPopupViewNativeViews&) = delete;
AutofillPopupViewNativeViews& operator=(const AutofillPopupViewNativeViews&) =
delete;
~AutofillPopupViewNativeViews() override;
const std::vector<AutofillPopupRowView*>& GetRowsForTesting() {
......@@ -118,8 +123,6 @@ class AutofillPopupViewNativeViews : public AutofillPopupBaseView,
views::ScrollView* scroll_view_ = nullptr;
views::View* body_container_ = nullptr;
views::View* footer_container_ = nullptr;
DISALLOW_COPY_AND_ASSIGN(AutofillPopupViewNativeViews);
};
} // namespace autofill
......
......@@ -48,6 +48,8 @@
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/layout/grid_layout.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/widget/widget.h"
namespace {
......@@ -171,6 +173,7 @@ bool CookiesTreeViewDrawingProvider::ShouldDrawIconForNode(
// A custom view that conditionally displays an infobar.
class InfobarView : public views::View {
public:
METADATA_HEADER(InfobarView);
InfobarView() {
info_image_ = AddChildView(std::make_unique<views::ImageView>());
info_image_->SetImage(gfx::CreateVectorIcon(vector_icons::kInfoOutlineIcon,
......@@ -196,7 +199,9 @@ class InfobarView : public views::View {
horizontal_spacing));
SetVisible(false);
}
~InfobarView() override {}
InfobarView(const InfobarView&) = delete;
InfobarView& operator=(const InfobarView&) = delete;
~InfobarView() override = default;
// Set the InfobarView label text based on content |setting| and
// |domain_name|. Ensure InfobarView is visible.
......@@ -230,10 +235,11 @@ class InfobarView : public views::View {
views::ImageView* info_image_;
// The label responsible for rendering the text.
views::Label* label_;
DISALLOW_COPY_AND_ASSIGN(InfobarView);
};
BEGIN_METADATA(InfobarView, views::View)
END_METADATA
///////////////////////////////////////////////////////////////////////////////
// CollectedCookiesViews, public:
......
......@@ -31,6 +31,7 @@
#include "ui/views/controls/throbber.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/widget/widget.h"
DeviceChooserContentView::DeviceChooserContentView(
......@@ -379,3 +380,7 @@ views::Throbber* DeviceChooserContentView::ThrobberForTesting() {
views::Label* DeviceChooserContentView::ThrobberLabelForTesting() {
return throbber_label_;
}
BEGIN_METADATA(DeviceChooserContentView, views::View)
ADD_READONLY_PROPERTY_METADATA(base::string16, WindowTitle)
END_METADATA
......@@ -7,11 +7,11 @@
#include <memory>
#include "base/macros.h"
#include "base/strings/string16.h"
#include "chrome/browser/chooser_controller/chooser_controller.h"
#include "ui/base/models/table_model.h"
#include "ui/gfx/range/range.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/view.h"
namespace views {
......@@ -29,9 +29,12 @@ class DeviceChooserContentView : public views::View,
public ui::TableModel,
public ChooserController::View {
public:
METADATA_HEADER(DeviceChooserContentView);
DeviceChooserContentView(
views::TableViewObserver* table_view_observer,
std::unique_ptr<ChooserController> chooser_controller);
DeviceChooserContentView(const DeviceChooserContentView&) = delete;
DeviceChooserContentView& operator=(const DeviceChooserContentView&) = delete;
~DeviceChooserContentView() override;
// views::View:
......@@ -91,8 +94,6 @@ class DeviceChooserContentView : public views::View,
bool is_initialized_ = false;
base::CallbackListSubscription select_all_subscription_;
DISALLOW_COPY_AND_ASSIGN(DeviceChooserContentView);
};
#endif // CHROME_BROWSER_UI_VIEWS_DEVICE_CHOOSER_CONTENT_VIEW_H_
......@@ -199,6 +199,8 @@
#include "ui/views/controls/webview/webview.h"
#include "ui/views/focus/external_focus_tracker.h"
#include "ui/views/layout/grid_layout.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/native_widget.h"
#include "ui/views/widget/root_view.h"
......@@ -348,6 +350,7 @@ bool IsShowingWebContentsModalDialog(content::WebContents* web_contents) {
// immersive fullscreen reveal).
class TopContainerOverlayView : public views::View {
public:
METADATA_HEADER(TopContainerOverlayView);
explicit TopContainerOverlayView(base::WeakPtr<BrowserView> browser_view)
: browser_view_(std::move(browser_view)) {}
~TopContainerOverlayView() override = default;
......@@ -370,6 +373,9 @@ class TopContainerOverlayView : public views::View {
base::WeakPtr<BrowserView> browser_view_;
};
BEGIN_METADATA(TopContainerOverlayView, views::View)
END_METADATA
// A view targeter for the overlay view, which makes sure the overlay view
// itself is never a target for events, but its children (i.e. top_container)
// may be.
......@@ -394,6 +400,9 @@ class OverlayViewTargeterDelegate : public views::ViewTargeterDelegate {
};
class ContentsSeparator : public views::Separator {
public:
METADATA_HEADER(ContentsSeparator);
private:
// views::View:
void OnThemeChanged() override {
......@@ -411,6 +420,9 @@ class ContentsSeparator : public views::Separator {
}
};
BEGIN_METADATA(ContentsSeparator, views::Separator)
END_METADATA
bool ShouldShowWindowIcon(const Browser* browser) {
#if BUILDFLAG(IS_CHROMEOS_ASH)
// For Chrome OS only, trusted windows (apps and settings) do not show a
......
......@@ -24,6 +24,8 @@
#include "ui/views/controls/label.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/grid_layout.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/widget/widget.h"
namespace {
......@@ -39,6 +41,7 @@ constexpr int kPasswordGenerationMaxWidth = 480;
class PasswordGenerationPopupViewViews::GeneratedPasswordBox
: public views::View {
public:
METADATA_HEADER(GeneratedPasswordBox);
GeneratedPasswordBox() = default;
~GeneratedPasswordBox() override = default;
......@@ -155,6 +158,11 @@ void PasswordGenerationPopupViewViews::GeneratedPasswordBox::BuildColumnSet(
views::GridLayout::ColumnSize::kUsePreferred, 0, 0);
}
BEGIN_NESTED_METADATA(PasswordGenerationPopupViewViews,
GeneratedPasswordBox,
views::View)
END_METADATA
PasswordGenerationPopupViewViews::PasswordGenerationPopupViewViews(
PasswordGenerationPopupController* controller,
views::Widget* parent_widget)
......
......@@ -18,6 +18,8 @@
#include "ui/views/bubble/bubble_border.h"
#include "ui/views/controls/label.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/style/typography.h"
#include "ui/views/widget/widget.h"
......@@ -52,13 +54,16 @@ const char kKeyNameDelimiter[] = "|";
// key (not just a simple label).
class SubtleNotificationView::InstructionView : public views::View {
public:
METADATA_HEADER(InstructionView);
// Creates an InstructionView with specific text. |text| may contain one or
// more segments delimited by a pair of pipes ('|'); each of these segments
// will be displayed as a keyboard key. e.g., "Press |Alt|+|Q| to exit" will
// have "Alt" and "Q" rendered as keys.
explicit InstructionView(const base::string16& text);
InstructionView(const InstructionView&) = delete;
InstructionView& operator=(const InstructionView&) = delete;
const base::string16 text() const { return text_; }
base::string16 GetText() const;
void SetText(const base::string16& text);
private:
......@@ -68,8 +73,6 @@ class SubtleNotificationView::InstructionView : public views::View {
void AddTextSegment(const base::string16& text, bool format_as_key);
base::string16 text_;
DISALLOW_COPY_AND_ASSIGN(InstructionView);
};
SubtleNotificationView::InstructionView::InstructionView(
......@@ -82,6 +85,10 @@ SubtleNotificationView::InstructionView::InstructionView(
SetText(text);
}
base::string16 SubtleNotificationView::InstructionView::GetText() const {
return text_;
}
void SubtleNotificationView::InstructionView::SetText(
const base::string16& text) {
// Avoid replacing the contents with the same text.
......@@ -139,6 +146,10 @@ void SubtleNotificationView::InstructionView::AddTextSegment(
AddChildView(key);
}
BEGIN_NESTED_METADATA(SubtleNotificationView, InstructionView, views::View)
ADD_PROPERTY_METADATA(base::string16, Text)
END_METADATA
SubtleNotificationView::SubtleNotificationView() : instruction_view_(nullptr) {
std::unique_ptr<views::BubbleBorder> bubble_border(new views::BubbleBorder(
views::BubbleBorder::NONE, views::BubbleBorder::NO_SHADOW,
......@@ -193,7 +204,10 @@ views::Widget* SubtleNotificationView::CreatePopupWidget(
void SubtleNotificationView::GetAccessibleNodeData(ui::AXNodeData* node_data) {
node_data->role = ax::mojom::Role::kAlert;
base::string16 accessible_name;
base::RemoveChars(instruction_view_->text(),
base::RemoveChars(instruction_view_->GetText(),
base::ASCIIToUTF16(kKeyNameDelimiter), &accessible_name);
node_data->SetName(accessible_name);
}
BEGIN_METADATA(SubtleNotificationView, views::View)
END_METADATA
......@@ -7,9 +7,9 @@
#include <memory>
#include "base/macros.h"
#include "base/strings/string16.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/view.h"
namespace views {
......@@ -24,7 +24,10 @@ class Widget;
// rounded rectangle).
class SubtleNotificationView : public views::View {
public:
METADATA_HEADER(SubtleNotificationView);
SubtleNotificationView();
SubtleNotificationView(const SubtleNotificationView&) = delete;
SubtleNotificationView& operator=(const SubtleNotificationView&) = delete;
~SubtleNotificationView() override;
// Display the |instruction_text| to the user. If |instruction_text| is
......@@ -43,8 +46,6 @@ class SubtleNotificationView : public views::View {
// Text displayed in the bubble, with optional keyboard keys.
InstructionView* instruction_view_;
DISALLOW_COPY_AND_ASSIGN(SubtleNotificationView);
};
#endif // CHROME_BROWSER_UI_VIEWS_SUBTLE_NOTIFICATION_VIEW_H_
......@@ -29,6 +29,7 @@
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/layout/flex_layout_types.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/view_class_properties.h"
namespace {
......@@ -279,3 +280,7 @@ void ColorPickerView::OnColorSelected(ColorPickerElementView* element) {
if (callback_)
callback_.Run();
}
BEGIN_METADATA(ColorPickerView, views::View)
ADD_READONLY_PROPERTY_METADATA(base::Optional<int>, SelectedElement)
END_METADATA
......@@ -14,6 +14,7 @@
#include "chrome/browser/ui/views/tabs/tab_group_editor_bubble_view.h"
#include "components/tab_groups/tab_group_color.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/view.h"
namespace views {
......@@ -28,6 +29,8 @@ class ColorPickerElementView;
// selection is made.
class ColorPickerView : public views::View {
public:
METADATA_HEADER(ColorPickerView);
using ColorSelectedCallback = base::RepeatingCallback<void()>;
// |colors| should contain the color values and accessible names. There should
......
......@@ -67,6 +67,8 @@
#include "ui/views/layout/flex_layout.h"
#include "ui/views/layout/flex_layout_types.h"
#include "ui/views/layout/grid_layout.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/style/platform_style.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
......@@ -77,14 +79,17 @@ namespace {
// button changes a layout is required.
class AdvancedViewContainer : public views::View {
public:
METADATA_HEADER(AdvancedViewContainer);
AdvancedViewContainer() {}
AdvancedViewContainer(const AdvancedViewContainer&) = delete;
AdvancedViewContainer& operator=(const AdvancedViewContainer&) = delete;
void ChildPreferredSizeChanged(views::View* child) override { Layout(); }
private:
DISALLOW_COPY_AND_ASSIGN(AdvancedViewContainer);
};
BEGIN_METADATA(AdvancedViewContainer, views::View)
END_METADATA
bool UseGoogleTranslateBranding() {
// Only use Google Translate branding in Chrome branded builds.
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
......
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