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

Side by Side Diff: chrome/browser/bookmarks/bookmark_manager_extension_api.h

Issue 11516010: Move BookmarkManagerAPI to c/b/e/api (Closed) Base URL: http://git.chromium.org/chromium/src.git@dc_ungoop4
Patch Set: Created 8 years 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 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.
4
5 #ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_MANAGER_EXTENSION_API_H_
6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_MANAGER_EXTENSION_API_H_
7
8 #include "base/values.h"
9 #include "chrome/browser/bookmarks/bookmark_node_data.h"
10 // TODO (rdevlin.cronin): Move BookmarkManagerAPI to
11 // chrome/browser/extensions/api/bookmark so these two aren't interdependent.
12 #include "chrome/browser/extensions/api/bookmarks/bookmark_api.h"
13 #include "chrome/browser/extensions/extension_function.h"
14 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
15
16 struct BookmarkNodeData;
17 class Profile;
18
19 namespace content {
20 class WebContents;
21 }
22
23 // Class that handles the chrome.bookmarkManagerPrivate events.
24 class BookmarkManagerExtensionEventRouter
25 : public BookmarkTabHelper::BookmarkDrag {
26 public:
27 BookmarkManagerExtensionEventRouter(Profile* profile,
28 content::WebContents* web_contents);
29 virtual ~BookmarkManagerExtensionEventRouter();
30
31 // BookmarkTabHelper::BookmarkDrag interface
32 virtual void OnDragEnter(const BookmarkNodeData& data) OVERRIDE;
33 virtual void OnDragOver(const BookmarkNodeData& data) OVERRIDE;
34 virtual void OnDragLeave(const BookmarkNodeData& data) OVERRIDE;
35 virtual void OnDrop(const BookmarkNodeData& data) OVERRIDE;
36
37 // The bookmark drag and drop data. This gets set after a drop was done on
38 // the page. This returns NULL if no data is available.
39 const BookmarkNodeData* GetBookmarkNodeData();
40
41 // Clears the drag and drop data.
42 void ClearBookmarkNodeData();
43
44 private:
45 // Helper to actually dispatch an event to extension listeners.
46 void DispatchEvent(const char* event_name,
47 scoped_ptr<base::ListValue> args);
48
49 void DispatchDragEvent(const BookmarkNodeData& data, const char* event_name);
50
51 Profile* profile_;
52 content::WebContents* web_contents_;
53 BookmarkNodeData bookmark_drag_data_;
54
55 DISALLOW_COPY_AND_ASSIGN(BookmarkManagerExtensionEventRouter);
56 };
57
58 class ClipboardBookmarkManagerFunction : public extensions::BookmarksFunction {
59 protected:
60 virtual ~ClipboardBookmarkManagerFunction() {}
61
62 bool CopyOrCut(bool cut);
63 };
64
65 class CopyBookmarkManagerFunction : public ClipboardBookmarkManagerFunction {
66 public:
67 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.copy");
68
69 protected:
70 virtual ~CopyBookmarkManagerFunction() {}
71
72 // ExtensionFunction:
73 virtual bool RunImpl() OVERRIDE;
74 };
75
76 class CutBookmarkManagerFunction : public ClipboardBookmarkManagerFunction {
77 public:
78 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.cut");
79
80 protected:
81 virtual ~CutBookmarkManagerFunction() {}
82
83 // ExtensionFunction:
84 virtual bool RunImpl() OVERRIDE;
85 };
86
87 class PasteBookmarkManagerFunction : public extensions::BookmarksFunction {
88 public:
89 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.paste");
90
91 protected:
92 virtual ~PasteBookmarkManagerFunction() {}
93
94 // ExtensionFunction:
95 virtual bool RunImpl() OVERRIDE;
96 };
97
98 class CanPasteBookmarkManagerFunction : public extensions::BookmarksFunction {
99 public:
100 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.canPaste");
101
102 protected:
103 virtual ~CanPasteBookmarkManagerFunction() {}
104
105 // ExtensionFunction:
106 virtual bool RunImpl() OVERRIDE;
107 };
108
109 class SortChildrenBookmarkManagerFunction
110 : public extensions::BookmarksFunction {
111 public:
112 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.sortChildren");
113
114 protected:
115 virtual ~SortChildrenBookmarkManagerFunction() {}
116
117 // ExtensionFunction:
118 virtual bool RunImpl() OVERRIDE;
119 };
120
121 class BookmarkManagerGetStringsFunction : public AsyncExtensionFunction {
122 public:
123 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.getStrings");
124
125 protected:
126 virtual ~BookmarkManagerGetStringsFunction() {}
127
128 // ExtensionFunction:
129 virtual bool RunImpl() OVERRIDE;
130 };
131
132 class StartDragBookmarkManagerFunction : public extensions::BookmarksFunction {
133 public:
134 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.startDrag");
135
136 protected:
137 virtual ~StartDragBookmarkManagerFunction() {}
138
139 // ExtensionFunction:
140 virtual bool RunImpl() OVERRIDE;
141 };
142
143 class DropBookmarkManagerFunction : public extensions::BookmarksFunction {
144 public:
145 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.drop");
146
147 protected:
148 virtual ~DropBookmarkManagerFunction() {}
149
150 // ExtensionFunction:
151 virtual bool RunImpl() OVERRIDE;
152 };
153
154 class GetSubtreeBookmarkManagerFunction : public extensions::BookmarksFunction {
155 public:
156 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.getSubtree");
157
158 protected:
159 virtual ~GetSubtreeBookmarkManagerFunction() {}
160
161 // ExtensionFunction:
162 virtual bool RunImpl() OVERRIDE;
163 };
164
165 class CanEditBookmarkManagerFunction : public extensions::BookmarksFunction {
166 public:
167 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.canEdit");
168
169 protected:
170 virtual ~CanEditBookmarkManagerFunction() {}
171
172 // ExtensionFunction:
173 virtual bool RunImpl() OVERRIDE;
174 };
175
176 class RecordLaunchBookmarkFunction : public extensions::BookmarksFunction {
177 public:
178 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.recordLaunch")
179
180 protected:
181 virtual ~RecordLaunchBookmarkFunction() {}
182
183 // ExtensionFunction:
184 virtual bool RunImpl() OVERRIDE;
185 };
186
187 class CanOpenNewWindowsBookmarkFunction : public extensions::BookmarksFunction {
188 public:
189 DECLARE_EXTENSION_FUNCTION_NAME("bookmarkManagerPrivate.canOpenNewWindows");
190
191 protected:
192 virtual ~CanOpenNewWindowsBookmarkFunction() {}
193
194 // ExtensionFunction:
195 virtual bool RunImpl() OVERRIDE;
196 };
197
198
199 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_MANAGER_EXTENSION_API_H_
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/DEPS ('k') | chrome/browser/bookmarks/bookmark_manager_extension_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698