1// Copyright (c) 2012 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_BROWSING_DATA_MOCK_BROWSING_DATA_INDEXED_DB_HELPER_H_ 6#define CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_INDEXED_DB_HELPER_H_ 7 8#include <list> 9#include <map> 10 11#include "base/callback.h" 12#include "base/compiler_specific.h" 13#include "chrome/browser/browsing_data/browsing_data_indexed_db_helper.h" 14 15class Profile; 16 17// Mock for BrowsingDataIndexedDBHelper. 18// Use AddIndexedDBSamples() or add directly to response_ list, then 19// call Notify(). 20class MockBrowsingDataIndexedDBHelper 21 : public BrowsingDataIndexedDBHelper { 22 public: 23 explicit MockBrowsingDataIndexedDBHelper(Profile* profile); 24 25 // Adds some IndexedDBInfo samples. 26 void AddIndexedDBSamples(); 27 28 // Notifies the callback. 29 void Notify(); 30 31 // Marks all indexed db files as existing. 32 void Reset(); 33 34 // Returns true if all indexed db files were deleted since the last 35 // Reset() invokation. 36 bool AllDeleted(); 37 38 // BrowsingDataIndexedDBHelper. 39 virtual void StartFetching( 40 const base::Callback<void(const std::list<content::IndexedDBInfo>&)>& 41 callback) OVERRIDE; 42 virtual void DeleteIndexedDB(const GURL& origin) OVERRIDE; 43 44 private: 45 virtual ~MockBrowsingDataIndexedDBHelper(); 46 47 base::Callback<void(const std::list<content::IndexedDBInfo>&)> callback_; 48 std::map<GURL, bool> origins_; 49 std::list<content::IndexedDBInfo> response_; 50 51 DISALLOW_COPY_AND_ASSIGN(MockBrowsingDataIndexedDBHelper); 52}; 53 54#endif // CHROME_BROWSER_BROWSING_DATA_MOCK_BROWSING_DATA_INDEXED_DB_HELPER_H_ 55