| Index: components/bookmarks/browser/bookmark_utils.cc
|
| diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmarks/browser/bookmark_utils.cc
|
| index 304d2befbd07d5b36d3286e8b1e24010a393f884..3f0b1bf040756e2295513b3b74a374da78155aa3 100644
|
| --- a/components/bookmarks/browser/bookmark_utils.cc
|
| +++ b/components/bookmarks/browser/bookmark_utils.cc
|
| @@ -194,7 +194,8 @@ void PasteFromClipboard(BookmarkModel* model,
|
| if (!parent)
|
| return;
|
|
|
| - BookmarkNodeData bookmark_data;
|
| + if (BookmarkNodeData::ClipboardContainsBookmarks()) {
|
| + BookmarkNodeData bookmark_data;
|
| if (!bookmark_data.ReadFromClipboard(ui::CLIPBOARD_TYPE_COPY_PASTE))
|
| return;
|
|
|
| @@ -202,12 +203,21 @@ void PasteFromClipboard(BookmarkModel* model,
|
| index = parent->child_count();
|
| ScopedGroupBookmarkActions group_paste(model);
|
| CloneBookmarkNode(model, bookmark_data.elements, parent, index, true);
|
| + }
|
| + if (BookmarkNodeData::ClipboardContainsUrls()) {
|
| + base::string16 url_text;
|
| + ui::Clipboard::GetForCurrentThread()->ReadText(
|
| + ui::CLIPBOARD_TYPE_COPY_PASTE, &url_text);
|
| + GURL url(url_text);
|
| + model->AddURL(parent, index, url_text, url);
|
| + }
|
| }
|
|
|
| bool CanPasteFromClipboard(BookmarkModel* model, const BookmarkNode* node) {
|
| if (!node || !model->client()->CanBeEditedByUser(node))
|
| return false;
|
| - return BookmarkNodeData::ClipboardContainsBookmarks();
|
| + return BookmarkNodeData::ClipboardContainsBookmarks() ||
|
| + BookmarkNodeData::ClipboardContainsUrls();
|
| }
|
|
|
| std::vector<const BookmarkNode*> GetMostRecentlyModifiedUserFolders(
|
|
|