// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/mock_browsing_data_database_helper.h" #include "base/callback.h" MockBrowsingDataDatabaseHelper::MockBrowsingDataDatabaseHelper( Profile* profile) : BrowsingDataDatabaseHelper(profile), profile_(profile) { } MockBrowsingDataDatabaseHelper::~MockBrowsingDataDatabaseHelper() { } void MockBrowsingDataDatabaseHelper::StartFetching( Callback1<const std::vector<DatabaseInfo>& >::Type* callback) { callback_.reset(callback); } void MockBrowsingDataDatabaseHelper::CancelNotification() { callback_.reset(NULL); } void MockBrowsingDataDatabaseHelper::DeleteDatabase( const std::string& origin, const std::string& name) { std::string key = origin + ":" + name; CHECK(databases_.find(key) != databases_.end()); last_deleted_origin_ = origin; last_deleted_db_ = name; databases_[key] = false; } void MockBrowsingDataDatabaseHelper::AddDatabaseSamples() { response_.push_back(BrowsingDataDatabaseHelper::DatabaseInfo( "gdbhost1", "db1", "http_gdbhost1_1", "description 1", "http://gdbhost1:1/", 1, base::Time())); databases_["http_gdbhost1_1:db1"] = true; response_.push_back(BrowsingDataDatabaseHelper::DatabaseInfo( "gdbhost2", "db2", "http_gdbhost2_2", "description 2", "http://gdbhost2:2/", 2, base::Time())); databases_["http_gdbhost2_2:db2"] = true; } void MockBrowsingDataDatabaseHelper::Notify() { CHECK(callback_.get()); callback_->Run(response_); } void MockBrowsingDataDatabaseHelper::Reset() { for (std::map<const std::string, bool>::iterator i = databases_.begin(); i != databases_.end(); ++i) i->second = true; } bool MockBrowsingDataDatabaseHelper::AllDeleted() { for (std::map<const std::string, bool>::const_iterator i = databases_.begin(); i != databases_.end(); ++i) if (i->second) return false; return true; }