Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / content / browser / loader / navigation_url_loader.cc
blob350ffc2a6881ff2f3a648ff40e956804a9717a0a
1 // Copyright 2014 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.
5 #include "content/browser/loader/navigation_url_loader.h"
7 #include "content/browser/frame_host/navigation_request_info.h"
8 #include "content/browser/loader/navigation_url_loader_factory.h"
9 #include "content/browser/loader/navigation_url_loader_impl.h"
11 namespace content {
13 static NavigationURLLoaderFactory* g_factory = nullptr;
15 scoped_ptr<NavigationURLLoader> NavigationURLLoader::Create(
16 BrowserContext* browser_context,
17 int64 frame_tree_node_id,
18 const CommonNavigationParams& common_params,
19 scoped_ptr<NavigationRequestInfo> request_info,
20 ResourceRequestBody* request_body,
21 NavigationURLLoaderDelegate* delegate) {
22 if (g_factory) {
23 return g_factory->CreateLoader(browser_context, frame_tree_node_id,
24 common_params, request_info.Pass(),
25 request_body, delegate);
27 return scoped_ptr<NavigationURLLoader>(new NavigationURLLoaderImpl(
28 browser_context, frame_tree_node_id, common_params, request_info.Pass(),
29 request_body, delegate));
32 void NavigationURLLoader::SetFactoryForTesting(
33 NavigationURLLoaderFactory* factory) {
34 DCHECK(g_factory == nullptr || factory == nullptr);
35 g_factory = factory;
38 } // namespace content