1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Use of this source code is governed by a BSD-style license that can be 3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// found in the LICENSE file. 4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#ifndef CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_ 6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#define CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_ 7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <list> 9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <map> 10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <string> 11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "base/callback.h" 13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "base/compiler_specific.h" 14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "chrome/browser/browsing_data/browsing_data_file_system_helper.h" 15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Mock for BrowsingDataFileSystemHelper. 17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Use AddFileSystemSamples() or add directly to response_ list, then call 18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Notify(). 19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathclass MockBrowsingDataFileSystemHelper : public BrowsingDataFileSystemHelper { 20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath public: 21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath explicit MockBrowsingDataFileSystemHelper(Profile* profile); 22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // BrowsingDataFileSystemHelper implementation. 24c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath virtual void StartFetching(const base::Callback< 25c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath void(const std::list<FileSystemInfo>&)>& callback) OVERRIDE; 26c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath virtual void DeleteFileSystemOrigin(const GURL& origin) OVERRIDE; 27c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 28c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // Adds a specific filesystem. 29c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath void AddFileSystem(const GURL& origin, 30c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath bool has_persistent, 31c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath bool has_temporary, 32c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath bool has_syncable); 33c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 34c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // Adds some FilesystemInfo samples. 35c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath void AddFileSystemSamples(); 36c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 37c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // Notifies the callback. 38c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath void Notify(); 39c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // Marks all filesystems as existing. 41c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath void Reset(); 42c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 43c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // Returns true if all filesystemss since the last Reset() invocation were 44c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // deleted. 45c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath bool AllDeleted(); 46c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 47c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GURL last_deleted_origin_; 48c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 49c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath private: 50c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath virtual ~MockBrowsingDataFileSystemHelper(); 51c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 52c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath base::Callback<void(const std::list<FileSystemInfo>&)> callback_; 53c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 54c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // Stores which filesystems exist. 55c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::map<const std::string, bool> file_systems_; 56c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 57c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::list<FileSystemInfo> response_; 58c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 59c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DISALLOW_COPY_AND_ASSIGN(MockBrowsingDataFileSystemHelper); 60c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath}; 61c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 62c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#endif // CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_ 63