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"
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
) {
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);
38 } // namespace content