Home | History | Annotate | Download | only in shared_impl
      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 
     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 
     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 
     32 bool FileSystemTypeHasQuota(PP_FileSystemType type) {
     33   return (type == PP_FILESYSTEMTYPE_LOCALTEMPORARY ||
     34           type == PP_FILESYSTEMTYPE_LOCALPERSISTENT);
     35 }
     36 
     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