Index: chrome/browser/chromeos/file_manager/open_util.h |
diff --git a/chrome/browser/chromeos/file_manager/open_util.h b/chrome/browser/chromeos/file_manager/open_util.h |
index 898cd8b2c0575a21357a2ca9596e2093bd7996da..668827a539b1069c1d34b28ffcb05ec6a12fde8f 100644 |
--- a/chrome/browser/chromeos/file_manager/open_util.h |
+++ b/chrome/browser/chromeos/file_manager/open_util.h |
@@ -8,6 +8,9 @@ |
#ifndef CHROME_BROWSER_CHROMEOS_FILE_MANAGER_OPEN_UTIL_H_ |
#define CHROME_BROWSER_CHROMEOS_FILE_MANAGER_OPEN_UTIL_H_ |
+#include "base/callback_forward.h" |
+#include "chrome/browser/platform_util.h" |
+ |
class Profile; |
namespace base { |
@@ -17,16 +20,33 @@ class FilePath; |
namespace file_manager { |
namespace util { |
-// Opens an item (file or directory). If the target is a directory, the |
-// directory will be opened in the file manager. If the target is a file, the |
-// file will be opened using a file handler, a file browser handler, or the |
-// browser (open in a tab). The default handler has precedence over other |
-// handlers, if defined for the type of the target file. |
-void OpenItem(Profile* profile, const base::FilePath& file_path); |
+// If |item_type| is OPEN_FILE: Opens an item using a file handler, a file |
+// browser handler, or the browser (open in a tab). The default handler has |
+// precedence over other handlers, if defined for the type of the target file. |
+// |
+// If |item_type| is OPEN_FOLDER: Open the directory at |file_path| using the |
+// file browser. |
+// |
+// It is an error for |file_path| to not match the type implied by |item_type|. |
+// This error will be reported to |callback|. |
+// |
+// If |callback| is null, shows an error message to the user indicating the |
+// error if the operation is unsuccessful. No error messages will be displayed |
+// if |callback| is non-null. |
+void OpenItem(Profile* profile, |
+ const base::FilePath& file_path, |
+ platform_util::OpenItemType item_type, |
+ const platform_util::OpenOperationCallback& callback); |
// Opens the file manager for the folder containing the item specified by |
// |file_path|, with the item selected. |
-void ShowItemInFolder(Profile* profile, const base::FilePath& file_path); |
+void ShowItemInFolder(Profile* profile, |
+ const base::FilePath& file_path, |
+ const platform_util::OpenOperationCallback& callback); |
+ |
+// Change the behavior of the above functions to do everything except launch any |
+// extensions including a file browser. |
+void DisableShellOperationsForTesting(); |
} // namespace util |
} // namespace file_manager |