Popular sites on the NTP: Try to keep the ordering constant
[chromium-blink-merge.git] / components / bookmarks / browser / bookmark_pasteboard_helper_mac.h
blobc0434185356ed9216ea545cadd2494bec4365bed
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_PASTEBOARD_HELPER_MAC_H_
6 #define COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_PASTEBOARD_HELPER_MAC_H_
8 #include "components/bookmarks/browser/bookmark_node_data.h"
10 #if defined(__OBJC__)
11 @class NSString;
12 #endif // __OBJC__
14 namespace base {
15 class FilePath;
18 namespace bookmarks {
20 // This set of functions lets C++ code interact with the cocoa pasteboard and
21 // dragging methods.
23 // Writes a set of bookmark elements from a profile to the specified pasteboard.
24 void WriteBookmarksToPasteboard(
25 ui::ClipboardType type,
26 const std::vector<BookmarkNodeData::Element>& elements,
27 const base::FilePath& profile_path);
29 // Reads a set of bookmark elements from the specified pasteboard.
30 bool ReadBookmarksFromPasteboard(
31 ui::ClipboardType type,
32 std::vector<BookmarkNodeData::Element>& elements,
33 base::FilePath* profile_path);
35 // Returns true if the specified pasteboard contains any sort of bookmark
36 // elements. It currently does not consider a plaintext url a valid bookmark.
37 bool PasteboardContainsBookmarks(ui::ClipboardType type);
39 } // namespace bookmarks
41 #if defined(__OBJC__)
42 // Pasteboard type for dictionary containing bookmark structure consisting
43 // of individual bookmark nodes and/or bookmark folders.
44 extern "C" NSString* const kBookmarkDictionaryListPboardType;
45 #endif // __OBJC__
47 #endif // COMPONENTS_BOOKMARKS_BROWSER_BOOKMARK_PASTEBOARD_HELPER_MAC_H_