• 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_DATABASE_HELPER_H_
6 #define CHROME_BROWSER_MOCK_BROWSING_DATA_DATABASE_HELPER_H_
7 #pragma once
8 
9 #include <map>
10 #include <vector>
11 
12 #include "base/callback.h"
13 
14 #include "chrome/browser/browsing_data_database_helper.h"
15 
16 // Mock for BrowsingDataDatabaseHelper.
17 // Use AddDatabaseSamples() or add directly to response_ vector, then call
18 // Notify().
19 class MockBrowsingDataDatabaseHelper : public BrowsingDataDatabaseHelper {
20  public:
21   explicit MockBrowsingDataDatabaseHelper(Profile* profile);
22 
23   virtual void StartFetching(
24       Callback1<const std::vector<DatabaseInfo>& >::Type* callback);
25 
26   virtual void CancelNotification();
27 
28   virtual void DeleteDatabase(const std::string& origin,
29       const std::string& name);
30 
31   // Adds some DatabaseInfo samples.
32   void AddDatabaseSamples();
33 
34   // Notifies the callback.
35   void Notify();
36 
37   // Marks all databases as existing.
38   void Reset();
39 
40   // Returns true if all databases since the last Reset() invokation were
41   // deleted.
42   bool AllDeleted();
43 
44   std::string last_deleted_origin_;
45 
46   std::string last_deleted_db_;
47 
48  private:
49   virtual ~MockBrowsingDataDatabaseHelper();
50 
51   Profile* profile_;
52 
53   scoped_ptr<Callback1<const std::vector<DatabaseInfo>& >::Type >
54       callback_;
55 
56   // Stores which databases exist.
57   std::map<const std::string, bool> databases_;
58 
59   std::vector<DatabaseInfo> response_;
60 };
61 
62 #endif  // CHROME_BROWSER_MOCK_BROWSING_DATA_DATABASE_HELPER_H_
63