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 @@
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/controls/styled_label.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/metadata/metadata_impl_macros.h"
#include "ui/views/widget/widget.h"
// HomePageUndoBubble --------------------------------------------------------
......@@ -88,6 +89,7 @@ HomePageUndoBubble::HomePageUndoBubble(
browser_(browser),
undo_value_is_ntp_(undo_value_is_ntp),
undo_url_(undo_url) {
DCHECK(browser_);
SetButtons(ui::DIALOG_BUTTON_NONE);
set_margins(
ChromeLayoutProvider::Get()->GetInsetsMetric(views::INSETS_DIALOG));
......@@ -155,10 +157,6 @@ HomeButton::HomeButton(PressedCallback callback, Browser* browser)
HomeButton::~HomeButton() {
}
const char* HomeButton::GetClassName() const {
return "HomeButton";
}
bool HomeButton::GetDropFormats(
int* formats,
std::set<ui::ClipboardFormatType>* format_types) {
......@@ -175,6 +173,9 @@ int HomeButton::OnDragUpdated(const ui::DropTargetEvent& event) {
}
int HomeButton::OnPerformDrop(const ui::DropTargetEvent& event) {
if (!browser_)
return ui::DragDropTypes::DRAG_NONE;
GURL new_homepage_url;
base::string16 title;
if (event.data().GetURLAndTitle(ui::FilenameToURLPolicy::CONVERT_FILENAMES,
......@@ -198,3 +199,6 @@ void HomeButton::UpdateIcon() {
: kNavigateHomeIcon;
UpdateIconsWithStandardColors(home_image);
}
BEGIN_METADATA(HomeButton, ToolbarButton)
END_METADATA
......@@ -7,18 +7,22 @@
#include "base/compiler_specific.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 HomeButton : public ToolbarButton {
public:
HomeButton(PressedCallback callback, Browser* browser);
METADATA_HEADER(HomeButton);
explicit HomeButton(PressedCallback callback = PressedCallback(),
Browser* browser = nullptr);
HomeButton(const HomeButton&) = delete;
HomeButton& operator=(const HomeButton&) = delete;
~HomeButton() override;
// ToolbarButton:
const char* GetClassName() const override;
bool GetDropFormats(int* formats,
std::set<ui::ClipboardFormatType>* format_types) override;
bool CanDrop(const OSExchangeData& data) override;
......@@ -30,4 +34,7 @@ class HomeButton : public ToolbarButton {
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_
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