Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4901)

Unified Diff: chrome/browser/ui/views/toolbar/home_button.cc

Issue 2322253004: Drag and dropping text, parsable as url (Closed)
Patch Set: Moving url logic out of os_exchange_data Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));

Powered by Google App Engine
This is Rietveld 408576698