OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_EXTENSION_API_H_ | 5 #ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_EXTENSION_API_H_ |
6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_EXTENSION_API_H_ | 6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_EXTENSION_API_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <list> | 9 #include <list> |
10 #include <string> | 10 #include <string> |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 | 67 |
68 DISALLOW_COPY_AND_ASSIGN(BookmarkExtensionEventRouter); | 68 DISALLOW_COPY_AND_ASSIGN(BookmarkExtensionEventRouter); |
69 }; | 69 }; |
70 | 70 |
71 class BookmarksFunction : public AsyncExtensionFunction, | 71 class BookmarksFunction : public AsyncExtensionFunction, |
72 public content::NotificationObserver { | 72 public content::NotificationObserver { |
73 public: | 73 public: |
74 // AsyncExtensionFunction: | 74 // AsyncExtensionFunction: |
75 virtual void Run() OVERRIDE; | 75 virtual void Run() OVERRIDE; |
76 | 76 |
77 virtual bool RunImpl() = 0; | 77 protected: |
| 78 virtual ~BookmarksFunction() {} |
78 | 79 |
79 protected: | |
80 // Helper to get the bookmark id as int64 from the given string id. | 80 // Helper to get the bookmark id as int64 from the given string id. |
81 // Sets error_ to an error string if the given id string can't be parsed | 81 // Sets error_ to an error string if the given id string can't be parsed |
82 // as an int64. In case of error, doesn't change id and returns false. | 82 // as an int64. In case of error, doesn't change id and returns false. |
83 bool GetBookmarkIdAsInt64(const std::string& id_string, int64* id); | 83 bool GetBookmarkIdAsInt64(const std::string& id_string, int64* id); |
84 | 84 |
85 // Helper that checks if bookmark editing is enabled. If it's not, this sets | 85 // Helper that checks if bookmark editing is enabled. If it's not, this sets |
86 // error_ to the appropriate error string. | 86 // error_ to the appropriate error string. |
87 bool EditBookmarksEnabled(); | 87 bool EditBookmarksEnabled(); |
88 | 88 |
89 private: | 89 private: |
90 // content::NotificationObserver: | 90 // content::NotificationObserver: |
91 virtual void Observe(int type, | 91 virtual void Observe(int type, |
92 const content::NotificationSource& source, | 92 const content::NotificationSource& source, |
93 const content::NotificationDetails& details) OVERRIDE; | 93 const content::NotificationDetails& details) OVERRIDE; |
94 | 94 |
95 content::NotificationRegistrar registrar_; | 95 content::NotificationRegistrar registrar_; |
96 }; | 96 }; |
97 | 97 |
98 class GetBookmarksFunction : public BookmarksFunction { | 98 class GetBookmarksFunction : public BookmarksFunction { |
99 public: | 99 public: |
| 100 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.get") |
| 101 |
| 102 protected: |
| 103 virtual ~GetBookmarksFunction() {} |
| 104 |
| 105 // ExtensionFunction: |
100 virtual bool RunImpl() OVERRIDE; | 106 virtual bool RunImpl() OVERRIDE; |
101 | |
102 private: | |
103 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.get") | |
104 }; | 107 }; |
105 | 108 |
106 class GetBookmarkChildrenFunction : public BookmarksFunction { | 109 class GetBookmarkChildrenFunction : public BookmarksFunction { |
107 public: | 110 public: |
| 111 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getChildren") |
| 112 |
| 113 protected: |
| 114 virtual ~GetBookmarkChildrenFunction() {} |
| 115 |
| 116 // ExtensionFunction: |
108 virtual bool RunImpl() OVERRIDE; | 117 virtual bool RunImpl() OVERRIDE; |
109 | |
110 private: | |
111 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getChildren") | |
112 }; | 118 }; |
113 | 119 |
114 class GetBookmarkRecentFunction : public BookmarksFunction { | 120 class GetBookmarkRecentFunction : public BookmarksFunction { |
115 public: | 121 public: |
| 122 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getRecent") |
| 123 |
| 124 protected: |
| 125 virtual ~GetBookmarkRecentFunction() {} |
| 126 |
| 127 // ExtensionFunction: |
116 virtual bool RunImpl() OVERRIDE; | 128 virtual bool RunImpl() OVERRIDE; |
117 | |
118 private: | |
119 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getRecent") | |
120 }; | 129 }; |
121 | 130 |
122 class GetBookmarkTreeFunction : public BookmarksFunction { | 131 class GetBookmarkTreeFunction : public BookmarksFunction { |
123 public: | 132 public: |
| 133 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getTree") |
| 134 |
| 135 protected: |
| 136 virtual ~GetBookmarkTreeFunction() {} |
| 137 |
| 138 // ExtensionFunction: |
124 virtual bool RunImpl() OVERRIDE; | 139 virtual bool RunImpl() OVERRIDE; |
125 | |
126 private: | |
127 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getTree") | |
128 }; | 140 }; |
129 | 141 |
130 class GetBookmarkSubTreeFunction : public BookmarksFunction { | 142 class GetBookmarkSubTreeFunction : public BookmarksFunction { |
131 public: | 143 public: |
| 144 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getSubTree") |
| 145 |
| 146 protected: |
| 147 virtual ~GetBookmarkSubTreeFunction() {} |
| 148 |
| 149 // ExtensionFunction: |
132 virtual bool RunImpl() OVERRIDE; | 150 virtual bool RunImpl() OVERRIDE; |
133 | |
134 private: | |
135 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.getSubTree") | |
136 }; | 151 }; |
137 | 152 |
138 class SearchBookmarksFunction : public BookmarksFunction { | 153 class SearchBookmarksFunction : public BookmarksFunction { |
139 public: | 154 public: |
| 155 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.search") |
| 156 |
| 157 protected: |
| 158 virtual ~SearchBookmarksFunction() {} |
| 159 |
| 160 // ExtensionFunction: |
140 virtual bool RunImpl() OVERRIDE; | 161 virtual bool RunImpl() OVERRIDE; |
141 | |
142 private: | |
143 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.search") | |
144 }; | 162 }; |
145 | 163 |
146 class RemoveBookmarkFunction : public BookmarksFunction { | 164 class RemoveBookmarkFunction : public BookmarksFunction { |
147 public: | 165 public: |
| 166 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.remove") |
| 167 |
148 // Returns true on successful parse and sets invalid_id to true if conversion | 168 // Returns true on successful parse and sets invalid_id to true if conversion |
149 // from id string to int64 failed. | 169 // from id string to int64 failed. |
150 static bool ExtractIds(const base::ListValue* args, std::list<int64>* ids, | 170 static bool ExtractIds(const base::ListValue* args, std::list<int64>* ids, |
151 bool* invalid_id); | 171 bool* invalid_id); |
152 // BookmarksFunction: | 172 // ExtensionFunction: |
153 virtual bool RunImpl() OVERRIDE; | |
154 virtual void GetQuotaLimitHeuristics( | 173 virtual void GetQuotaLimitHeuristics( |
155 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 174 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
156 | 175 |
157 private: | 176 protected: |
158 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.remove") | 177 virtual ~RemoveBookmarkFunction() {} |
| 178 |
| 179 // ExtensionFunction: |
| 180 virtual bool RunImpl() OVERRIDE; |
159 }; | 181 }; |
160 | 182 |
161 class RemoveTreeBookmarkFunction : public RemoveBookmarkFunction { | 183 class RemoveTreeBookmarkFunction : public RemoveBookmarkFunction { |
| 184 public: |
162 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.removeTree") | 185 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.removeTree") |
| 186 |
| 187 protected: |
| 188 virtual ~RemoveTreeBookmarkFunction() {} |
163 }; | 189 }; |
164 | 190 |
165 class CreateBookmarkFunction : public BookmarksFunction { | 191 class CreateBookmarkFunction : public BookmarksFunction { |
166 public: | 192 public: |
| 193 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.create") |
| 194 |
| 195 // ExtensionFunction: |
167 virtual void GetQuotaLimitHeuristics( | 196 virtual void GetQuotaLimitHeuristics( |
168 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 197 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
169 // BookmarksFunction: | 198 |
| 199 protected: |
| 200 virtual ~CreateBookmarkFunction() {} |
| 201 |
| 202 // ExtensionFunction: |
170 virtual bool RunImpl() OVERRIDE; | 203 virtual bool RunImpl() OVERRIDE; |
171 | |
172 private: | |
173 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.create") | |
174 }; | 204 }; |
175 | 205 |
176 class MoveBookmarkFunction : public BookmarksFunction { | 206 class MoveBookmarkFunction : public BookmarksFunction { |
177 public: | 207 public: |
| 208 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.move") |
| 209 |
178 static bool ExtractIds(const base::ListValue* args, std::list<int64>* ids, | 210 static bool ExtractIds(const base::ListValue* args, std::list<int64>* ids, |
179 bool* invalid_id); | 211 bool* invalid_id); |
| 212 |
| 213 // ExtensionFunction: |
180 virtual void GetQuotaLimitHeuristics( | 214 virtual void GetQuotaLimitHeuristics( |
181 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 215 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
182 // BookmarksFunction: | 216 |
| 217 protected: |
| 218 virtual ~MoveBookmarkFunction() {} |
| 219 |
| 220 // ExtensionFunction: |
183 virtual bool RunImpl() OVERRIDE; | 221 virtual bool RunImpl() OVERRIDE; |
184 | |
185 private: | |
186 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.move") | |
187 }; | 222 }; |
188 | 223 |
189 class UpdateBookmarkFunction : public BookmarksFunction { | 224 class UpdateBookmarkFunction : public BookmarksFunction { |
190 public: | 225 public: |
| 226 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.update") |
| 227 |
191 static bool ExtractIds(const base::ListValue* args, std::list<int64>* ids, | 228 static bool ExtractIds(const base::ListValue* args, std::list<int64>* ids, |
192 bool* invalid_id); | 229 bool* invalid_id); |
| 230 |
| 231 // ExtensionFunction: |
193 virtual void GetQuotaLimitHeuristics( | 232 virtual void GetQuotaLimitHeuristics( |
194 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 233 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
| 234 |
| 235 protected: |
| 236 virtual ~UpdateBookmarkFunction() {} |
| 237 |
| 238 // ExtensionFunction: |
195 virtual bool RunImpl() OVERRIDE; | 239 virtual bool RunImpl() OVERRIDE; |
196 private: | |
197 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.update") | |
198 }; | 240 }; |
199 | 241 |
200 class BookmarksIOFunction : public BookmarksFunction, | 242 class BookmarksIOFunction : public BookmarksFunction, |
201 public SelectFileDialog::Listener { | 243 public SelectFileDialog::Listener { |
202 public: | 244 public: |
203 BookmarksIOFunction(); | 245 BookmarksIOFunction(); |
204 virtual ~BookmarksIOFunction(); | |
205 | 246 |
206 virtual void FileSelected(const FilePath& path, int index, void* params) = 0; | 247 virtual void FileSelected(const FilePath& path, int index, void* params) = 0; |
207 | 248 |
208 // SelectFileDialog::Listener: | 249 // SelectFileDialog::Listener: |
209 virtual void MultiFilesSelected(const std::vector<FilePath>& files, | 250 virtual void MultiFilesSelected(const std::vector<FilePath>& files, |
210 void* params) OVERRIDE; | 251 void* params) OVERRIDE; |
211 virtual void FileSelectionCanceled(void* params) OVERRIDE; | 252 virtual void FileSelectionCanceled(void* params) OVERRIDE; |
212 | 253 |
213 void SelectFile(SelectFileDialog::Type type); | 254 void SelectFile(SelectFileDialog::Type type); |
214 | 255 |
| 256 protected: |
| 257 virtual ~BookmarksIOFunction(); |
| 258 |
215 private: | 259 private: |
216 void ShowSelectFileDialog( | 260 void ShowSelectFileDialog( |
217 SelectFileDialog::Type type, | 261 SelectFileDialog::Type type, |
218 const FilePath& default_path); | 262 const FilePath& default_path); |
219 | 263 |
220 protected: | 264 protected: |
221 scoped_refptr<SelectFileDialog> select_file_dialog_; | 265 scoped_refptr<SelectFileDialog> select_file_dialog_; |
222 }; | 266 }; |
223 | 267 |
224 class ImportBookmarksFunction : public BookmarksIOFunction { | 268 class ImportBookmarksFunction : public BookmarksIOFunction { |
225 public: | 269 public: |
| 270 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.import"); |
| 271 |
226 // BookmarkManagerIOFunction: | 272 // BookmarkManagerIOFunction: |
227 virtual bool RunImpl() OVERRIDE; | |
228 virtual void FileSelected(const FilePath& path, int index, void* params) | 273 virtual void FileSelected(const FilePath& path, int index, void* params) |
229 OVERRIDE; | 274 OVERRIDE; |
230 | 275 |
231 private: | 276 private: |
232 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.import"); | 277 virtual ~ImportBookmarksFunction() {} |
| 278 |
| 279 // ExtensionFunction: |
| 280 virtual bool RunImpl() OVERRIDE; |
233 }; | 281 }; |
234 | 282 |
235 class ExportBookmarksFunction : public BookmarksIOFunction { | 283 class ExportBookmarksFunction : public BookmarksIOFunction { |
236 public: | 284 public: |
| 285 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.export"); |
| 286 |
237 // BookmarkManagerIOFunction: | 287 // BookmarkManagerIOFunction: |
238 virtual bool RunImpl() OVERRIDE; | |
239 virtual void FileSelected(const FilePath& path, int index, void* params) | 288 virtual void FileSelected(const FilePath& path, int index, void* params) |
240 OVERRIDE; | 289 OVERRIDE; |
241 | 290 |
242 private: | 291 private: |
243 DECLARE_EXTENSION_FUNCTION_NAME("bookmarks.export"); | 292 virtual ~ExportBookmarksFunction() {} |
| 293 |
| 294 // ExtensionFunction: |
| 295 virtual bool RunImpl() OVERRIDE; |
244 }; | 296 }; |
245 | 297 |
246 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_EXTENSION_API_H_ | 298 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_EXTENSION_API_H_ |
OLD | NEW |