summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/file_system_options.h
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-05 11:45:55 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-05 11:45:55 +0000
commite7e46736cc27f6499d89141eb9e546866ba24754 (patch)
tree49ef8f4acebc8e0a6949802dec6fac9ff8369f71 /webkit/fileapi/file_system_options.h
parent3465d85d92cf1e3e90f882806fd1758d3132441b (diff)
downloadchromium_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.h51
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_