// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef STORAGE_BROWSER_FILE_SYSTEM_SANDBOX_DIRECTORY_DATABASE_H_ #define STORAGE_BROWSER_FILE_SYSTEM_SANDBOX_DIRECTORY_DATABASE_H_ #include <stdint.h> #include <memory> #include <string> #include <vector> #include "base/component_export.h" #include "base/files/file.h" #include "base/files/file_path.h" #include "base/memory/raw_ptr.h" #include "base/time/time.h" namespace base { class Location; } namespace leveldb { class DB; class Env; class Status; class WriteBatch; } // namespace leveldb namespace storage { // This class WILL NOT protect you against producing directory loops, giving an // empty directory a backing data file, giving two files the same backing file, // or pointing to a nonexistent backing file. It does no file IO other than // that involved with talking to its underlying database. It does not create or // in any way touch real files; it only creates path entries in its database. // TODO(ericu): Safe mode, which does more checks such as the above on debug // builds. // TODO(ericu): Add a method that will give a unique filename for a data file. class COMPONENT_EXPORT(STORAGE_BROWSER) SandboxDirectoryDatabase { … }; } // namespace storage #endif // STORAGE_BROWSER_FILE_SYSTEM_SANDBOX_DIRECTORY_DATABASE_H_