summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/bookmark_utils_gtk.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-17 00:17:56 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-17 00:17:56 +0000
commitcd6966178e34f1b71bdb36bb6f1b4cc39e103297 (patch)
tree44fb525549c7bee0fb145fccd4179d88a9d22785 /chrome/browser/gtk/bookmark_utils_gtk.cc
parent0195ac6a92a2348df849d367e4ec229af3f168e5 (diff)
downloadchromium_src-cd6966178e34f1b71bdb36bb6f1b4cc39e103297.zip
chromium_src-cd6966178e34f1b71bdb36bb6f1b4cc39e103297.tar.gz
chromium_src-cd6966178e34f1b71bdb36bb6f1b4cc39e103297.tar.bz2
Allow dragging a link from the web contents to the bookmark bar to get a named bookmark.
Also, change the naming scheme of the DnD targets. BUG=16791 TEST=select a link in the web page and drag it to the bookmark bar. Review URL: http://codereview.chromium.org/155661 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20921 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/bookmark_utils_gtk.cc')
-rw-r--r--chrome/browser/gtk/bookmark_utils_gtk.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/chrome/browser/gtk/bookmark_utils_gtk.cc b/chrome/browser/gtk/bookmark_utils_gtk.cc
index b83553f..fa2a56e 100644
--- a/chrome/browser/gtk/bookmark_utils_gtk.cc
+++ b/chrome/browser/gtk/bookmark_utils_gtk.cc
@@ -192,7 +192,7 @@ void WriteBookmarksToSelection(const std::vector<const BookmarkNode*>& nodes,
guint target_type,
Profile* profile) {
switch (target_type) {
- case GtkDndUtil::X_CHROME_BOOKMARK_ITEM: {
+ case GtkDndUtil::CHROME_BOOKMARK_ITEM: {
BookmarkDragData data(nodes);
Pickle pickle;
data.WriteToPickle(profile, &pickle);
@@ -203,7 +203,7 @@ void WriteBookmarksToSelection(const std::vector<const BookmarkNode*>& nodes,
pickle.size());
break;
}
- case GtkDndUtil::X_CHROME_TEXT_URI_LIST: {
+ case GtkDndUtil::TEXT_URI_LIST: {
gchar** uris = reinterpret_cast<gchar**>(malloc(sizeof(gchar*) *
(nodes.size() + 1)));
for (size_t i = 0; i < nodes.size(); ++i) {
@@ -243,7 +243,7 @@ std::vector<const BookmarkNode*> GetNodesFromSelection(
}
switch (target_type) {
- case GtkDndUtil::X_CHROME_BOOKMARK_ITEM: {
+ case GtkDndUtil::CHROME_BOOKMARK_ITEM: {
*dnd_success = TRUE;
Pickle pickle(reinterpret_cast<char*>(selection_data->data),
selection_data->length);
@@ -260,4 +260,17 @@ std::vector<const BookmarkNode*> GetNodesFromSelection(
return std::vector<const BookmarkNode*>();
}
+bool CreateNewBookmarkFromNamedUrl(GtkSelectionData* selection_data,
+ BookmarkModel* model, const BookmarkNode* parent, int idx) {
+ Pickle data(reinterpret_cast<char*>(selection_data->data),
+ selection_data->length);
+ void* iter = NULL;
+ std::string title_utf8, url_utf8;
+ bool rv = data.ReadString(&iter, &title_utf8);
+ rv = rv && data.ReadString(&iter, &url_utf8);
+ if (rv)
+ model->AddURL(parent, idx, UTF8ToWide(title_utf8), GURL(url_utf8));
+ return rv;
+}
+
} // namespace bookmark_utils