Obey renderer-supplied quota in the browser.
[chromium-blink-merge.git] / ppapi / shared_impl / file_system_util.cc
blob330995cceb8d57c7807e013481e05767ed0828b7
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ppapi/shared_impl/file_system_util.h"
7 #include "base/logging.h"
9 namespace ppapi {
11 fileapi::FileSystemType PepperFileSystemTypeToFileSystemType(
12 PP_FileSystemType type) {
13 switch (type) {
14 case PP_FILESYSTEMTYPE_LOCALTEMPORARY:
15 return fileapi::kFileSystemTypeTemporary;
16 case PP_FILESYSTEMTYPE_LOCALPERSISTENT:
17 return fileapi::kFileSystemTypePersistent;
18 case PP_FILESYSTEMTYPE_EXTERNAL:
19 return fileapi::kFileSystemTypeExternal;
20 default:
21 return fileapi::kFileSystemTypeUnknown;
25 bool FileSystemTypeIsValid(PP_FileSystemType type) {
26 return (type == PP_FILESYSTEMTYPE_LOCALPERSISTENT ||
27 type == PP_FILESYSTEMTYPE_LOCALTEMPORARY ||
28 type == PP_FILESYSTEMTYPE_EXTERNAL ||
29 type == PP_FILESYSTEMTYPE_ISOLATED);
32 bool FileSystemTypeHasQuota(PP_FileSystemType type) {
33 return (type == PP_FILESYSTEMTYPE_LOCALTEMPORARY ||
34 type == PP_FILESYSTEMTYPE_LOCALPERSISTENT);
37 std::string IsolatedFileSystemTypeToRootName(
38 PP_IsolatedFileSystemType_Private type) {
39 switch (type) {
40 case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX:
41 return "crxfs";
42 case PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_PLUGINPRIVATE:
43 return "pluginprivate";
44 default:
45 NOTREACHED() << type;
46 return std::string();
50 } // namespace ppapi