Chromium Code Reviews| Index: extensions/browser/api/file_system/file_system_api.h |
| diff --git a/chrome/browser/extensions/api/file_system/file_system_api.h b/extensions/browser/api/file_system/file_system_api.h |
| similarity index 86% |
| rename from chrome/browser/extensions/api/file_system/file_system_api.h |
| rename to extensions/browser/api/file_system/file_system_api.h |
| index f65f4183c3267efacc3c3a84a61ff4f836364c12..4cc37a30c257c8c7f6eb13fc9d10f26af047172c 100644 |
| --- a/chrome/browser/extensions/api/file_system/file_system_api.h |
| +++ b/extensions/browser/api/file_system/file_system_api.h |
| @@ -1,9 +1,9 @@ |
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef CHROME_BROWSER_EXTENSIONS_API_FILE_SYSTEM_FILE_SYSTEM_API_H_ |
| -#define CHROME_BROWSER_EXTENSIONS_API_FILE_SYSTEM_FILE_SYSTEM_API_H_ |
| +#ifndef EXTENSIONS_BROWSER_API_FILE_SYSTEM_FILE_SYSTEM_API_H_ |
| +#define EXTENSIONS_BROWSER_API_FILE_SYSTEM_FILE_SYSTEM_API_H_ |
| #include <memory> |
| #include <string> |
| @@ -12,19 +12,12 @@ |
| #include "base/files/file.h" |
| #include "base/files/file_path.h" |
| #include "base/macros.h" |
| -#include "base/memory/weak_ptr.h" |
| #include "base/values.h" |
| #include "build/build_config.h" |
| -#include "chrome/browser/extensions/chrome_extension_function.h" |
| -#include "chrome/browser/extensions/chrome_extension_function_details.h" |
| -#include "chrome/common/extensions/api/file_system.h" |
| #include "extensions/browser/extension_function.h" |
| +#include "extensions/common/api/file_system.h" |
| #include "ui/shell_dialogs/select_file_dialog.h" |
| -#if defined(OS_CHROMEOS) |
| -#include "chrome/browser/extensions/api/file_system/consent_provider.h" |
| -#endif |
| - |
| namespace extensions { |
| class ExtensionPrefs; |
| @@ -42,12 +35,6 @@ void SetLastChooseEntryDirectory(ExtensionPrefs* prefs, |
| const std::string& extension_id, |
| const base::FilePath& path); |
| -#if defined(OS_CHROMEOS) |
| -// Dispatches an event about a mounted on unmounted volume in the system to |
| -// each extension which can request it. |
| -void DispatchVolumeListChangeEvent(Profile* profile); |
| -#endif |
| - |
| } // namespace file_system_api |
| class FileSystemGetDisplayPathFunction : public UIThreadExtensionFunction { |
| @@ -60,7 +47,7 @@ class FileSystemGetDisplayPathFunction : public UIThreadExtensionFunction { |
| ResponseAction Run() override; |
| }; |
| -class FileSystemEntryFunction : public ChromeAsyncExtensionFunction { |
| +class FileSystemEntryFunction : public UIThreadExtensionFunction { |
| protected: |
| FileSystemEntryFunction(); |
| @@ -103,7 +90,7 @@ class FileSystemGetWritableEntryFunction : public FileSystemEntryFunction { |
| protected: |
| ~FileSystemGetWritableEntryFunction() override {} |
| - bool RunAsync() override; |
| + ResponseAction Run() override; |
| private: |
| void CheckPermissionAndSendResponse(); |
| @@ -158,7 +145,7 @@ class FileSystemChooseEntryFunction : public FileSystemEntryFunction { |
| class FilePicker; |
| ~FileSystemChooseEntryFunction() override {} |
| - bool RunAsync() override; |
| + ResponseAction Run() override; |
| void ShowPicker(const ui::SelectFileDialog::FileTypeInfo& file_type_info, |
| ui::SelectFileDialog::Type picker_type); |
| @@ -175,25 +162,27 @@ class FileSystemChooseEntryFunction : public FileSystemEntryFunction { |
| void FileSelectionCanceled(); |
| // Check if the chosen directory is or is an ancestor of a sensitive |
| - // directory. If so, show a dialog to confirm that the user wants to open the |
| - // directory. Calls OnDirectoryAccessConfirmed if the directory isn't |
| - // sensitive or the user chooses to open it. Otherwise, calls |
| - // FileSelectionCanceled. |
| + // directory. If so, calls ConfirmSensitiveDirectoryAccess. Otherwise, calls |
| + // OnDirectoryAccessConfirmed. |
| void ConfirmDirectoryAccessAsync(bool non_native_path, |
| const std::vector<base::FilePath>& paths, |
| content::WebContents* web_contents); |
|
Devlin
2017/06/14 14:53:22
\n
michaelpg
2017/06/21 00:40:08
Done.
|
| + // Shows a dialog to confirm whether the user wants to open the directory. |
| + // Calls OnDirectoryAccessConfirmed or FileSelectionCanceled. |
| + void ConfirmSensitiveDirectoryAccess(const std::vector<base::FilePath>& paths, |
| + content::WebContents* web_contents); |
|
Devlin
2017/06/14 14:53:22
\n
michaelpg
2017/06/21 00:40:07
Done.
|
| void OnDirectoryAccessConfirmed(const std::vector<base::FilePath>& paths); |
| base::FilePath initial_path_; |
| }; |
| -class FileSystemRetainEntryFunction : public ChromeAsyncExtensionFunction { |
| +class FileSystemRetainEntryFunction : public UIThreadExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION("fileSystem.retainEntry", FILESYSTEM_RETAINENTRY) |
| protected: |
| ~FileSystemRetainEntryFunction() override {} |
| - bool RunAsync() override; |
| + ResponseAction Run() override; |
| private: |
| // Retains the file entry referenced by |entry_id| in apps::SavedFilesService. |
| @@ -220,7 +209,7 @@ class FileSystemRestoreEntryFunction : public FileSystemEntryFunction { |
| protected: |
| ~FileSystemRestoreEntryFunction() override {} |
| - bool RunAsync() override; |
| + ResponseAction Run() override; |
| }; |
| class FileSystemObserveDirectoryFunction : public UIThreadExtensionFunction { |
| @@ -297,11 +286,8 @@ class FileSystemRequestFileSystemFunction : public UIThreadExtensionFunction { |
| private: |
| // Called when a user grants or rejects permissions for the file system |
| // access. |
| - void OnConsentReceived(const base::WeakPtr<file_manager::Volume>& volume, |
| - bool writable, |
| - file_system_api::ConsentProvider::Consent result); |
| - |
| - ChromeExtensionFunctionDetails chrome_details_; |
| + void OnGotFileSystem(const std::string& id, const std::string& path); |
| + void OnError(const std::string& error); |
| }; |
| // Requests a list of available volumes. |
| @@ -318,10 +304,11 @@ class FileSystemGetVolumeListFunction : public UIThreadExtensionFunction { |
| ExtensionFunction::ResponseAction Run() override; |
| private: |
| - ChromeExtensionFunctionDetails chrome_details_; |
| + void OnGotVolumeList(const std::vector<api::file_system::Volume>& volumes); |
| + void OnError(const std::string& error); |
| }; |
| #endif |
| } // namespace extensions |
| -#endif // CHROME_BROWSER_EXTENSIONS_API_FILE_SYSTEM_FILE_SYSTEM_API_H_ |
| +#endif // EXTENSIONS_BROWSER_API_FILE_SYSTEM_FILE_SYSTEM_API_H_ |