10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#ifndef CONTENT_BROWSER_APPCACHE_MOCK_APPCACHE_SERVICE_H_ 60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#define CONTENT_BROWSER_APPCACHE_MOCK_APPCACHE_SERVICE_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "content/browser/appcache/appcache_service_impl.h" 100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "content/browser/appcache/mock_appcache_storage.h" 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "storage/browser/quota/quota_manager.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace content { 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// For use by unit tests. 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class MockAppCacheService : public AppCacheServiceImpl { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MockAppCacheService() 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) : AppCacheServiceImpl(NULL), 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mock_delete_appcaches_for_origin_result_(net::OK), 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) delete_called_count_(0) { 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) storage_.reset(new MockAppCacheStorage(this)); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Just returns a canned completion code without actually 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // removing groups and caches in our mock storage instance. 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void DeleteAppCachesForOrigin( 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const GURL& origin, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const net::CompletionCallback& callback) OVERRIDE; 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) void set_quota_manager_proxy(storage::QuotaManagerProxy* proxy) { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) quota_manager_proxy_ = proxy; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void set_mock_delete_appcaches_for_origin_result(int rv) { 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mock_delete_appcaches_for_origin_result_ = rv; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int delete_called_count() const { return delete_called_count_; } 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int mock_delete_appcaches_for_origin_result_; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int delete_called_count_; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 460529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch} // namespace content 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 480529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#endif // CONTENT_BROWSER_APPCACHE_MOCK_APPCACHE_SERVICE_H_ 49