Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / chrome / browser / download / download_permission_request.cc
blobc8ac3db4fab19736fb7764ee3f1cf3d912008de1
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 "chrome/browser/download/download_permission_request.h"
7 #include "chrome/grit/generated_resources.h"
8 #include "content/public/browser/web_contents.h"
9 #include "grit/theme_resources.h"
10 #include "ui/base/l10n/l10n_util.h"
12 DownloadPermissionRequest::DownloadPermissionRequest(
13 base::WeakPtr<DownloadRequestLimiter::TabDownloadState> host)
14 : host_(host) {}
16 DownloadPermissionRequest::~DownloadPermissionRequest() {}
18 int DownloadPermissionRequest::GetIconID() const {
19 return IDR_INFOBAR_MULTIPLE_DOWNLOADS;
22 base::string16 DownloadPermissionRequest::GetMessageText() const {
23 return l10n_util::GetStringUTF16(IDS_MULTI_DOWNLOAD_WARNING);
26 base::string16 DownloadPermissionRequest::GetMessageTextFragment() const {
27 return l10n_util::GetStringUTF16(IDS_MULTI_DOWNLOAD_PERMISSION_FRAGMENT);
30 bool DownloadPermissionRequest::HasUserGesture() const {
31 // TODO(gbillock): user gesture for multiple downloads is difficult to
32 // propagate, and the normal thing is that it is background.
33 return false;
36 GURL DownloadPermissionRequest::GetRequestingHostname() const {
37 const content::WebContents* web_contents = host_->web_contents();
38 if (web_contents) {
39 return web_contents->GetURL();
41 return GURL();
44 void DownloadPermissionRequest::PermissionGranted() {
45 if (host_) {
46 // This may invalidate |host_|.
47 host_->Accept();
51 void DownloadPermissionRequest::PermissionDenied() {
52 if (host_) {
53 // This may invalidate |host_|.
54 host_->Cancel();
58 void DownloadPermissionRequest::Cancelled() {
59 // TODO(gbillock): There's currently no suitable method for telling the host
60 // that a request is cancelled.
63 void DownloadPermissionRequest::RequestFinished() {
64 delete this;