summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_bookmark_manager_api.h
diff options
context:
space:
mode:
authorfeldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-28 00:04:56 +0000
committerfeldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-28 00:04:56 +0000
commitcb6cf79cacd881bcbc4f00bb449d7044619aeced (patch)
tree1b265453e2ad2a33beda3d6630444e76da3321a0 /chrome/browser/extensions/extension_bookmark_manager_api.h
parent69b3f1eab57725dd68502c19f4eed1fa9c7f401f (diff)
downloadchromium_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.h36
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_