• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 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_MOCK_BROWSING_DATA_LOCAL_STORAGE_HELPER_H_
6 #define CHROME_BROWSER_MOCK_BROWSING_DATA_LOCAL_STORAGE_HELPER_H_
7 #pragma once
8 
9 #include <map>
10 #include <vector>
11 
12 #include "base/callback.h"
13 #include "chrome/browser/browsing_data_local_storage_helper.h"
14 
15 // Mock for BrowsingDataLocalStorageHelper.
16 // Use AddLocalStorageSamples() or add directly to response_ vector, then
17 // call Notify().
18 class MockBrowsingDataLocalStorageHelper
19     : public BrowsingDataLocalStorageHelper {
20  public:
21   explicit MockBrowsingDataLocalStorageHelper(Profile* profile);
22 
23   virtual void StartFetching(
24       Callback1<const std::vector<LocalStorageInfo>& >::Type* callback);
25 
26   virtual void CancelNotification();
27 
28   virtual void DeleteLocalStorageFile(const FilePath& file_path);
29 
30   // Adds some LocalStorageInfo samples.
31   void AddLocalStorageSamples();
32 
33   // Notifies the callback.
34   void Notify();
35 
36   // Marks all local storage files as existing.
37   void Reset();
38 
39   // Returns true if all local storage files were deleted since the last
40   // Reset() invokation.
41   bool AllDeleted();
42 
43   FilePath last_deleted_file_;
44 
45  private:
46   virtual ~MockBrowsingDataLocalStorageHelper();
47 
48   Profile* profile_;
49 
50   scoped_ptr<Callback1<const std::vector<LocalStorageInfo>& >::Type >
51       callback_;
52 
53   std::map<const FilePath::StringType, bool> files_;
54 
55   std::vector<LocalStorageInfo> response_;
56 };
57 
58 #endif  // CHROME_BROWSER_MOCK_BROWSING_DATA_LOCAL_STORAGE_HELPER_H_
59