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