diff options
author | feldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-28 00:04:56 +0000 |
---|---|---|
committer | feldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-28 00:04:56 +0000 |
commit | cb6cf79cacd881bcbc4f00bb449d7044619aeced (patch) | |
tree | 1b265453e2ad2a33beda3d6630444e76da3321a0 /chrome/browser/extensions/extension_bookmark_manager_api.h | |
parent | 69b3f1eab57725dd68502c19f4eed1fa9c7f401f (diff) | |
download | chromium_src-cb6cf79cacd881bcbc4f00bb449d7044619aeced.zip chromium_src-cb6cf79cacd881bcbc4f00bb449d7044619aeced.tar.gz chromium_src-cb6cf79cacd881bcbc4f00bb449d7044619aeced.tar.bz2 |
Add import/export extension apis
This is a duplicate of 543094. That code review seems to have gotten corrupted as i can no longer publish anything from their web UI. It was LGTM'd+nits by arv, which i've fixed here.
BUG=32194
TEST=Import and export bookmarks from the extension
Review URL: http://codereview.chromium.org/548167
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37351 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_bookmark_manager_api.h')
-rw-r--r-- | chrome/browser/extensions/extension_bookmark_manager_api.h | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_bookmark_manager_api.h b/chrome/browser/extensions/extension_bookmark_manager_api.h index 2ab6be6c..f0bf1a3 100644 --- a/chrome/browser/extensions/extension_bookmark_manager_api.h +++ b/chrome/browser/extensions/extension_bookmark_manager_api.h @@ -6,6 +6,8 @@ #define CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_ #include "chrome/browser/extensions/extension_function.h" +#include "chrome/browser/shell_dialogs.h" +#include "chrome/browser/extensions/extension_bookmarks_module.h" class CopyBookmarkManagerFunction : public AsyncExtensionFunction { public: @@ -34,6 +36,39 @@ class PasteBookmarkManagerFunction : public AsyncExtensionFunction { DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.paste"); }; +class BookmarkManagerIOFunction : public BookmarksFunction, + public SelectFileDialog::Listener { + public: + // Overridden from SelectFileDialog::Listener: + virtual void FileSelected(const FilePath& path, int index, void* params) = 0; + void MultiFilesSelected(const std::vector<FilePath>& files, void* params); + void FileSelectionCanceled(void* params); + void SelectFile(SelectFileDialog::Type type); + + protected: + scoped_refptr<SelectFileDialog> select_file_dialog_; +}; + +class ImportBookmarksFunction : public BookmarkManagerIOFunction { + public: + // Override BookmarkManagerFunction. + bool RunImpl(); + void FileSelected(const FilePath& path, int index, void* params); + + private: + DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.import"); +}; + +class ExportBookmarksFunction : public BookmarkManagerIOFunction { + public: + // Override BookmarkManagerFunction. + bool RunImpl(); + void FileSelected(const FilePath& path, int index, void* params); + + private: + DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.export"); +}; + class BookmarkManagerGetStringsFunction : public AsyncExtensionFunction { public: // Override BookmarkManagerFunction. @@ -43,5 +78,4 @@ class BookmarkManagerGetStringsFunction : public AsyncExtensionFunction { DECLARE_EXTENSION_FUNCTION_NAME("experimental.bookmarkManager.getStrings"); }; - #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_MANAGER_API_H_ |