- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / browsing_data / mock_browsing_data_file_system_helper.h
1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_
6 #define CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_
7
8 #include <list>
9 #include <map>
10
11 #include "base/callback.h"
12 #include "base/compiler_specific.h"
13 #include "chrome/browser/browsing_data/browsing_data_file_system_helper.h"
14
15 // Mock for BrowsingDataFileSystemHelper.
16 // Use AddFileSystemSamples() or add directly to response_ list, then call
17 // Notify().
18 class MockBrowsingDataFileSystemHelper : public BrowsingDataFileSystemHelper {
19  public:
20   explicit MockBrowsingDataFileSystemHelper(Profile* profile);
21
22   // BrowsingDataFileSystemHelper implementation.
23   virtual void StartFetching(const base::Callback<
24       void(const std::list<FileSystemInfo>&)>& callback) OVERRIDE;
25   virtual void DeleteFileSystemOrigin(const GURL& origin) OVERRIDE;
26
27   // Adds a specific filesystem.
28   void AddFileSystem(const GURL& origin,
29                      bool has_persistent,
30                      bool has_temporary,
31                      bool has_syncable);
32
33   // Adds some FilesystemInfo samples.
34   void AddFileSystemSamples();
35
36   // Notifies the callback.
37   void Notify();
38
39   // Marks all filesystems as existing.
40   void Reset();
41
42   // Returns true if all filesystemss since the last Reset() invocation were
43   // deleted.
44   bool AllDeleted();
45
46   GURL last_deleted_origin_;
47
48  private:
49   virtual ~MockBrowsingDataFileSystemHelper();
50
51   base::Callback<void(const std::list<FileSystemInfo>&)> callback_;
52
53   // Stores which filesystems exist.
54   std::map<const std::string, bool> file_systems_;
55
56   std::list<FileSystemInfo> response_;
57 };
58
59 #endif  // CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_FILE_SYSTEM_HELPER_H_