#include <string>
#include <vector>
#include "base/containers/contains.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/strings/utf_string_conversions.h"
#include "base/test/gmock_callback_support.h"
#include "base/test/scoped_feature_list.h"
#include "base/threading/thread_restrictions.h"
#include "build/build_config.h"
#include "content/browser/file_system_access/file_system_access_manager_impl.h"
#include "content/browser/file_system_access/fixed_file_system_access_permission_grant.h"
#include "content/browser/file_system_access/mock_file_system_access_permission_context.h"
#include "content/browser/file_system_access/mock_file_system_access_permission_grant.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/back_forward_cache_util.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/content_browser_test.h"
#include "content/public/test/content_browser_test_utils.h"
#include "content/public/test/fake_file_system_access_permission_context.h"
#include "content/public/test/file_system_chooser_test_helpers.h"
#include "content/public/test/test_utils.h"
#include "content/shell/browser/shell.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "storage/browser/file_system/external_mount_points.h"
#include "third_party/blink/public/mojom/file_system_access/file_system_access_manager.mojom-shared.h"
#include "third_party/blink/public/mojom/frame/fullscreen.mojom.h"
#include "ui/shell_dialogs/select_file_dialog.h"
#include "ui/shell_dialogs/select_file_dialog_factory.h"
#include "ui/shell_dialogs/select_file_policy.h"
#include "ui/shell_dialogs/selected_file_info.h"
namespace content {
RunOnceCallback;
PermissionStatus;
SensitiveEntryResult;
PathInfo;
PathType;
static constexpr char kTestMountPoint[] = …;
class FileSystemChooserBrowserTest : public ContentBrowserTest { … };
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, CancelDialog) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, OpenFile) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, OpenFileNonASCII) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, FullscreenOpenFile) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenFile_BlockedPermission) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, OpenFile_ExternalPath) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, SaveFile_NonExistingFile) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
SaveFile_TruncatesExistingFile) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
SaveFile_NoEnterpriseChecks) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
SaveFile_BlockedPermission) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, FullscreenSaveFile) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, OpenMultipleFiles) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
FullscreenOpenMultipleFiles) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, OpenDirectory) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, FullscreenOpenDirectory) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenDirectory_BlockedPermission) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, OpenDirectory_DenyAccess) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenDirectoryWithReadAccess) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenDirectoryWithReadWriteAccess) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
SaveFile_SensitiveDirectory_ExistingFile) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
SaveFile_SensitiveDirectory_NonExistingFile) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, AcceptsOptions) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, UndefinedAccepts) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenDirectory_LastPickedDirExists) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenDirectory_LastPickedDirNotExists) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenDirectory_LastPickedDirExistsExternal) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
OpenDirectory_LastPickedDirNotExistsExternal) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
StartIn_WellKnownDirectory) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, StartIn_FileHandle) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, StartIn_DirectoryHandle) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
StartIn_FileHandle_External) { … }
#if BUILDFLAG(IS_POSIX)
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, StartIn_Symlink) { … }
#endif
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, SuggestedName) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest,
SuggestedName_CorrectIndex) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, StartIn_ID) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, StartIn_Priority) { … }
IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, PickerTitle) { … }
class FileSystemChooserBackForwardCacheBrowserTest
: public FileSystemChooserBrowserTest { … };
IN_PROC_BROWSER_TEST_F(FileSystemChooserBackForwardCacheBrowserTest,
IsEligibleForBackForwardCache) { … }
}