From e7e46736cc27f6499d89141eb9e546866ba24754 Mon Sep 17 00:00:00 2001 From: "kinuko@chromium.org" Date: Thu, 5 Jan 2012 11:45:55 +0000 Subject: Cleanup: Removing FileSystemPathManager - Deprecating FileSystemPathManager, which I believe no longer has a lot of reasons to exist * Changed GetFileSystemTypeString to a regular function in file_system_util * Added GetFileUtil(FileSystemType), GetMountPointProvider(FileSystemType), external_provider() to FileSystemContext * Moved all the tests in file_system_path_manager_unittest to file_system_mount_point_provider_unittest - Also replaced two boolean values in FileSystemContext with a thin FileSystemOptions interface BUG=none TEST=no functional changes Review URL: http://codereview.chromium.org/9004019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116482 0039d316-1c4b-4281-b951-d872f2087c98 --- webkit/fileapi/file_system_options.h | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 webkit/fileapi/file_system_options.h (limited to 'webkit/fileapi/file_system_options.h') diff --git a/webkit/fileapi/file_system_options.h b/webkit/fileapi/file_system_options.h new file mode 100644 index 0000000..ccba7a0 --- /dev/null +++ b/webkit/fileapi/file_system_options.h @@ -0,0 +1,51 @@ +// Copyright (c) 2012 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 WEBKIT_FILEAPI_FILE_SYSTEM_OPTIONS_H_ +#define WEBKIT_FILEAPI_FILE_SYSTEM_OPTIONS_H_ + +#include +#include + +namespace fileapi { + +// Provides runtime options that may change FileSystem API behavior. +// This object is copyable. +class FileSystemOptions { + public: + enum ProfileMode { + PROFILE_MODE_NORMAL = 0, + PROFILE_MODE_INCOGNITO + }; + + // |profile_mode| specifies if the profile (for this filesystem) + // is running in incognito mode (PROFILE_MODE_INCOGNITO) or no + // (PROFILE_MODE_NORMAL). + // |additional_allowed_schemes| specifies schemes that are allowed + // to access FileSystem API in addition to "http" and "https". + FileSystemOptions( + ProfileMode profile_mode, + const std::vector& additional_allowed_schemes); + + ~FileSystemOptions(); + + // Returns true if it is running in the incognito mode. + bool is_incognito() const { return profile_mode_ == PROFILE_MODE_INCOGNITO; } + + // Returns the schemes that must be allowed to access FileSystem API + // in addition to standard "http" and "https". + // (e.g. If the --allow-file-access-from-files option is given in chrome + // "file" scheme will also need to be allowed). + const std::vector& additional_allowed_schemes() const { + return additional_allowed_schemes_; + } + + private: + const ProfileMode profile_mode_; + const std::vector additional_allowed_schemes_; +}; + +} // namespace fileapi + +#endif // WEBKIT_FILEAPI_FILE_SYSTEM_OPTIONS_H_ -- cgit v1.1