// Copyright (c) 2011 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 "chrome/browser/download/download_request_infobar_delegate.h" #include "content/browser/tab_contents/tab_contents.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" DownloadRequestInfoBarDelegate::DownloadRequestInfoBarDelegate( TabContents* tab, DownloadRequestLimiter::TabDownloadState* host) : ConfirmInfoBarDelegate(tab), host_(host) { } DownloadRequestInfoBarDelegate::~DownloadRequestInfoBarDelegate() { } void DownloadRequestInfoBarDelegate::InfoBarClosed() { if (host_) host_->Cancel(); delete this; } SkBitmap* DownloadRequestInfoBarDelegate::GetIcon() const { return ResourceBundle::GetSharedInstance().GetBitmapNamed( IDR_INFOBAR_MULTIPLE_DOWNLOADS); } string16 DownloadRequestInfoBarDelegate::GetMessageText() const { return l10n_util::GetStringUTF16(IDS_MULTI_DOWNLOAD_WARNING); } string16 DownloadRequestInfoBarDelegate::GetButtonLabel( InfoBarButton button) const { return l10n_util::GetStringUTF16((button == BUTTON_OK) ? IDS_MULTI_DOWNLOAD_WARNING_ALLOW : IDS_MULTI_DOWNLOAD_WARNING_DENY); } bool DownloadRequestInfoBarDelegate::Accept() { if (host_) { // Accept() call will nullify host_ if no further prompts are required. host_->Accept(); } return !host_; }