| 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 |