Index: chrome/browser/devtools/devtools_file_helper.cc |
diff --git a/chrome/browser/devtools/devtools_file_helper.cc b/chrome/browser/devtools/devtools_file_helper.cc |
index c1541c4a2dcfcddade558e6ac839f70b4a4e578f..b807a683f81bb90aafab3ae059a57103c70668c0 100644 |
--- a/chrome/browser/devtools/devtools_file_helper.cc |
+++ b/chrome/browser/devtools/devtools_file_helper.cc |
@@ -35,6 +35,7 @@ |
#include "grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/shell_dialogs/select_file_dialog.h" |
+#include "webkit/browser/fileapi/file_system_url.h" |
#include "webkit/browser/fileapi/isolated_context.h" |
#include "webkit/common/fileapi/file_system_util.h" |
@@ -309,6 +310,28 @@ void DevToolsFileHelper::AddFileSystem( |
base::FilePath()); |
} |
+void DevToolsFileHelper::UpgradeDraggedFileSystemPermissions( |
+ const std::string& file_system_url, |
+ const AddFileSystemCallback& callback, |
+ const ShowInfoBarCallback& show_info_bar_callback) { |
+ fileapi::FileSystemURL root_url = |
+ isolated_context()->CrackURL(GURL(file_system_url)); |
+ if (!root_url.is_valid() || !root_url.path().empty()) { |
+ callback.Run(FileSystem()); |
+ return; |
+ } |
+ |
+ std::vector<fileapi::MountPoints::MountPointInfo> mount_points; |
+ isolated_context()->GetDraggedFileInfo(root_url.filesystem_id(), |
+ &mount_points); |
+ |
+ std::vector<fileapi::MountPoints::MountPointInfo>::const_iterator it = |
+ mount_points.begin(); |
+ for (; it != mount_points.end(); ++it) { |
+ InnerAddFileSystem(callback, show_info_bar_callback, it->path); |
pfeldman
2013/11/05 06:10:54
drop {}
|
+ } |
+} |
+ |
void DevToolsFileHelper::InnerAddFileSystem( |
const AddFileSystemCallback& callback, |
const ShowInfoBarCallback& show_info_bar_callback, |