| 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_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 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 static const bool kServiceIsNULLWhileTesting = true; | 107 static const bool kServiceIsNULLWhileTesting = true; |
| 108 | 108 |
| 109 // Created lazily upon OnListenerAdded. | 109 // Created lazily upon OnListenerAdded. |
| 110 scoped_ptr<BookmarkEventRouter> bookmark_event_router_; | 110 scoped_ptr<BookmarkEventRouter> bookmark_event_router_; |
| 111 }; | 111 }; |
| 112 | 112 |
| 113 class BookmarksFunction : public ChromeAsyncExtensionFunction, | 113 class BookmarksFunction : public ChromeAsyncExtensionFunction, |
| 114 public BaseBookmarkModelObserver { | 114 public BaseBookmarkModelObserver { |
| 115 public: | 115 public: |
| 116 // AsyncExtensionFunction: | 116 // AsyncExtensionFunction: |
| 117 virtual void Run() OVERRIDE; | 117 virtual bool RunImpl() OVERRIDE; |
| 118 | 118 |
| 119 protected: | 119 protected: |
| 120 virtual ~BookmarksFunction() {} | 120 virtual ~BookmarksFunction() {} |
| 121 | 121 |
| 122 // RunImpl semantic equivalent called when the bookmarks are ready. |
| 123 virtual bool RunOnReady() = 0; |
| 124 |
| 122 // Helper to get the bookmark id as int64 from the given string id. | 125 // Helper to get the bookmark id as int64 from the given string id. |
| 123 // Sets error_ to an error string if the given id string can't be parsed | 126 // Sets error_ to an error string if the given id string can't be parsed |
| 124 // as an int64. In case of error, doesn't change id and returns false. | 127 // as an int64. In case of error, doesn't change id and returns false. |
| 125 bool GetBookmarkIdAsInt64(const std::string& id_string, int64* id); | 128 bool GetBookmarkIdAsInt64(const std::string& id_string, int64* id); |
| 126 | 129 |
| 127 // Helper to get the bookmark node from a given string id. | 130 // Helper to get the bookmark node from a given string id. |
| 128 // If the given id can't be parsed or doesn't refer to a valid node, sets | 131 // If the given id can't be parsed or doesn't refer to a valid node, sets |
| 129 // error_ and returns NULL. | 132 // error_ and returns NULL. |
| 130 const BookmarkNode* GetBookmarkNodeFromId(const std::string& id_string); | 133 const BookmarkNode* GetBookmarkNodeFromId(const std::string& id_string); |
| 131 | 134 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 147 bool ids_reassigned) OVERRIDE; | 150 bool ids_reassigned) OVERRIDE; |
| 148 }; | 151 }; |
| 149 | 152 |
| 150 class BookmarksGetFunction : public BookmarksFunction { | 153 class BookmarksGetFunction : public BookmarksFunction { |
| 151 public: | 154 public: |
| 152 DECLARE_EXTENSION_FUNCTION("bookmarks.get", BOOKMARKS_GET) | 155 DECLARE_EXTENSION_FUNCTION("bookmarks.get", BOOKMARKS_GET) |
| 153 | 156 |
| 154 protected: | 157 protected: |
| 155 virtual ~BookmarksGetFunction() {} | 158 virtual ~BookmarksGetFunction() {} |
| 156 | 159 |
| 157 // ExtensionFunction: | 160 // BookmarksFunction: |
| 158 virtual bool RunImpl() OVERRIDE; | 161 virtual bool RunOnReady() OVERRIDE; |
| 159 }; | 162 }; |
| 160 | 163 |
| 161 class BookmarksGetChildrenFunction : public BookmarksFunction { | 164 class BookmarksGetChildrenFunction : public BookmarksFunction { |
| 162 public: | 165 public: |
| 163 DECLARE_EXTENSION_FUNCTION("bookmarks.getChildren", BOOKMARKS_GETCHILDREN) | 166 DECLARE_EXTENSION_FUNCTION("bookmarks.getChildren", BOOKMARKS_GETCHILDREN) |
| 164 | 167 |
| 165 protected: | 168 protected: |
| 166 virtual ~BookmarksGetChildrenFunction() {} | 169 virtual ~BookmarksGetChildrenFunction() {} |
| 167 | 170 |
| 168 // ExtensionFunction: | 171 // BookmarksFunction: |
| 169 virtual bool RunImpl() OVERRIDE; | 172 virtual bool RunOnReady() OVERRIDE; |
| 170 }; | 173 }; |
| 171 | 174 |
| 172 class BookmarksGetRecentFunction : public BookmarksFunction { | 175 class BookmarksGetRecentFunction : public BookmarksFunction { |
| 173 public: | 176 public: |
| 174 DECLARE_EXTENSION_FUNCTION("bookmarks.getRecent", BOOKMARKS_GETRECENT) | 177 DECLARE_EXTENSION_FUNCTION("bookmarks.getRecent", BOOKMARKS_GETRECENT) |
| 175 | 178 |
| 176 protected: | 179 protected: |
| 177 virtual ~BookmarksGetRecentFunction() {} | 180 virtual ~BookmarksGetRecentFunction() {} |
| 178 | 181 |
| 179 // ExtensionFunction: | 182 // BookmarksFunction: |
| 180 virtual bool RunImpl() OVERRIDE; | 183 virtual bool RunOnReady() OVERRIDE; |
| 181 }; | 184 }; |
| 182 | 185 |
| 183 class BookmarksGetTreeFunction : public BookmarksFunction { | 186 class BookmarksGetTreeFunction : public BookmarksFunction { |
| 184 public: | 187 public: |
| 185 DECLARE_EXTENSION_FUNCTION("bookmarks.getTree", BOOKMARKS_GETTREE) | 188 DECLARE_EXTENSION_FUNCTION("bookmarks.getTree", BOOKMARKS_GETTREE) |
| 186 | 189 |
| 187 protected: | 190 protected: |
| 188 virtual ~BookmarksGetTreeFunction() {} | 191 virtual ~BookmarksGetTreeFunction() {} |
| 189 | 192 |
| 190 // ExtensionFunction: | 193 // BookmarksFunction: |
| 191 virtual bool RunImpl() OVERRIDE; | 194 virtual bool RunOnReady() OVERRIDE; |
| 192 }; | 195 }; |
| 193 | 196 |
| 194 class BookmarksGetSubTreeFunction : public BookmarksFunction { | 197 class BookmarksGetSubTreeFunction : public BookmarksFunction { |
| 195 public: | 198 public: |
| 196 DECLARE_EXTENSION_FUNCTION("bookmarks.getSubTree", BOOKMARKS_GETSUBTREE) | 199 DECLARE_EXTENSION_FUNCTION("bookmarks.getSubTree", BOOKMARKS_GETSUBTREE) |
| 197 | 200 |
| 198 protected: | 201 protected: |
| 199 virtual ~BookmarksGetSubTreeFunction() {} | 202 virtual ~BookmarksGetSubTreeFunction() {} |
| 200 | 203 |
| 201 // ExtensionFunction: | 204 // BookmarksFunction: |
| 202 virtual bool RunImpl() OVERRIDE; | 205 virtual bool RunOnReady() OVERRIDE; |
| 203 }; | 206 }; |
| 204 | 207 |
| 205 class BookmarksSearchFunction : public BookmarksFunction { | 208 class BookmarksSearchFunction : public BookmarksFunction { |
| 206 public: | 209 public: |
| 207 DECLARE_EXTENSION_FUNCTION("bookmarks.search", BOOKMARKS_SEARCH) | 210 DECLARE_EXTENSION_FUNCTION("bookmarks.search", BOOKMARKS_SEARCH) |
| 208 | 211 |
| 209 protected: | 212 protected: |
| 210 virtual ~BookmarksSearchFunction() {} | 213 virtual ~BookmarksSearchFunction() {} |
| 211 | 214 |
| 212 // ExtensionFunction: | 215 // BookmarksFunction: |
| 213 virtual bool RunImpl() OVERRIDE; | 216 virtual bool RunOnReady() OVERRIDE; |
| 214 }; | 217 }; |
| 215 | 218 |
| 216 class BookmarksRemoveFunction : public BookmarksFunction { | 219 class BookmarksRemoveFunction : public BookmarksFunction { |
| 217 public: | 220 public: |
| 218 DECLARE_EXTENSION_FUNCTION("bookmarks.remove", BOOKMARKS_REMOVE) | 221 DECLARE_EXTENSION_FUNCTION("bookmarks.remove", BOOKMARKS_REMOVE) |
| 219 | 222 |
| 220 // Returns true on successful parse and sets invalid_id to true if conversion | 223 // Returns true on successful parse and sets invalid_id to true if conversion |
| 221 // from id string to int64 failed. | 224 // from id string to int64 failed. |
| 222 static bool ExtractIds(const base::ListValue* args, | 225 static bool ExtractIds(const base::ListValue* args, |
| 223 std::list<int64>* ids, | 226 std::list<int64>* ids, |
| 224 bool* invalid_id); | 227 bool* invalid_id); |
| 225 // ExtensionFunction: | 228 // BookmarksFunction: |
| 226 virtual void GetQuotaLimitHeuristics( | 229 virtual void GetQuotaLimitHeuristics( |
| 227 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 230 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
| 228 | 231 |
| 229 protected: | 232 protected: |
| 230 virtual ~BookmarksRemoveFunction() {} | 233 virtual ~BookmarksRemoveFunction() {} |
| 231 | 234 |
| 232 // ExtensionFunction: | 235 // BookmarksFunction: |
| 233 virtual bool RunImpl() OVERRIDE; | 236 virtual bool RunOnReady() OVERRIDE; |
| 234 }; | 237 }; |
| 235 | 238 |
| 236 class BookmarksRemoveTreeFunction : public BookmarksRemoveFunction { | 239 class BookmarksRemoveTreeFunction : public BookmarksRemoveFunction { |
| 237 public: | 240 public: |
| 238 DECLARE_EXTENSION_FUNCTION("bookmarks.removeTree", BOOKMARKS_REMOVETREE) | 241 DECLARE_EXTENSION_FUNCTION("bookmarks.removeTree", BOOKMARKS_REMOVETREE) |
| 239 | 242 |
| 240 protected: | 243 protected: |
| 241 virtual ~BookmarksRemoveTreeFunction() {} | 244 virtual ~BookmarksRemoveTreeFunction() {} |
| 242 }; | 245 }; |
| 243 | 246 |
| 244 class BookmarksCreateFunction : public BookmarksFunction { | 247 class BookmarksCreateFunction : public BookmarksFunction { |
| 245 public: | 248 public: |
| 246 DECLARE_EXTENSION_FUNCTION("bookmarks.create", BOOKMARKS_CREATE) | 249 DECLARE_EXTENSION_FUNCTION("bookmarks.create", BOOKMARKS_CREATE) |
| 247 | 250 |
| 248 // ExtensionFunction: | 251 // BookmarksFunction: |
| 249 virtual void GetQuotaLimitHeuristics( | 252 virtual void GetQuotaLimitHeuristics( |
| 250 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 253 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
| 251 | 254 |
| 252 protected: | 255 protected: |
| 253 virtual ~BookmarksCreateFunction() {} | 256 virtual ~BookmarksCreateFunction() {} |
| 254 | 257 |
| 255 // ExtensionFunction: | 258 // BookmarksFunction: |
| 256 virtual bool RunImpl() OVERRIDE; | 259 virtual bool RunOnReady() OVERRIDE; |
| 257 }; | 260 }; |
| 258 | 261 |
| 259 class BookmarksMoveFunction : public BookmarksFunction { | 262 class BookmarksMoveFunction : public BookmarksFunction { |
| 260 public: | 263 public: |
| 261 DECLARE_EXTENSION_FUNCTION("bookmarks.move", BOOKMARKS_MOVE) | 264 DECLARE_EXTENSION_FUNCTION("bookmarks.move", BOOKMARKS_MOVE) |
| 262 | 265 |
| 263 static bool ExtractIds(const base::ListValue* args, | 266 static bool ExtractIds(const base::ListValue* args, |
| 264 std::list<int64>* ids, | 267 std::list<int64>* ids, |
| 265 bool* invalid_id); | 268 bool* invalid_id); |
| 266 | 269 |
| 267 // ExtensionFunction: | 270 // BookmarksFunction: |
| 268 virtual void GetQuotaLimitHeuristics( | 271 virtual void GetQuotaLimitHeuristics( |
| 269 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 272 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
| 270 | 273 |
| 271 protected: | 274 protected: |
| 272 virtual ~BookmarksMoveFunction() {} | 275 virtual ~BookmarksMoveFunction() {} |
| 273 | 276 |
| 274 // ExtensionFunction: | 277 // BookmarksFunction: |
| 275 virtual bool RunImpl() OVERRIDE; | 278 virtual bool RunOnReady() OVERRIDE; |
| 276 }; | 279 }; |
| 277 | 280 |
| 278 class BookmarksUpdateFunction : public BookmarksFunction { | 281 class BookmarksUpdateFunction : public BookmarksFunction { |
| 279 public: | 282 public: |
| 280 DECLARE_EXTENSION_FUNCTION("bookmarks.update", BOOKMARKS_UPDATE) | 283 DECLARE_EXTENSION_FUNCTION("bookmarks.update", BOOKMARKS_UPDATE) |
| 281 | 284 |
| 282 static bool ExtractIds(const base::ListValue* args, | 285 static bool ExtractIds(const base::ListValue* args, |
| 283 std::list<int64>* ids, | 286 std::list<int64>* ids, |
| 284 bool* invalid_id); | 287 bool* invalid_id); |
| 285 | 288 |
| 286 // ExtensionFunction: | 289 // BookmarksFunction: |
| 287 virtual void GetQuotaLimitHeuristics( | 290 virtual void GetQuotaLimitHeuristics( |
| 288 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 291 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
| 289 | 292 |
| 290 protected: | 293 protected: |
| 291 virtual ~BookmarksUpdateFunction() {} | 294 virtual ~BookmarksUpdateFunction() {} |
| 292 | 295 |
| 293 // ExtensionFunction: | 296 // BookmarksFunction: |
| 294 virtual bool RunImpl() OVERRIDE; | 297 virtual bool RunOnReady() OVERRIDE; |
| 295 }; | 298 }; |
| 296 | 299 |
| 297 class BookmarksIOFunction : public BookmarksFunction, | 300 class BookmarksIOFunction : public BookmarksFunction, |
| 298 public ui::SelectFileDialog::Listener { | 301 public ui::SelectFileDialog::Listener { |
| 299 public: | 302 public: |
| 300 BookmarksIOFunction(); | 303 BookmarksIOFunction(); |
| 301 | 304 |
| 302 virtual void FileSelected(const base::FilePath& path, int index, void* params)
= 0; | 305 virtual void FileSelected(const base::FilePath& path, int index, void* params)
= 0; |
| 303 | 306 |
| 304 // ui::SelectFileDialog::Listener: | 307 // ui::SelectFileDialog::Listener: |
| (...skipping 20 matching lines...) Expand all Loading... |
| 325 DECLARE_EXTENSION_FUNCTION("bookmarks.import", BOOKMARKS_IMPORT) | 328 DECLARE_EXTENSION_FUNCTION("bookmarks.import", BOOKMARKS_IMPORT) |
| 326 | 329 |
| 327 // BookmarkManagerIOFunction: | 330 // BookmarkManagerIOFunction: |
| 328 virtual void FileSelected(const base::FilePath& path, | 331 virtual void FileSelected(const base::FilePath& path, |
| 329 int index, | 332 int index, |
| 330 void* params) OVERRIDE; | 333 void* params) OVERRIDE; |
| 331 | 334 |
| 332 private: | 335 private: |
| 333 virtual ~BookmarksImportFunction() {} | 336 virtual ~BookmarksImportFunction() {} |
| 334 | 337 |
| 335 // ExtensionFunction: | 338 // BookmarksFunction: |
| 336 virtual bool RunImpl() OVERRIDE; | 339 virtual bool RunOnReady() OVERRIDE; |
| 337 }; | 340 }; |
| 338 | 341 |
| 339 class BookmarksExportFunction : public BookmarksIOFunction { | 342 class BookmarksExportFunction : public BookmarksIOFunction { |
| 340 public: | 343 public: |
| 341 DECLARE_EXTENSION_FUNCTION("bookmarks.export", BOOKMARKS_EXPORT) | 344 DECLARE_EXTENSION_FUNCTION("bookmarks.export", BOOKMARKS_EXPORT) |
| 342 | 345 |
| 343 // BookmarkManagerIOFunction: | 346 // BookmarkManagerIOFunction: |
| 344 virtual void FileSelected(const base::FilePath& path, | 347 virtual void FileSelected(const base::FilePath& path, |
| 345 int index, | 348 int index, |
| 346 void* params) OVERRIDE; | 349 void* params) OVERRIDE; |
| 347 | 350 |
| 348 private: | 351 private: |
| 349 virtual ~BookmarksExportFunction() {} | 352 virtual ~BookmarksExportFunction() {} |
| 350 | 353 |
| 351 // ExtensionFunction: | 354 // BookmarksFunction: |
| 352 virtual bool RunImpl() OVERRIDE; | 355 virtual bool RunOnReady() OVERRIDE; |
| 353 }; | 356 }; |
| 354 | 357 |
| 355 } // namespace extensions | 358 } // namespace extensions |
| 356 | 359 |
| 357 #endif // CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ | 360 #endif // CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ |
| OLD | NEW |