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 14 namespace content { 15 16 TestContentClientInitializer::TestContentClientInitializer() { 17 notification_service_.reset(new NotificationServiceImpl()); 18 19 content_client_.reset(new TestContentClient); 20 SetContentClient(content_client_.get()); 21 22 content_browser_client_.reset(new TestContentBrowserClient()); 23 content::SetBrowserClientForTesting(content_browser_client_.get()); 24 } 25 26 TestContentClientInitializer::~TestContentClientInitializer() { 27 test_render_view_host_factory_.reset(); 28 rph_factory_.reset(); 29 notification_service_.reset(); 30 31 SetContentClient(NULL); 32 content_client_.reset(); 33 34 content_browser_client_.reset(); 35 } 36 37 void TestContentClientInitializer::CreateTestRenderViewHosts() { 38 #if !defined(OS_IOS) 39 rph_factory_.reset(new MockRenderProcessHostFactory()); 40 test_render_view_host_factory_.reset( 41 new TestRenderViewHostFactory(rph_factory_.get())); 42 #endif // OS_IOS 43 } 44 45 } // namespace content 46