diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-05 11:45:55 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-05 11:45:55 +0000 |
commit | e7e46736cc27f6499d89141eb9e546866ba24754 (patch) | |
tree | 49ef8f4acebc8e0a6949802dec6fac9ff8369f71 /webkit/fileapi/file_system_options.h | |
parent | 3465d85d92cf1e3e90f882806fd1758d3132441b (diff) | |
download | chromium_src-e7e46736cc27f6499d89141eb9e546866ba24754.zip chromium_src-e7e46736cc27f6499d89141eb9e546866ba24754.tar.gz chromium_src-e7e46736cc27f6499d89141eb9e546866ba24754.tar.bz2 |
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
Diffstat (limited to 'webkit/fileapi/file_system_options.h')
-rw-r--r-- | webkit/fileapi/file_system_options.h | 51 |
1 files changed, 51 insertions, 0 deletions
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 <string> +#include <vector> + +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<std::string>& 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<std::string>& additional_allowed_schemes() const { + return additional_allowed_schemes_; + } + + private: + const ProfileMode profile_mode_; + const std::vector<std::string> additional_allowed_schemes_; +}; + +} // namespace fileapi + +#endif // WEBKIT_FILEAPI_FILE_SYSTEM_OPTIONS_H_ |