test_content_client_initializer.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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 "content/public/test/test_content_client_initializer.h" 6 7#include "content/browser/notification_service_impl.h" 8#include "content/public/common/content_client.h" 9#include "content/public/test/mock_render_process_host.h" 10#include "content/test/test_content_browser_client.h" 11#include "content/test/test_content_client.h" 12#include "content/test/test_render_view_host_factory.h" 13 14namespace content { 15 16TestContentClientInitializer::TestContentClientInitializer() { 17 notification_service_.reset(new NotificationServiceImpl()); 18 19 DCHECK(!GetContentClient()); 20 content_client_.reset(new TestContentClient); 21 SetContentClient(content_client_.get()); 22 23 content_browser_client_.reset(new TestContentBrowserClient()); 24 content_client_->set_browser_for_testing(content_browser_client_.get()); 25} 26 27TestContentClientInitializer::~TestContentClientInitializer() { 28 test_render_view_host_factory_.reset(); 29 rph_factory_.reset(); 30 notification_service_.reset(); 31 32 DCHECK_EQ(content_client_.get(), GetContentClient()); 33 SetContentClient(NULL); 34 content_client_.reset(); 35 36 content_browser_client_.reset(); 37} 38 39void TestContentClientInitializer::CreateTestRenderViewHosts() { 40#if !defined(OS_IOS) 41 rph_factory_.reset(new MockRenderProcessHostFactory()); 42 test_render_view_host_factory_.reset( 43 new TestRenderViewHostFactory(rph_factory_.get())); 44#endif // OS_IOS 45} 46 47} // namespace content 48