1effb81e5f8246d0db0270817048dc992db66e9fbBen 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) 5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "extensions/browser/api/dns/host_resolver_wrapper.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "content/public/browser/resource_context.h" 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "net/dns/host_resolver.h" 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochHostResolverWrapper::HostResolverWrapper() : resolver_(NULL) {} 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)HostResolverWrapper* HostResolverWrapper::GetInstance() { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return Singleton<extensions::HostResolverWrapper>::get(); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)net::HostResolver* HostResolverWrapper::GetHostResolver( 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) content::ResourceContext* context) { 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return resolver_ ? resolver_ : context->GetHostResolver(); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void HostResolverWrapper::SetHostResolverForTesting( 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) net::HostResolver* mock_resolver) { 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) resolver_ = mock_resolver; 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace extensions 30