summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_file_browser_private_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_file_browser_private_api.h')
-rw-r--r--chrome/browser/extensions/extension_file_browser_private_api.h103
1 files changed, 55 insertions, 48 deletions
diff --git a/chrome/browser/extensions/extension_file_browser_private_api.h b/chrome/browser/extensions/extension_file_browser_private_api.h
index 39c3dea..fff7bd0 100644
--- a/chrome/browser/extensions/extension_file_browser_private_api.h
+++ b/chrome/browser/extensions/extension_file_browser_private_api.h
@@ -16,7 +16,7 @@
#include "webkit/fileapi/file_system_callback_dispatcher.h"
#ifdef OS_CHROMEOS
-#include "chrome/browser/chromeos/cros/mount_library.h"
+#include "chrome/browser/chromeos/disks/disk_mount_manager.h"
#endif
class GURL;
@@ -24,9 +24,12 @@ class GURL;
// Implements the chrome.fileBrowserPrivate.requestLocalFileSystem method.
class RequestLocalFileSystemFunction : public AsyncExtensionFunction {
protected:
- friend class LocalFileSystemCallbackDispatcher;
// AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
+
+ private:
+ class LocalFileSystemCallbackDispatcher;
+
void RespondSuccessOnUIThread(const std::string& name,
const GURL& root_path);
void RespondFailedOnUIThread(base::PlatformFileError error_code);
@@ -99,7 +102,7 @@ class ExecuteTasksFileBrowserFunction : public AsyncExtensionFunction {
bool is_directory;
};
typedef std::vector<FileDefinition> FileDefinitionList;
- friend class ExecuteTasksFileSystemCallbackDispatcher;
+ class ExecuteTasksFileSystemCallbackDispatcher;
// Initates execution of context menu tasks identified with |task_id| for
// each element of |files_list|.
bool InitiateFileTaskExecution(const std::string& task_id,
@@ -125,19 +128,25 @@ class FileBrowserFunction
protected:
typedef std::vector<GURL> UrlList;
typedef std::vector<FilePath> FilePathList;
+ typedef base::Callback<void(const FilePathList&)> GetLocalPathsCallback;
virtual ~FileBrowserFunction();
- // Convert virtual paths to local paths on the file thread.
- void GetLocalPathsOnFileThread(const UrlList& file_urls,
- void* context);
-
- // Callback with converted local paths.
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) {}
+ // Converts virtual paths to local paths by calling GetLocalPathsOnFileThread
+ // on the file thread and call |callback| on the UI thread with the result.
+ void GetLocalPathsOnFileThreadAndRunCallbackOnUIThread(
+ const UrlList& file_urls,
+ GetLocalPathsCallback callback);
// Figure out the tab_id of the hosting tab.
int32 GetTabId() const;
+
+ private:
+ // Converts virtual paths to local paths and call |callback| (on the UI
+ // thread) with the results.
+ // This method must be called from the file thread.
+ void GetLocalPathsOnFileThread(const UrlList& file_urls,
+ GetLocalPathsCallback callback);
};
// Select a single file. Closes the dialog window.
@@ -152,11 +161,11 @@ class SelectFileFunction
// AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
- // FileBrowserFunction overrides.
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) OVERRIDE;
-
private:
+ // A callback method to handle the result of
+ // GetLocalPathsOnFileThreadAndRunCallbackOnUIThread.
+ void GetLocalPathsResponseOnUIThread(const FilePathList& files);
+
DECLARE_EXTENSION_FUNCTION_NAME("fileBrowserPrivate.selectFile");
};
@@ -172,11 +181,12 @@ class ViewFilesFunction
// AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
- // FileBrowserFunction overrides.
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) OVERRIDE;
-
private:
+ // A callback method to handle the result of
+ // GetLocalPathsOnFileThreadAndRunCallbackOnUIThread.
+ void GetLocalPathsResponseOnUIThread(const std::string& internal_task_id,
+ const FilePathList& files);
+
DECLARE_EXTENSION_FUNCTION_NAME("fileBrowserPrivate.viewFiles");
};
@@ -192,11 +202,11 @@ class SelectFilesFunction
// AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
- // FileBrowserFunction overrides.
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) OVERRIDE;
-
private:
+ // A callback method to handle the result of
+ // GetLocalPathsOnFileThreadAndRunCallbackOnUIThread.
+ void GetLocalPathsResponseOnUIThread(const FilePathList& files);
+
DECLARE_EXTENSION_FUNCTION_NAME("fileBrowserPrivate.selectFiles");
};
@@ -225,23 +235,14 @@ class AddMountFunction
protected:
virtual ~AddMountFunction();
+ // AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
- // FileBrowserFunction overrides.
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) OVERRIDE;
-
private:
-#if defined(OS_CHROMEOS)
- struct MountParamaters {
- MountParamaters(const std::string& type,
- const chromeos::MountPathOptions& options)
- : mount_type(type), mount_options(options) {}
- ~MountParamaters() {}
- std::string mount_type;
- chromeos::MountPathOptions mount_options;
- };
-#endif
+ // A callback method to handle the result of
+ // GetLocalPathsOnFileThreadAndRunCallbackOnUIThread.
+ void GetLocalPathsResponseOnUIThread(const std::string& mount_type_str,
+ const FilePathList& files);
DECLARE_EXTENSION_FUNCTION_NAME("fileBrowserPrivate.addMount");
};
@@ -255,12 +256,14 @@ class RemoveMountFunction
protected:
virtual ~RemoveMountFunction();
- // FileBrowserFunction overrides.
+ // AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) OVERRIDE;
private:
+ // A callback method to handle the result of
+ // GetLocalPathsOnFileThreadAndRunCallbackOnUIThread.
+ void GetLocalPathsResponseOnUIThread(const FilePathList& files);
+
DECLARE_EXTENSION_FUNCTION_NAME("fileBrowserPrivate.removeMount");
};
@@ -272,6 +275,7 @@ class GetMountPointsFunction
protected:
virtual ~GetMountPointsFunction();
+ // AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
private:
@@ -287,13 +291,14 @@ class FormatDeviceFunction
protected:
virtual ~FormatDeviceFunction();
+ // AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
-// FileBrowserFunction overrides.
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) OVERRIDE;
-
private:
+ // A callback method to handle the result of
+ // GetLocalPathsOnFileThreadAndRunCallbackOnUIThread.
+ void GetLocalPathsResponseOnUIThread(const FilePathList& files);
+
DECLARE_EXTENSION_FUNCTION_NAME("fileBrowserPrivate.formatDevice");
};
@@ -305,16 +310,18 @@ class GetSizeStatsFunction
protected:
virtual ~GetSizeStatsFunction();
- // FileBrowserFunction overrides.
+ // AsyncExtensionFunction overrides.
virtual bool RunImpl() OVERRIDE;
- virtual void GetLocalPathsResponseOnUIThread(const FilePathList& files,
- void* context) OVERRIDE;
private:
- void GetSizeStatsCallbackOnUIThread(const char* mount_path,
+ // A callback method to handle the result of
+ // GetLocalPathsOnFileThreadAndRunCallbackOnUIThread.
+ void GetLocalPathsResponseOnUIThread(const FilePathList& files);
+
+ void GetSizeStatsCallbackOnUIThread(const std::string& mount_path,
size_t total_size_kb,
size_t remaining_size_kb);
- void CallGetSizeStatsOnFileThread(const char* mount_path);
+ void CallGetSizeStatsOnFileThread(const std::string& mount_path);
DECLARE_EXTENSION_FUNCTION_NAME("fileBrowserPrivate.getSizeStats");
};