Chromium Code Reviews| 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..84f4d209e4533a4b1fbfe457b6db81abc76cee9c 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)) |
|
sky
2014/08/13 16:48:35
Fix indentation here.
|
| return; |
| @@ -202,12 +203,23 @@ void PasteFromClipboard(BookmarkModel* model, |
| index = parent->child_count(); |
| ScopedGroupBookmarkActions group_paste(model); |
| CloneBookmarkNode(model, bookmark_data.elements, parent, index, true); |
| + } |
| + if (ui::Clipboard::GetForCurrentThread()->IsFormatAvailable( |
| + ui::Clipboard::GetUrlWFormatType(), ui::CLIPBOARD_TYPE_COPY_PASTE)) { |
|
sky
2014/08/13 16:48:34
I think this path should convert to a BookmarkNode
|
| + 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() || |
| + ui::Clipboard::GetForCurrentThread()->IsFormatAvailable( |
| + ui::Clipboard::GetUrlWFormatType(), ui::CLIPBOARD_TYPE_COPY_PASTE); |
| } |
| std::vector<const BookmarkNode*> GetMostRecentlyModifiedUserFolders( |