forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
download_request_utils.cc
33 lines (28 loc) · 1.37 KB
/
download_request_utils.cc
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
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/public/browser/download_request_utils.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
namespace content {
// static
std::unique_ptr<download::DownloadUrlParameters>
DownloadRequestUtils::CreateDownloadForWebContentsMainFrame(
WebContents* web_contents,
const GURL& url,
const net::NetworkTrafficAnnotationTag& traffic_annotation) {
RenderFrameHost* render_frame_host = web_contents->GetMainFrame();
StoragePartition* storage_partition = BrowserContext::GetStoragePartition(
web_contents->GetBrowserContext(), render_frame_host->GetSiteInstance());
return std::unique_ptr<download::DownloadUrlParameters>(
new download::DownloadUrlParameters(
url, render_frame_host->GetProcess()->GetID(),
render_frame_host->GetRenderViewHost()->GetRoutingID(),
render_frame_host->GetRoutingID(),
storage_partition->GetURLRequestContext(), traffic_annotation));
}
} // namespace content