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