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#include "chrome/browser/mock_browsing_data_database_helper.h" 6 7#include "base/callback.h" 8 9MockBrowsingDataDatabaseHelper::MockBrowsingDataDatabaseHelper( 10 Profile* profile) 11 : BrowsingDataDatabaseHelper(profile), 12 profile_(profile) { 13} 14 15MockBrowsingDataDatabaseHelper::~MockBrowsingDataDatabaseHelper() { 16} 17 18void MockBrowsingDataDatabaseHelper::StartFetching( 19 Callback1<const std::vector<DatabaseInfo>& >::Type* callback) { 20 callback_.reset(callback); 21} 22 23void MockBrowsingDataDatabaseHelper::CancelNotification() { 24 callback_.reset(NULL); 25} 26 27void MockBrowsingDataDatabaseHelper::DeleteDatabase( 28 const std::string& origin, 29 const std::string& name) { 30 std::string key = origin + ":" + name; 31 CHECK(databases_.find(key) != databases_.end()); 32 last_deleted_origin_ = origin; 33 last_deleted_db_ = name; 34 databases_[key] = false; 35} 36 37void MockBrowsingDataDatabaseHelper::AddDatabaseSamples() { 38 response_.push_back(BrowsingDataDatabaseHelper::DatabaseInfo( 39 "gdbhost1", "db1", "http_gdbhost1_1", "description 1", 40 "http://gdbhost1:1/", 1, base::Time())); 41 databases_["http_gdbhost1_1:db1"] = true; 42 response_.push_back(BrowsingDataDatabaseHelper::DatabaseInfo( 43 "gdbhost2", "db2", "http_gdbhost2_2", "description 2", 44 "http://gdbhost2:2/", 2, base::Time())); 45 databases_["http_gdbhost2_2:db2"] = true; 46} 47 48void MockBrowsingDataDatabaseHelper::Notify() { 49 CHECK(callback_.get()); 50 callback_->Run(response_); 51} 52 53void MockBrowsingDataDatabaseHelper::Reset() { 54 for (std::map<const std::string, bool>::iterator i = databases_.begin(); 55 i != databases_.end(); ++i) 56 i->second = true; 57} 58 59bool MockBrowsingDataDatabaseHelper::AllDeleted() { 60 for (std::map<const std::string, bool>::const_iterator i = databases_.begin(); 61 i != databases_.end(); ++i) 62 if (i->second) 63 return false; 64 return true; 65} 66