Chromium Code Reviews| Index: chrome/browser/ui/views/toolbar/home_button.cc |
| diff --git a/chrome/browser/ui/views/toolbar/home_button.cc b/chrome/browser/ui/views/toolbar/home_button.cc |
| index 2a2e682674f52ad1dc19991b879a03222c80a334..8c5624a473190369743b222c7f584719f2b318a6 100644 |
| --- a/chrome/browser/ui/views/toolbar/home_button.cc |
| +++ b/chrome/browser/ui/views/toolbar/home_button.cc |
| @@ -11,6 +11,7 @@ |
| #include "chrome/grit/generated_resources.h" |
| #include "components/prefs/pref_service.h" |
| #include "components/user_prefs/user_prefs.h" |
| +#include "ui/base/dragdrop/drag_and_drop_url_utils.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/views/bubble/bubble_dialog_delegate.h" |
| #include "ui/views/controls/label.h" |
| @@ -159,7 +160,7 @@ bool HomeButton::GetDropFormats( |
| } |
| bool HomeButton::CanDrop(const OSExchangeData& data) { |
| - return data.HasURL(ui::OSExchangeData::CONVERT_FILENAMES); |
| + return ui::CanBeInterpretedAsURL(data, ui::OSExchangeData::CONVERT_FILENAMES); |
|
dyaroshev
2016/09/14 17:12:05
Here we don't check for URL validity, but in OnPer
Peter Kasting
2016/09/15 21:26:53
I would suggest that:
* CanBeInterpretedAsURL() s
|
| } |
| int HomeButton::OnDragUpdated(const ui::DropTargetEvent& event) { |
| @@ -167,11 +168,13 @@ int HomeButton::OnDragUpdated(const ui::DropTargetEvent& event) { |
| } |
| int HomeButton::OnPerformDrop(const ui::DropTargetEvent& event) { |
| - GURL new_homepage_url; |
| - base::string16 title; |
| - if (event.data().GetURLAndTitle( |
| - ui::OSExchangeData::CONVERT_FILENAMES, &new_homepage_url, &title) && |
| - new_homepage_url.is_valid()) { |
| + auto url_and_title = ui::TryToInterpretAsURL( |
| + event.data(), ui::OSExchangeData::CONVERT_FILENAMES); |
| + if (!url_and_title) |
| + return ui::DragDropTypes::DRAG_NONE; |
| + |
| + GURL& new_homepage_url = url_and_title->first; |
| + if (new_homepage_url.is_valid()) { |
| PrefService* prefs = browser_->profile()->GetPrefs(); |
| bool old_is_ntp = prefs->GetBoolean(prefs::kHomePageIsNewTabPage); |
| GURL old_homepage(prefs->GetString(prefs::kHomePage)); |