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