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