Commit c9020661 authored by Wei Li's avatar Wei Li Committed by Commit Bot

Add builder and metadata to HomeButton

Allow builder and metadata access to HomeButton class.

Bug: 1130078
Change-Id: Idbe96f4888b9fb77406efbafbe2d04110f7ea8f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2450848
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: default avatarPeter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816826}
parent 05d51a4c
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "ui/views/bubble/bubble_dialog_delegate_view.h" #include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/controls/styled_label.h" #include "ui/views/controls/styled_label.h"
#include "ui/views/layout/fill_layout.h" #include "ui/views/layout/fill_layout.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
// HomePageUndoBubble -------------------------------------------------------- // HomePageUndoBubble --------------------------------------------------------
...@@ -88,6 +89,7 @@ HomePageUndoBubble::HomePageUndoBubble( ...@@ -88,6 +89,7 @@ HomePageUndoBubble::HomePageUndoBubble(
browser_(browser), browser_(browser),
undo_value_is_ntp_(undo_value_is_ntp), undo_value_is_ntp_(undo_value_is_ntp),
undo_url_(undo_url) { undo_url_(undo_url) {
DCHECK(browser_);
SetButtons(ui::DIALOG_BUTTON_NONE); SetButtons(ui::DIALOG_BUTTON_NONE);
set_margins( set_margins(
ChromeLayoutProvider::Get()->GetInsetsMetric(views::INSETS_DIALOG)); ChromeLayoutProvider::Get()->GetInsetsMetric(views::INSETS_DIALOG));
...@@ -155,10 +157,6 @@ HomeButton::HomeButton(PressedCallback callback, Browser* browser) ...@@ -155,10 +157,6 @@ HomeButton::HomeButton(PressedCallback callback, Browser* browser)
HomeButton::~HomeButton() { HomeButton::~HomeButton() {
} }
const char* HomeButton::GetClassName() const {
return "HomeButton";
}
bool HomeButton::GetDropFormats( bool HomeButton::GetDropFormats(
int* formats, int* formats,
std::set<ui::ClipboardFormatType>* format_types) { std::set<ui::ClipboardFormatType>* format_types) {
...@@ -175,6 +173,9 @@ int HomeButton::OnDragUpdated(const ui::DropTargetEvent& event) { ...@@ -175,6 +173,9 @@ int HomeButton::OnDragUpdated(const ui::DropTargetEvent& event) {
} }
int HomeButton::OnPerformDrop(const ui::DropTargetEvent& event) { int HomeButton::OnPerformDrop(const ui::DropTargetEvent& event) {
if (!browser_)
return ui::DragDropTypes::DRAG_NONE;
GURL new_homepage_url; GURL new_homepage_url;
base::string16 title; base::string16 title;
if (event.data().GetURLAndTitle(ui::FilenameToURLPolicy::CONVERT_FILENAMES, if (event.data().GetURLAndTitle(ui::FilenameToURLPolicy::CONVERT_FILENAMES,
...@@ -198,3 +199,6 @@ void HomeButton::UpdateIcon() { ...@@ -198,3 +199,6 @@ void HomeButton::UpdateIcon() {
: kNavigateHomeIcon; : kNavigateHomeIcon;
UpdateIconsWithStandardColors(home_image); UpdateIconsWithStandardColors(home_image);
} }
BEGIN_METADATA(HomeButton, ToolbarButton)
END_METADATA
...@@ -7,18 +7,22 @@ ...@@ -7,18 +7,22 @@
#include "base/compiler_specific.h" #include "base/compiler_specific.h"
#include "chrome/browser/ui/views/toolbar/toolbar_button.h" #include "chrome/browser/ui/views/toolbar/toolbar_button.h"
#include "ui/views/metadata/metadata_header_macros.h"
#include "ui/views/metadata/view_factory.h"
class Browser; class Browser;
class HomeButton : public ToolbarButton { class HomeButton : public ToolbarButton {
public: public:
HomeButton(PressedCallback callback, Browser* browser); METADATA_HEADER(HomeButton);
explicit HomeButton(PressedCallback callback = PressedCallback(),
Browser* browser = nullptr);
HomeButton(const HomeButton&) = delete; HomeButton(const HomeButton&) = delete;
HomeButton& operator=(const HomeButton&) = delete; HomeButton& operator=(const HomeButton&) = delete;
~HomeButton() override; ~HomeButton() override;
// ToolbarButton: // ToolbarButton:
const char* GetClassName() const override;
bool GetDropFormats(int* formats, bool GetDropFormats(int* formats,
std::set<ui::ClipboardFormatType>* format_types) override; std::set<ui::ClipboardFormatType>* format_types) override;
bool CanDrop(const OSExchangeData& data) override; bool CanDrop(const OSExchangeData& data) override;
...@@ -30,4 +34,7 @@ class HomeButton : public ToolbarButton { ...@@ -30,4 +34,7 @@ class HomeButton : public ToolbarButton {
Browser* const browser_; Browser* const browser_;
}; };
BEGIN_VIEW_BUILDER(/* no export */, HomeButton, ToolbarButton)
END_VIEW_BUILDER(/* no export */, HomeButton)
#endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_HOME_BUTTON_H_ #endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_HOME_BUTTON_H_
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