1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56

content / public / test / test_content_client_initializer.cc [blame]

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "content/public/test/test_content_client_initializer.h"

#include "build/build_config.h"
#include "content/browser/accessibility/browser_accessibility_state_impl.h"
#include "content/public/browser/network_service_instance.h"
#include "content/public/common/content_client.h"
#include "content/public/test/mock_render_process_host.h"
#include "content/test/mock_agent_scheduling_group_host.h"
#include "content/test/test_content_browser_client.h"
#include "content/test/test_content_client.h"
#include "content/test/test_render_view_host_factory.h"
#include "services/network/test/test_network_connection_tracker.h"

namespace content {

TestContentClientInitializer::TestContentClientInitializer() {
  test_network_connection_tracker_ =
      network::TestNetworkConnectionTracker::CreateInstance();
  SetNetworkConnectionTrackerForTesting(
      network::TestNetworkConnectionTracker::GetInstance());

  content_client_ = std::make_unique<TestContentClient>();
  SetContentClient(content_client_.get());

  content_browser_client_ = std::make_unique<TestContentBrowserClient>();
  content::SetBrowserClientForTesting(content_browser_client_.get());

  browser_accessibility_state_ = BrowserAccessibilityStateImpl::Create();
}

TestContentClientInitializer::~TestContentClientInitializer() {
  browser_accessibility_state_.reset();
  test_render_view_host_factory_.reset();
  rph_factory_.reset();

  SetContentClient(nullptr);
  content_client_.reset();

  content_browser_client_.reset();

  SetNetworkConnectionTrackerForTesting(nullptr);
  test_network_connection_tracker_.reset();
}

void TestContentClientInitializer::CreateTestRenderViewHosts() {
  rph_factory_ = std::make_unique<MockRenderProcessHostFactory>();
  asgh_factory_ = std::make_unique<MockAgentSchedulingGroupHostFactory>();
  test_render_view_host_factory_ = std::make_unique<TestRenderViewHostFactory>(
      rph_factory_.get(), asgh_factory_.get());
}

}  // namespace content