Index: chrome/browser/ui/media_stream_infobar_delegate.cc |
=================================================================== |
--- chrome/browser/ui/media_stream_infobar_delegate.cc (revision 194500) |
+++ chrome/browser/ui/media_stream_infobar_delegate.cc (working copy) |
@@ -1,129 +0,0 @@ |
-// Copyright (c) 2012 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/ui/media_stream_infobar_delegate.h" |
- |
-#include "base/logging.h" |
-#include "base/utf_string_conversions.h" |
-#include "chrome/browser/content_settings/tab_specific_content_settings.h" |
-#include "chrome/browser/google/google_util.h" |
-#include "chrome/browser/infobars/infobar_service.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "chrome/common/url_constants.h" |
-#include "content/public/browser/web_contents.h" |
-#include "googleurl/src/gurl.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" |
- |
-MediaStreamInfoBarDelegate::~MediaStreamInfoBarDelegate() {} |
- |
-// static |
-bool MediaStreamInfoBarDelegate::Create( |
- content::WebContents* web_contents, |
- const content::MediaStreamRequest& request, |
- const content::MediaResponseCallback& callback) { |
- Profile* profile = |
- Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
- TabSpecificContentSettings* content_settings = |
- TabSpecificContentSettings::FromWebContents(web_contents); |
- scoped_ptr<MediaStreamDevicesController> controller( |
- new MediaStreamDevicesController(profile, content_settings, |
- request, callback)); |
- if (controller->DismissInfoBarAndTakeActionOnSettings()) |
- return false; |
- |
- InfoBarService* infobar_service = |
- InfoBarService::FromWebContents(web_contents); |
- InfoBarDelegate* old_infobar = NULL; |
- for (size_t i = 0; i < infobar_service->GetInfoBarCount(); ++i) { |
- old_infobar = infobar_service->GetInfoBarDelegateAt(i)-> |
- AsMediaStreamInfoBarDelegate(); |
- if (old_infobar) |
- break; |
- } |
- scoped_ptr<InfoBarDelegate> infobar( |
- new MediaStreamInfoBarDelegate(infobar_service, controller.release())); |
- if (old_infobar) |
- infobar_service->ReplaceInfoBar(old_infobar, infobar.Pass()); |
- else |
- infobar_service->AddInfoBar(infobar.Pass()); |
- |
- return true; |
-} |
- |
-void MediaStreamInfoBarDelegate::InfoBarDismissed() { |
- // Deny the request if the infobar was closed with the 'x' button, since |
- // we don't want WebRTC to be waiting for an answer that will never come. |
- controller_->Deny(false); |
-} |
- |
-gfx::Image* MediaStreamInfoBarDelegate::GetIcon() const { |
- return &ResourceBundle::GetSharedInstance().GetNativeImageNamed( |
- controller_->has_video() ? |
- IDR_INFOBAR_MEDIA_STREAM_CAMERA : IDR_INFOBAR_MEDIA_STREAM_MIC); |
-} |
- |
-InfoBarDelegate::Type MediaStreamInfoBarDelegate::GetInfoBarType() const { |
- return PAGE_ACTION_TYPE; |
-} |
- |
-MediaStreamInfoBarDelegate* |
- MediaStreamInfoBarDelegate::AsMediaStreamInfoBarDelegate() { |
- return this; |
-} |
- |
-string16 MediaStreamInfoBarDelegate::GetMessageText() const { |
- int message_id = IDS_MEDIA_CAPTURE_AUDIO_AND_VIDEO; |
- if (!controller_->has_audio()) |
- message_id = IDS_MEDIA_CAPTURE_VIDEO_ONLY; |
- else if (!controller_->has_video()) |
- message_id = IDS_MEDIA_CAPTURE_AUDIO_ONLY; |
- return l10n_util::GetStringFUTF16( |
- message_id, UTF8ToUTF16(controller_->GetSecurityOriginSpec())); |
-} |
- |
-string16 MediaStreamInfoBarDelegate::GetButtonLabel( |
- InfoBarButton button) const { |
- return l10n_util::GetStringUTF16((button == BUTTON_OK) ? |
- IDS_MEDIA_CAPTURE_ALLOW : IDS_MEDIA_CAPTURE_DENY); |
-} |
- |
-bool MediaStreamInfoBarDelegate::Accept() { |
- controller_->Accept(true); |
- return true; |
-} |
- |
-bool MediaStreamInfoBarDelegate::Cancel() { |
- controller_->Deny(true); |
- return true; |
-} |
- |
-string16 MediaStreamInfoBarDelegate::GetLinkText() const { |
- return l10n_util::GetStringUTF16(IDS_LEARN_MORE); |
-} |
- |
-bool MediaStreamInfoBarDelegate::LinkClicked( |
- WindowOpenDisposition disposition) { |
- content::OpenURLParams params( |
- google_util::AppendGoogleLocaleParam( |
- GURL(chrome::kMediaAccessLearnMoreUrl)), |
- content::Referrer(), |
- (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, |
- content::PAGE_TRANSITION_LINK, |
- false); |
- owner()->GetWebContents()->OpenURL(params); |
- |
- return false; // Do not dismiss the info bar. |
-} |
- |
-MediaStreamInfoBarDelegate::MediaStreamInfoBarDelegate( |
- InfoBarService* infobar_service, |
- MediaStreamDevicesController* controller) |
- : ConfirmInfoBarDelegate(infobar_service), |
- controller_(controller) { |
- DCHECK(controller_.get()); |
- DCHECK(controller_->has_audio() || controller_->has_video()); |
-} |