Index: chrome/browser/chromeos/extensions/file_manager/file_browser_handler_api.cc |
diff --git a/chrome/browser/chromeos/extensions/file_manager/file_browser_handler_api.cc b/chrome/browser/chromeos/extensions/file_manager/file_browser_handler_api.cc |
index b36285e4bea8b15c5249b889bc9f9e63f2b5b8f6..f80e275abb03b6277cd9e539189597c1cd4f2801 100644 |
--- a/chrome/browser/chromeos/extensions/file_manager/file_browser_handler_api.cc |
+++ b/chrome/browser/chromeos/extensions/file_manager/file_browser_handler_api.cc |
@@ -326,26 +326,6 @@ void FileBrowserHandlerInternalSelectFileFunction::OnFilePathSelected( |
external_backend->GetVirtualPath(full_path, &file_definition.virtual_path); |
DCHECK(!file_definition.virtual_path.empty()); |
- file_manager::util::ConvertFileDefinitionToEntryDefinition( |
- GetProfile(), |
- extension_id(), |
- file_definition, |
- base::Bind( |
- &FileBrowserHandlerInternalSelectFileFunction::GrantPermissions, |
- this, |
- full_path, |
- file_definition)); |
-} |
- |
-void FileBrowserHandlerInternalSelectFileFunction::GrantPermissions( |
- const base::FilePath& full_path, |
- const FileDefinition& file_definition, |
- const EntryDefinition& entry_definition) { |
- fileapi::ExternalFileSystemBackend* external_backend = |
- file_manager::util::GetFileSystemContextForRenderViewHost( |
- GetProfile(), render_view_host())->external_backend(); |
- DCHECK(external_backend); |
- |
// Grant access to this particular file to target extension. This will |
// ensure that the target extension can access only this FS entry and |
// prevent from traversing FS hierarchy upward. |
@@ -356,6 +336,17 @@ void FileBrowserHandlerInternalSelectFileFunction::GrantPermissions( |
content::ChildProcessSecurityPolicy::GetInstance()->GrantCreateReadWriteFile( |
render_view_host()->GetProcess()->GetID(), full_path); |
+ file_manager::util::ConvertFileDefinitionToEntryDefinition( |
+ GetProfile(), |
+ extension_id(), |
+ file_definition, |
+ base::Bind( |
+ &FileBrowserHandlerInternalSelectFileFunction::RespondEntryDefinition, |
+ this)); |
+} |
+ |
+void FileBrowserHandlerInternalSelectFileFunction::RespondEntryDefinition( |
+ const EntryDefinition& entry_definition) { |
Respond(entry_definition, true); |
} |