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

Side by Side Diff: chrome/browser/extensions/api/bookmarks/bookmarks_api.h

Issue 666153002: Standardize usage of virtual/override/final in chrome/browser/extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months 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
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_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ 6 #define CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_
7 7
8 #include <list> 8 #include <list>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 24 matching lines...) Expand all
35 namespace bookmarks { 35 namespace bookmarks {
36 struct CreateDetails; 36 struct CreateDetails;
37 } 37 }
38 } 38 }
39 39
40 // Observes BookmarkModel and then routes the notifications as events to 40 // Observes BookmarkModel and then routes the notifications as events to
41 // the extension system. 41 // the extension system.
42 class BookmarkEventRouter : public BookmarkModelObserver { 42 class BookmarkEventRouter : public BookmarkModelObserver {
43 public: 43 public:
44 explicit BookmarkEventRouter(Profile* profile); 44 explicit BookmarkEventRouter(Profile* profile);
45 virtual ~BookmarkEventRouter(); 45 ~BookmarkEventRouter() override;
46 46
47 // BookmarkModelObserver: 47 // BookmarkModelObserver:
48 virtual void BookmarkModelLoaded(BookmarkModel* model, 48 void BookmarkModelLoaded(BookmarkModel* model, bool ids_reassigned) override;
49 bool ids_reassigned) override; 49 void BookmarkModelBeingDeleted(BookmarkModel* model) override;
50 virtual void BookmarkModelBeingDeleted(BookmarkModel* model) override; 50 void BookmarkNodeMoved(BookmarkModel* model,
51 virtual void BookmarkNodeMoved(BookmarkModel* model, 51 const BookmarkNode* old_parent,
52 const BookmarkNode* old_parent, 52 int old_index,
53 int old_index, 53 const BookmarkNode* new_parent,
54 const BookmarkNode* new_parent, 54 int new_index) override;
55 int new_index) override; 55 void BookmarkNodeAdded(BookmarkModel* model,
56 virtual void BookmarkNodeAdded(BookmarkModel* model, 56 const BookmarkNode* parent,
57 const BookmarkNode* parent, 57 int index) override;
58 int index) override; 58 void BookmarkNodeRemoved(BookmarkModel* model,
59 virtual void BookmarkNodeRemoved(BookmarkModel* model, 59 const BookmarkNode* parent,
60 const BookmarkNode* parent, 60 int old_index,
61 int old_index, 61 const BookmarkNode* node,
62 const BookmarkNode* node, 62 const std::set<GURL>& removed_urls) override;
63 void BookmarkAllUserNodesRemoved(BookmarkModel* model,
63 const std::set<GURL>& removed_urls) override; 64 const std::set<GURL>& removed_urls) override;
64 virtual void BookmarkAllUserNodesRemoved( 65 void BookmarkNodeChanged(BookmarkModel* model,
65 BookmarkModel* model, 66 const BookmarkNode* node) override;
66 const std::set<GURL>& removed_urls) override; 67 void BookmarkNodeFaviconChanged(BookmarkModel* model,
67 virtual void BookmarkNodeChanged(BookmarkModel* model, 68 const BookmarkNode* node) override;
68 const BookmarkNode* node) override; 69 void BookmarkNodeChildrenReordered(BookmarkModel* model,
69 virtual void BookmarkNodeFaviconChanged(BookmarkModel* model, 70 const BookmarkNode* node) override;
70 const BookmarkNode* node) override; 71 void ExtensiveBookmarkChangesBeginning(BookmarkModel* model) override;
71 virtual void BookmarkNodeChildrenReordered(BookmarkModel* model, 72 void ExtensiveBookmarkChangesEnded(BookmarkModel* model) override;
72 const BookmarkNode* node) override;
73 virtual void ExtensiveBookmarkChangesBeginning(BookmarkModel* model) override;
74 virtual void ExtensiveBookmarkChangesEnded(BookmarkModel* model) override;
75 73
76 private: 74 private:
77 // Helper to actually dispatch an event to extension listeners. 75 // Helper to actually dispatch an event to extension listeners.
78 void DispatchEvent(const std::string& event_name, 76 void DispatchEvent(const std::string& event_name,
79 scoped_ptr<base::ListValue> event_args); 77 scoped_ptr<base::ListValue> event_args);
80 78
81 content::BrowserContext* browser_context_; 79 content::BrowserContext* browser_context_;
82 BookmarkModel* model_; 80 BookmarkModel* model_;
83 ChromeBookmarkClient* client_; 81 ChromeBookmarkClient* client_;
84 82
85 DISALLOW_COPY_AND_ASSIGN(BookmarkEventRouter); 83 DISALLOW_COPY_AND_ASSIGN(BookmarkEventRouter);
86 }; 84 };
87 85
88 class BookmarksAPI : public BrowserContextKeyedAPI, 86 class BookmarksAPI : public BrowserContextKeyedAPI,
89 public EventRouter::Observer { 87 public EventRouter::Observer {
90 public: 88 public:
91 explicit BookmarksAPI(content::BrowserContext* context); 89 explicit BookmarksAPI(content::BrowserContext* context);
92 virtual ~BookmarksAPI(); 90 ~BookmarksAPI() override;
93 91
94 // KeyedService implementation. 92 // KeyedService implementation.
95 virtual void Shutdown() override; 93 void Shutdown() override;
96 94
97 // BrowserContextKeyedAPI implementation. 95 // BrowserContextKeyedAPI implementation.
98 static BrowserContextKeyedAPIFactory<BookmarksAPI>* GetFactoryInstance(); 96 static BrowserContextKeyedAPIFactory<BookmarksAPI>* GetFactoryInstance();
99 97
100 // EventRouter::Observer implementation. 98 // EventRouter::Observer implementation.
101 virtual void OnListenerAdded( 99 void OnListenerAdded(const EventListenerInfo& details) override;
102 const EventListenerInfo& details) override;
103 100
104 private: 101 private:
105 friend class BrowserContextKeyedAPIFactory<BookmarksAPI>; 102 friend class BrowserContextKeyedAPIFactory<BookmarksAPI>;
106 103
107 content::BrowserContext* browser_context_; 104 content::BrowserContext* browser_context_;
108 105
109 // BrowserContextKeyedAPI implementation. 106 // BrowserContextKeyedAPI implementation.
110 static const char* service_name() { 107 static const char* service_name() {
111 return "BookmarksAPI"; 108 return "BookmarksAPI";
112 } 109 }
113 static const bool kServiceIsNULLWhileTesting = true; 110 static const bool kServiceIsNULLWhileTesting = true;
114 111
115 // Created lazily upon OnListenerAdded. 112 // Created lazily upon OnListenerAdded.
116 scoped_ptr<BookmarkEventRouter> bookmark_event_router_; 113 scoped_ptr<BookmarkEventRouter> bookmark_event_router_;
117 }; 114 };
118 115
119 class BookmarksFunction : public ChromeAsyncExtensionFunction, 116 class BookmarksFunction : public ChromeAsyncExtensionFunction,
120 public BaseBookmarkModelObserver { 117 public BaseBookmarkModelObserver {
121 public: 118 public:
122 // AsyncExtensionFunction: 119 // AsyncExtensionFunction:
123 virtual bool RunAsync() override; 120 bool RunAsync() override;
124 121
125 protected: 122 protected:
126 virtual ~BookmarksFunction() {} 123 ~BookmarksFunction() override {}
127 124
128 // RunAsync semantic equivalent called when the bookmarks are ready. 125 // RunAsync semantic equivalent called when the bookmarks are ready.
129 virtual bool RunOnReady() = 0; 126 virtual bool RunOnReady() = 0;
130 127
131 // Helper to get the BookmarkModel. 128 // Helper to get the BookmarkModel.
132 BookmarkModel* GetBookmarkModel(); 129 BookmarkModel* GetBookmarkModel();
133 130
134 // Helper to get the ChromeBookmarkClient. 131 // Helper to get the ChromeBookmarkClient.
135 ChromeBookmarkClient* GetChromeBookmarkClient(); 132 ChromeBookmarkClient* GetChromeBookmarkClient();
136 133
(...skipping 19 matching lines...) Expand all
156 bool EditBookmarksEnabled(); 153 bool EditBookmarksEnabled();
157 154
158 // Helper that checks if |node| can be modified. Returns false if |node| 155 // Helper that checks if |node| can be modified. Returns false if |node|
159 // is NULL, or a managed node, or the root node. In these cases the node 156 // is NULL, or a managed node, or the root node. In these cases the node
160 // can't be edited, can't have new child nodes appended, and its direct 157 // can't be edited, can't have new child nodes appended, and its direct
161 // children can't be moved or reordered. 158 // children can't be moved or reordered.
162 bool CanBeModified(const BookmarkNode* node); 159 bool CanBeModified(const BookmarkNode* node);
163 160
164 private: 161 private:
165 // BaseBookmarkModelObserver: 162 // BaseBookmarkModelObserver:
166 virtual void BookmarkModelChanged() override; 163 void BookmarkModelChanged() override;
167 virtual void BookmarkModelLoaded(BookmarkModel* model, 164 void BookmarkModelLoaded(BookmarkModel* model, bool ids_reassigned) override;
168 bool ids_reassigned) override;
169 }; 165 };
170 166
171 class BookmarksGetFunction : public BookmarksFunction { 167 class BookmarksGetFunction : public BookmarksFunction {
172 public: 168 public:
173 DECLARE_EXTENSION_FUNCTION("bookmarks.get", BOOKMARKS_GET) 169 DECLARE_EXTENSION_FUNCTION("bookmarks.get", BOOKMARKS_GET)
174 170
175 protected: 171 protected:
176 virtual ~BookmarksGetFunction() {} 172 ~BookmarksGetFunction() override {}
177 173
178 // BookmarksFunction: 174 // BookmarksFunction:
179 virtual bool RunOnReady() override; 175 bool RunOnReady() override;
180 }; 176 };
181 177
182 class BookmarksGetChildrenFunction : public BookmarksFunction { 178 class BookmarksGetChildrenFunction : public BookmarksFunction {
183 public: 179 public:
184 DECLARE_EXTENSION_FUNCTION("bookmarks.getChildren", BOOKMARKS_GETCHILDREN) 180 DECLARE_EXTENSION_FUNCTION("bookmarks.getChildren", BOOKMARKS_GETCHILDREN)
185 181
186 protected: 182 protected:
187 virtual ~BookmarksGetChildrenFunction() {} 183 ~BookmarksGetChildrenFunction() override {}
188 184
189 // BookmarksFunction: 185 // BookmarksFunction:
190 virtual bool RunOnReady() override; 186 bool RunOnReady() override;
191 }; 187 };
192 188
193 class BookmarksGetRecentFunction : public BookmarksFunction { 189 class BookmarksGetRecentFunction : public BookmarksFunction {
194 public: 190 public:
195 DECLARE_EXTENSION_FUNCTION("bookmarks.getRecent", BOOKMARKS_GETRECENT) 191 DECLARE_EXTENSION_FUNCTION("bookmarks.getRecent", BOOKMARKS_GETRECENT)
196 192
197 protected: 193 protected:
198 virtual ~BookmarksGetRecentFunction() {} 194 ~BookmarksGetRecentFunction() override {}
199 195
200 // BookmarksFunction: 196 // BookmarksFunction:
201 virtual bool RunOnReady() override; 197 bool RunOnReady() override;
202 }; 198 };
203 199
204 class BookmarksGetTreeFunction : public BookmarksFunction { 200 class BookmarksGetTreeFunction : public BookmarksFunction {
205 public: 201 public:
206 DECLARE_EXTENSION_FUNCTION("bookmarks.getTree", BOOKMARKS_GETTREE) 202 DECLARE_EXTENSION_FUNCTION("bookmarks.getTree", BOOKMARKS_GETTREE)
207 203
208 protected: 204 protected:
209 virtual ~BookmarksGetTreeFunction() {} 205 ~BookmarksGetTreeFunction() override {}
210 206
211 // BookmarksFunction: 207 // BookmarksFunction:
212 virtual bool RunOnReady() override; 208 bool RunOnReady() override;
213 }; 209 };
214 210
215 class BookmarksGetSubTreeFunction : public BookmarksFunction { 211 class BookmarksGetSubTreeFunction : public BookmarksFunction {
216 public: 212 public:
217 DECLARE_EXTENSION_FUNCTION("bookmarks.getSubTree", BOOKMARKS_GETSUBTREE) 213 DECLARE_EXTENSION_FUNCTION("bookmarks.getSubTree", BOOKMARKS_GETSUBTREE)
218 214
219 protected: 215 protected:
220 virtual ~BookmarksGetSubTreeFunction() {} 216 ~BookmarksGetSubTreeFunction() override {}
221 217
222 // BookmarksFunction: 218 // BookmarksFunction:
223 virtual bool RunOnReady() override; 219 bool RunOnReady() override;
224 }; 220 };
225 221
226 class BookmarksSearchFunction : public BookmarksFunction { 222 class BookmarksSearchFunction : public BookmarksFunction {
227 public: 223 public:
228 DECLARE_EXTENSION_FUNCTION("bookmarks.search", BOOKMARKS_SEARCH) 224 DECLARE_EXTENSION_FUNCTION("bookmarks.search", BOOKMARKS_SEARCH)
229 225
230 protected: 226 protected:
231 virtual ~BookmarksSearchFunction() {} 227 ~BookmarksSearchFunction() override {}
232 228
233 // BookmarksFunction: 229 // BookmarksFunction:
234 virtual bool RunOnReady() override; 230 bool RunOnReady() override;
235 }; 231 };
236 232
237 class BookmarksRemoveFunction : public BookmarksFunction { 233 class BookmarksRemoveFunction : public BookmarksFunction {
238 public: 234 public:
239 DECLARE_EXTENSION_FUNCTION("bookmarks.remove", BOOKMARKS_REMOVE) 235 DECLARE_EXTENSION_FUNCTION("bookmarks.remove", BOOKMARKS_REMOVE)
240 236
241 // Returns true on successful parse and sets invalid_id to true if conversion 237 // Returns true on successful parse and sets invalid_id to true if conversion
242 // from id string to int64 failed. 238 // from id string to int64 failed.
243 static bool ExtractIds(const base::ListValue* args, 239 static bool ExtractIds(const base::ListValue* args,
244 std::list<int64>* ids, 240 std::list<int64>* ids,
245 bool* invalid_id); 241 bool* invalid_id);
246 242
247 protected: 243 protected:
248 virtual ~BookmarksRemoveFunction() {} 244 ~BookmarksRemoveFunction() override {}
249 245
250 // BookmarksFunction: 246 // BookmarksFunction:
251 virtual bool RunOnReady() override; 247 bool RunOnReady() override;
252 }; 248 };
253 249
254 class BookmarksRemoveTreeFunction : public BookmarksRemoveFunction { 250 class BookmarksRemoveTreeFunction : public BookmarksRemoveFunction {
255 public: 251 public:
256 DECLARE_EXTENSION_FUNCTION("bookmarks.removeTree", BOOKMARKS_REMOVETREE) 252 DECLARE_EXTENSION_FUNCTION("bookmarks.removeTree", BOOKMARKS_REMOVETREE)
257 253
258 protected: 254 protected:
259 virtual ~BookmarksRemoveTreeFunction() {} 255 ~BookmarksRemoveTreeFunction() override {}
260 }; 256 };
261 257
262 class BookmarksCreateFunction : public BookmarksFunction { 258 class BookmarksCreateFunction : public BookmarksFunction {
263 public: 259 public:
264 DECLARE_EXTENSION_FUNCTION("bookmarks.create", BOOKMARKS_CREATE) 260 DECLARE_EXTENSION_FUNCTION("bookmarks.create", BOOKMARKS_CREATE)
265 261
266 protected: 262 protected:
267 virtual ~BookmarksCreateFunction() {} 263 ~BookmarksCreateFunction() override {}
268 264
269 // BookmarksFunction: 265 // BookmarksFunction:
270 virtual bool RunOnReady() override; 266 bool RunOnReady() override;
271 }; 267 };
272 268
273 class BookmarksMoveFunction : public BookmarksFunction { 269 class BookmarksMoveFunction : public BookmarksFunction {
274 public: 270 public:
275 DECLARE_EXTENSION_FUNCTION("bookmarks.move", BOOKMARKS_MOVE) 271 DECLARE_EXTENSION_FUNCTION("bookmarks.move", BOOKMARKS_MOVE)
276 272
277 static bool ExtractIds(const base::ListValue* args, 273 static bool ExtractIds(const base::ListValue* args,
278 std::list<int64>* ids, 274 std::list<int64>* ids,
279 bool* invalid_id); 275 bool* invalid_id);
280 276
281 protected: 277 protected:
282 virtual ~BookmarksMoveFunction() {} 278 ~BookmarksMoveFunction() override {}
283 279
284 // BookmarksFunction: 280 // BookmarksFunction:
285 virtual bool RunOnReady() override; 281 bool RunOnReady() override;
286 }; 282 };
287 283
288 class BookmarksUpdateFunction : public BookmarksFunction { 284 class BookmarksUpdateFunction : public BookmarksFunction {
289 public: 285 public:
290 DECLARE_EXTENSION_FUNCTION("bookmarks.update", BOOKMARKS_UPDATE) 286 DECLARE_EXTENSION_FUNCTION("bookmarks.update", BOOKMARKS_UPDATE)
291 287
292 static bool ExtractIds(const base::ListValue* args, 288 static bool ExtractIds(const base::ListValue* args,
293 std::list<int64>* ids, 289 std::list<int64>* ids,
294 bool* invalid_id); 290 bool* invalid_id);
295 291
296 protected: 292 protected:
297 virtual ~BookmarksUpdateFunction() {} 293 ~BookmarksUpdateFunction() override {}
298 294
299 // BookmarksFunction: 295 // BookmarksFunction:
300 virtual bool RunOnReady() override; 296 bool RunOnReady() override;
301 }; 297 };
302 298
303 class BookmarksIOFunction : public BookmarksFunction, 299 class BookmarksIOFunction : public BookmarksFunction,
304 public ui::SelectFileDialog::Listener { 300 public ui::SelectFileDialog::Listener {
305 public: 301 public:
306 BookmarksIOFunction(); 302 BookmarksIOFunction();
307 303
308 virtual void FileSelected(const base::FilePath& path, int index, void* params) = 0; 304 virtual void FileSelected(const base::FilePath& path, int index, void* params) = 0;
309 305
310 // ui::SelectFileDialog::Listener: 306 // ui::SelectFileDialog::Listener:
311 virtual void MultiFilesSelected(const std::vector<base::FilePath>& files, 307 void MultiFilesSelected(const std::vector<base::FilePath>& files,
312 void* params) override; 308 void* params) override;
313 virtual void FileSelectionCanceled(void* params) override; 309 void FileSelectionCanceled(void* params) override;
314 310
315 void SelectFile(ui::SelectFileDialog::Type type); 311 void SelectFile(ui::SelectFileDialog::Type type);
316 312
317 protected: 313 protected:
318 virtual ~BookmarksIOFunction(); 314 ~BookmarksIOFunction() override;
319 315
320 private: 316 private:
321 void ShowSelectFileDialog( 317 void ShowSelectFileDialog(
322 ui::SelectFileDialog::Type type, 318 ui::SelectFileDialog::Type type,
323 const base::FilePath& default_path); 319 const base::FilePath& default_path);
324 320
325 protected: 321 protected:
326 scoped_refptr<ui::SelectFileDialog> select_file_dialog_; 322 scoped_refptr<ui::SelectFileDialog> select_file_dialog_;
327 }; 323 };
328 324
329 class BookmarksImportFunction : public BookmarksIOFunction { 325 class BookmarksImportFunction : public BookmarksIOFunction {
330 public: 326 public:
331 DECLARE_EXTENSION_FUNCTION("bookmarks.import", BOOKMARKS_IMPORT) 327 DECLARE_EXTENSION_FUNCTION("bookmarks.import", BOOKMARKS_IMPORT)
332 328
333 // BookmarkManagerIOFunction: 329 // BookmarkManagerIOFunction:
334 virtual void FileSelected(const base::FilePath& path, 330 void FileSelected(const base::FilePath& path,
335 int index, 331 int index,
336 void* params) override; 332 void* params) override;
337 333
338 private: 334 private:
339 virtual ~BookmarksImportFunction() {} 335 ~BookmarksImportFunction() override {}
340 336
341 // BookmarksFunction: 337 // BookmarksFunction:
342 virtual bool RunOnReady() override; 338 bool RunOnReady() override;
343 }; 339 };
344 340
345 class BookmarksExportFunction : public BookmarksIOFunction { 341 class BookmarksExportFunction : public BookmarksIOFunction {
346 public: 342 public:
347 DECLARE_EXTENSION_FUNCTION("bookmarks.export", BOOKMARKS_EXPORT) 343 DECLARE_EXTENSION_FUNCTION("bookmarks.export", BOOKMARKS_EXPORT)
348 344
349 // BookmarkManagerIOFunction: 345 // BookmarkManagerIOFunction:
350 virtual void FileSelected(const base::FilePath& path, 346 void FileSelected(const base::FilePath& path,
351 int index, 347 int index,
352 void* params) override; 348 void* params) override;
353 349
354 private: 350 private:
355 virtual ~BookmarksExportFunction() {} 351 ~BookmarksExportFunction() override {}
356 352
357 // BookmarksFunction: 353 // BookmarksFunction:
358 virtual bool RunOnReady() override; 354 bool RunOnReady() override;
359 }; 355 };
360 356
361 } // namespace extensions 357 } // namespace extensions
362 358
363 #endif // CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ 359 #endif // CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698