1// Copyright (c) 2013 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. 4 5#include "chrome/browser/ui/content_settings/media_setting_changed_infobar_delegate.h" 6 7#include "base/logging.h" 8#include "chrome/browser/infobars/infobar_service.h" 9#include "chrome/grit/generated_resources.h" 10#include "components/infobars/core/infobar.h" 11#include "content/public/browser/web_contents.h" 12#include "grit/theme_resources.h" 13#include "ui/base/l10n/l10n_util.h" 14 15// static 16void MediaSettingChangedInfoBarDelegate::Create( 17 InfoBarService* infobar_service) { 18 infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar( 19 scoped_ptr<ConfirmInfoBarDelegate>( 20 new MediaSettingChangedInfoBarDelegate()))); 21} 22 23MediaSettingChangedInfoBarDelegate::MediaSettingChangedInfoBarDelegate() 24 : ConfirmInfoBarDelegate() { 25} 26 27MediaSettingChangedInfoBarDelegate::~MediaSettingChangedInfoBarDelegate() { 28} 29 30int MediaSettingChangedInfoBarDelegate::GetIconID() const { 31 return IDR_INFOBAR_MEDIA_STREAM_CAMERA; 32} 33 34infobars::InfoBarDelegate::Type 35MediaSettingChangedInfoBarDelegate::GetInfoBarType() const { 36 return PAGE_ACTION_TYPE; 37} 38 39base::string16 MediaSettingChangedInfoBarDelegate::GetMessageText() const { 40 return l10n_util::GetStringUTF16( 41 IDS_MEDIASTREAM_SETTING_CHANGED_INFOBAR_MESSAGE); 42} 43 44int MediaSettingChangedInfoBarDelegate::GetButtons() const { 45 return BUTTON_OK; 46} 47 48base::string16 MediaSettingChangedInfoBarDelegate::GetButtonLabel( 49 InfoBarButton button) const { 50 DCHECK_EQ(BUTTON_OK, button); 51 return l10n_util::GetStringUTF16(IDS_CONTENT_SETTING_CHANGED_INFOBAR_BUTTON); 52} 53 54bool MediaSettingChangedInfoBarDelegate::Accept() { 55 content::WebContents* web_contents = 56 InfoBarService::WebContentsFromInfoBar(infobar()); 57 web_contents->GetController().Reload(true); 58 return true; 59} 60