1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/mock_browsing_data_database_helper.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/callback.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochMockBrowsingDataDatabaseHelper::MockBrowsingDataDatabaseHelper( 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch Profile* profile) 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch : BrowsingDataDatabaseHelper(profile), 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch profile_(profile) { 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochMockBrowsingDataDatabaseHelper::~MockBrowsingDataDatabaseHelper() { 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid MockBrowsingDataDatabaseHelper::StartFetching( 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch Callback1<const std::vector<DatabaseInfo>& >::Type* callback) { 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch callback_.reset(callback); 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid MockBrowsingDataDatabaseHelper::CancelNotification() { 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch callback_.reset(NULL); 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid MockBrowsingDataDatabaseHelper::DeleteDatabase( 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string& origin, 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const std::string& name) { 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch std::string key = origin + ":" + name; 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CHECK(databases_.find(key) != databases_.end()); 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch last_deleted_origin_ = origin; 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch last_deleted_db_ = name; 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch databases_[key] = false; 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid MockBrowsingDataDatabaseHelper::AddDatabaseSamples() { 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch response_.push_back(BrowsingDataDatabaseHelper::DatabaseInfo( 39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch "gdbhost1", "db1", "http_gdbhost1_1", "description 1", 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch "http://gdbhost1:1/", 1, base::Time())); 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch databases_["http_gdbhost1_1:db1"] = true; 42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch response_.push_back(BrowsingDataDatabaseHelper::DatabaseInfo( 43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch "gdbhost2", "db2", "http_gdbhost2_2", "description 2", 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch "http://gdbhost2:2/", 2, base::Time())); 45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch databases_["http_gdbhost2_2:db2"] = true; 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid MockBrowsingDataDatabaseHelper::Notify() { 49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch CHECK(callback_.get()); 50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch callback_->Run(response_); 51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 52c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 53c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid MockBrowsingDataDatabaseHelper::Reset() { 54c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch for (std::map<const std::string, bool>::iterator i = databases_.begin(); 55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch i != databases_.end(); ++i) 56c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch i->second = true; 57c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 58c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 59c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochbool MockBrowsingDataDatabaseHelper::AllDeleted() { 60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch for (std::map<const std::string, bool>::const_iterator i = databases_.begin(); 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch i != databases_.end(); ++i) 62c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (i->second) 63c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return false; 64c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return true; 65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 66