| Index: apps/saved_files_service.h
|
| diff --git a/apps/saved_files_service.h b/apps/saved_files_service.h
|
| deleted file mode 100644
|
| index 927f22b985869eccca6f5787920c180b37b34dad..0000000000000000000000000000000000000000
|
| --- a/apps/saved_files_service.h
|
| +++ /dev/null
|
| @@ -1,146 +0,0 @@
|
| -// Copyright 2013 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 APPS_SAVED_FILES_SERVICE_H_
|
| -#define APPS_SAVED_FILES_SERVICE_H_
|
| -
|
| -#include <map>
|
| -#include <memory>
|
| -#include <set>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/files/file_path.h"
|
| -#include "base/gtest_prod_util.h"
|
| -#include "components/keyed_service/core/keyed_service.h"
|
| -#include "content/public/browser/notification_observer.h"
|
| -#include "content/public/browser/notification_registrar.h"
|
| -
|
| -namespace content {
|
| -class BrowserContext;
|
| -}
|
| -
|
| -class SavedFilesServiceUnitTest;
|
| -FORWARD_DECLARE_TEST(SavedFilesServiceUnitTest, RetainTwoFilesTest);
|
| -FORWARD_DECLARE_TEST(SavedFilesServiceUnitTest, EvictionTest);
|
| -FORWARD_DECLARE_TEST(SavedFilesServiceUnitTest, SequenceNumberCompactionTest);
|
| -
|
| -namespace extensions {
|
| -class Extension;
|
| -}
|
| -
|
| -namespace apps {
|
| -
|
| -// Represents a file entry that a user has given an app permission to
|
| -// access. Will be persisted to disk (in the Preferences file), so should remain
|
| -// serializable.
|
| -struct SavedFileEntry {
|
| - SavedFileEntry();
|
| -
|
| - SavedFileEntry(const std::string& id,
|
| - const base::FilePath& path,
|
| - bool is_directory,
|
| - int sequence_number);
|
| -
|
| - // The opaque id of this file entry.
|
| - std::string id;
|
| -
|
| - // The path to a file entry that the app had permission to access.
|
| - base::FilePath path;
|
| -
|
| - // Whether or not the entry refers to a directory.
|
| - bool is_directory;
|
| -
|
| - // The sequence number in the LRU of the file entry. The value 0 indicates
|
| - // that the entry is not in the LRU.
|
| - int sequence_number;
|
| -};
|
| -
|
| -// Tracks the files that apps have retained access to both while running and
|
| -// when suspended.
|
| -class SavedFilesService : public KeyedService,
|
| - public content::NotificationObserver {
|
| - public:
|
| - explicit SavedFilesService(content::BrowserContext* context);
|
| - ~SavedFilesService() override;
|
| -
|
| - static SavedFilesService* Get(content::BrowserContext* context);
|
| -
|
| - // Registers a file entry with the saved files service, making it eligible to
|
| - // be put into the queue. File entries that are in the retained files queue at
|
| - // object construction are automatically registered.
|
| - void RegisterFileEntry(const std::string& extension_id,
|
| - const std::string& id,
|
| - const base::FilePath& file_path,
|
| - bool is_directory);
|
| -
|
| - // If the file with |id| is not in the queue of files to be retained
|
| - // permanently, adds the file to the back of the queue, evicting the least
|
| - // recently used entry at the front of the queue if it is full. If it is
|
| - // already present, moves it to the back of the queue. The |id| must have been
|
| - // registered.
|
| - void EnqueueFileEntry(const std::string& extension_id, const std::string& id);
|
| -
|
| - // Returns whether the file entry with the given |id| has been registered.
|
| - bool IsRegistered(const std::string& extension_id, const std::string& id);
|
| -
|
| - // Gets a borrowed pointer to the file entry with the specified |id|. Returns
|
| - // NULL if the file entry has not been registered.
|
| - const SavedFileEntry* GetFileEntry(const std::string& extension_id,
|
| - const std::string& id);
|
| -
|
| - // Returns all registered file entries.
|
| - std::vector<SavedFileEntry> GetAllFileEntries(
|
| - const std::string& extension_id);
|
| -
|
| - // Clears all retained files if the app does not have the
|
| - // fileSystem.retainEntries permission.
|
| - void ClearQueueIfNoRetainPermission(const extensions::Extension* extension);
|
| -
|
| - // Clears all retained files.
|
| - void ClearQueue(const extensions::Extension* extension);
|
| -
|
| - // Called to notify that the application has begun to exit.
|
| - void OnApplicationTerminating();
|
| -
|
| - private:
|
| - FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceUnitTest, RetainTwoFilesTest);
|
| - FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceUnitTest, EvictionTest);
|
| - FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceUnitTest,
|
| - SequenceNumberCompactionTest);
|
| - friend class ::SavedFilesServiceUnitTest;
|
| -
|
| - // A container for the registered files for an app.
|
| - class SavedFiles;
|
| -
|
| - // content::NotificationObserver.
|
| - void Observe(int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) override;
|
| -
|
| - // Returns the SavedFiles for |extension_id| or NULL if one does not exist.
|
| - SavedFiles* Get(const std::string& extension_id) const;
|
| -
|
| - // Returns the SavedFiles for |extension_id|, creating it if necessary.
|
| - SavedFiles* GetOrInsert(const std::string& extension_id);
|
| -
|
| - // Clears the SavedFiles for |extension_id|.
|
| - void Clear(const std::string& extension_id);
|
| -
|
| - static void SetMaxSequenceNumberForTest(int max_value);
|
| - static void ClearMaxSequenceNumberForTest();
|
| - static void SetLruSizeForTest(int size);
|
| - static void ClearLruSizeForTest();
|
| -
|
| - std::map<std::string, std::unique_ptr<SavedFiles>>
|
| - extension_id_to_saved_files_;
|
| - content::NotificationRegistrar registrar_;
|
| - content::BrowserContext* context_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SavedFilesService);
|
| -};
|
| -
|
| -} // namespace apps
|
| -
|
| -#endif // APPS_SAVED_FILES_SERVICE_H_
|
|
|