Chromium Code Reviews| Index: chrome/browser/chromeos/extensions/file_handler_util.h |
| diff --git a/chrome/browser/chromeos/extensions/file_handler_util.h b/chrome/browser/chromeos/extensions/file_handler_util.h |
| index 8a0be475272525f7521d973a3cc2abdd2f916ed1..9c6f02b1d6e57f22f680059ef1c955f5697de59c 100644 |
| --- a/chrome/browser/chromeos/extensions/file_handler_util.h |
| +++ b/chrome/browser/chromeos/extensions/file_handler_util.h |
| @@ -17,8 +17,20 @@ class Browser; |
| class GURL; |
| class Profile; |
| +namespace extensions { |
| +class Extension; |
| +} // namespace extensions |
| + |
| namespace file_handler_util { |
| +// Specifies the task type for a task id that represents some file action, Drive |
| +// action, or Web Intent action. |
| +const char kTaskFile[] = "file"; |
|
tbarzic
2012/09/19 15:45:13
extern const char kTaskFile[];
const char kTaskFi
thorogood
2012/09/20 00:48:17
Done.
|
| +const char kTaskDrive[] = "drive"; |
| +const char kTaskWebIntent[] = "web-intent"; |
| + |
| +void UpdateFileHandlerUsageStats(Profile* profile, const std::string& task_id); |
| + |
| // Update the default file handler for the given sets of suffixes and MIME |
| // types. |
| void UpdateDefaultTask(Profile* profile, |
| @@ -39,27 +51,17 @@ int GetReadWritePermissions(); |
| // Gets read-only file access permission flags. |
| int GetReadOnlyPermissions(); |
| -// Generates file task id for the file action specified by the extension. |
| +// Generates task id for the action specified by the extension. |
| std::string MakeTaskID(const std::string& extension_id, |
| + const std::string& task_type, |
|
tbarzic
2012/09/19 15:45:13
optional:
you could have TaskType enum passed to M
thorogood
2012/09/20 00:48:17
I've left it as-is and added a strict comment.
|
| const std::string& action_id); |
| -// Make a task id specific to drive apps instead of extensions. |
| -std::string MakeDriveTaskID(const std::string& app_id, |
| - const std::string& action_id); |
| - |
| -// Returns the |target_id| and |action_id| of a drive app or extension, given |
| -// the drive |task_id| created by MakeDriveTaskID. If the |task_id| is a drive |
| -// task_id then it will return true. If not, or if parsing fails, will return |
| -// false and not set |app_id| or |action_id|. |
| -bool CrackDriveTaskID(const std::string& task_id, |
| - std::string* app_id, |
| - std::string* action_id); |
| - |
| -// Extracts action and extension id bound to the file task. Either |
| +// Extracts action, type and extension id bound to the file task. Either |
| // |target_extension_id| or |action_id| are allowed to be NULL if caller isn't |
| // interested in those values. Returns false on failure to parse. |
| bool CrackTaskID(const std::string& task_id, |
| std::string* target_extension_id, |
| + std::string* task_type, |
| std::string* action_id); |
| // This generates a list of default tasks (tasks set as default by the user in |
| @@ -88,13 +90,11 @@ typedef base::Callback<void(bool)> FileTaskFinishedCallback; |
| // Helper class for executing file browser file action. |
| class FileTaskExecutor : public base::RefCountedThreadSafe<FileTaskExecutor> { |
| public: |
| - static const char kDriveTaskExtensionPrefix[]; |
| - static const size_t kDriveTaskExtensionPrefixLength; |
| - |
| // Creates the appropriate FileTaskExecutor for the given |extension_id|. |
| static FileTaskExecutor* Create(Profile* profile, |
| const GURL source_url, |
| const std::string& extension_id, |
| + const std::string& task_type, |
| const std::string& action_id); |
| // Same as ExecuteAndNotify, but no notification is performed. |
| @@ -110,7 +110,7 @@ class FileTaskExecutor : public base::RefCountedThreadSafe<FileTaskExecutor> { |
| const FileTaskFinishedCallback& done) = 0; |
| protected: |
| - explicit FileTaskExecutor(Profile* profile); |
| + explicit FileTaskExecutor(Profile* profile, const std::string& extension_id); |
| virtual ~FileTaskExecutor(); |
| // Returns the profile that this task was created with. |
| @@ -118,10 +118,18 @@ class FileTaskExecutor : public base::RefCountedThreadSafe<FileTaskExecutor> { |
| // Returns a browser to use for the current browser. |
| Browser* GetBrowser() const; |
| + |
| + // Returns the extension for this profile. |
| + const extensions::Extension* GetExtension(); |
| + |
| + // Returns the extension ID set for this FileTaskExecutor. |
| + const std::string& extension_id() { return extension_id_; } |
| + |
| private: |
| friend class base::RefCountedThreadSafe<FileTaskExecutor>; |
| Profile* profile_; |
| + const std::string extension_id_; |
|
tbarzic
2012/09/19 15:45:13
Lint complains about how there's no #include <stri
thorogood
2012/09/20 00:48:17
Done.
|
| }; |
| } // namespace file_handler_util |