• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "ppapi/shared_impl/file_system_util.h"
6 
7 #include "base/logging.h"
8 
9 namespace ppapi {
10 
PepperFileSystemTypeToFileSystemType(PP_FileSystemType type)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;
22   }
23 }
24 
FileSystemTypeIsValid(PP_FileSystemType type)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);
30 }
31 
FileSystemTypeHasQuota(PP_FileSystemType type)32 bool FileSystemTypeHasQuota(PP_FileSystemType type) {
33   return (type == PP_FILESYSTEMTYPE_LOCALTEMPORARY ||
34           type == PP_FILESYSTEMTYPE_LOCALPERSISTENT);
35 }
36 
IsolatedFileSystemTypeToRootName(PP_IsolatedFileSystemType_Private type)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();
47   }
48 }
49 
50 }  // namespace ppapi
51