| Index: apps/saved_files_service_impl.h | 
| diff --git a/apps/saved_files_service.h b/apps/saved_files_service_impl.h | 
| similarity index 46% | 
| copy from apps/saved_files_service.h | 
| copy to apps/saved_files_service_impl.h | 
| index 927f22b985869eccca6f5787920c180b37b34dad..da1c92c57c7c79b9913d632b2e35a11556c3738f 100644 | 
| --- a/apps/saved_files_service.h | 
| +++ b/apps/saved_files_service_impl.h | 
| @@ -2,8 +2,8 @@ | 
| // 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_ | 
| +#ifndef APPS_SAVED_FILES_SERVICE_IMPL_H_ | 
| +#define APPS_SAVED_FILES_SERVICE_IMPL_H_ | 
|  | 
| #include <map> | 
| #include <memory> | 
| @@ -16,15 +16,17 @@ | 
| #include "components/keyed_service/core/keyed_service.h" | 
| #include "content/public/browser/notification_observer.h" | 
| #include "content/public/browser/notification_registrar.h" | 
| +#include "extensions/browser/api/file_system/saved_files_service.h" | 
|  | 
| namespace content { | 
| class BrowserContext; | 
| } | 
|  | 
| -class SavedFilesServiceUnitTest; | 
| -FORWARD_DECLARE_TEST(SavedFilesServiceUnitTest, RetainTwoFilesTest); | 
| -FORWARD_DECLARE_TEST(SavedFilesServiceUnitTest, EvictionTest); | 
| -FORWARD_DECLARE_TEST(SavedFilesServiceUnitTest, SequenceNumberCompactionTest); | 
| +class SavedFilesServiceImplUnitTest; | 
| +FORWARD_DECLARE_TEST(SavedFilesServiceImplUnitTest, RetainTwoFilesTest); | 
| +FORWARD_DECLARE_TEST(SavedFilesServiceImplUnitTest, EvictionTest); | 
| +FORWARD_DECLARE_TEST(SavedFilesServiceImplUnitTest, | 
| +                     SequenceNumberCompactionTest); | 
|  | 
| namespace extensions { | 
| class Extension; | 
| @@ -32,67 +34,31 @@ 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 { | 
| +class SavedFilesServiceImpl : public extensions::SavedFilesService, | 
| +                              public KeyedService, | 
| +                              public content::NotificationObserver { | 
| public: | 
| -  explicit SavedFilesService(content::BrowserContext* context); | 
| -  ~SavedFilesService() override; | 
| +  explicit SavedFilesServiceImpl(content::BrowserContext* context); | 
| +  ~SavedFilesServiceImpl() override; | 
|  | 
| -  static SavedFilesService* Get(content::BrowserContext* context); | 
| +  static SavedFilesServiceImpl* 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. | 
| +  // extensions::SavedFilesService: | 
| 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); | 
| +                         bool is_directory) override; | 
| +  void EnqueueFileEntry(const std::string& extension_id, | 
| +                        const std::string& id) override; | 
| +  bool IsRegistered(const std::string& extension_id, | 
| +                    const std::string& id) override; | 
| +  const Entry* GetFileEntry(const std::string& extension_id, | 
| +                            const std::string& id) override; | 
|  | 
| // Returns all registered file entries. | 
| -  std::vector<SavedFileEntry> GetAllFileEntries( | 
| -      const std::string& extension_id); | 
| +  std::vector<Entry> GetAllFileEntries(const std::string& extension_id); | 
|  | 
| // Clears all retained files if the app does not have the | 
| // fileSystem.retainEntries permission. | 
| @@ -105,11 +71,11 @@ class SavedFilesService : public KeyedService, | 
| void OnApplicationTerminating(); | 
|  | 
| private: | 
| -  FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceUnitTest, RetainTwoFilesTest); | 
| -  FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceUnitTest, EvictionTest); | 
| -  FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceUnitTest, | 
| +  FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceImplUnitTest, RetainTwoFilesTest); | 
| +  FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceImplUnitTest, EvictionTest); | 
| +  FRIEND_TEST_ALL_PREFIXES(::SavedFilesServiceImplUnitTest, | 
| SequenceNumberCompactionTest); | 
| -  friend class ::SavedFilesServiceUnitTest; | 
| +  friend class ::SavedFilesServiceImplUnitTest; | 
|  | 
| // A container for the registered files for an app. | 
| class SavedFiles; | 
| @@ -138,7 +104,7 @@ class SavedFilesService : public KeyedService, | 
| content::NotificationRegistrar registrar_; | 
| content::BrowserContext* context_; | 
|  | 
| -  DISALLOW_COPY_AND_ASSIGN(SavedFilesService); | 
| +  DISALLOW_COPY_AND_ASSIGN(SavedFilesServiceImpl); | 
| }; | 
|  | 
| }  // namespace apps | 
|  |