1fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// found in the LICENSE file. 4fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 5fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "chrome/browser/ui/content_settings/media_setting_changed_infobar_delegate.h" 6fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 7fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "base/logging.h" 8fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "chrome/browser/infobars/infobar_service.h" 9fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "content/public/browser/web_contents.h" 10fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "grit/generated_resources.h" 11fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "grit/theme_resources.h" 12fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch#include "ui/base/l10n/l10n_util.h" 13fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 14fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch// static 15fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochvoid MediaSettingChangedInfoBarDelegate::Create( 16fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch InfoBarService* infobar_service) { 17fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch infobar_service->AddInfoBar(scoped_ptr<InfoBarDelegate>( 18fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch new MediaSettingChangedInfoBarDelegate(infobar_service))); 19fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 20fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 21fb250657ef40d7500f20882d5c9909c1013367d3Ben MurdochMediaSettingChangedInfoBarDelegate::MediaSettingChangedInfoBarDelegate( 22fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch InfoBarService* infobar_service) 23fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch : ConfirmInfoBarDelegate(infobar_service) { 24fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 25fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 26fb250657ef40d7500f20882d5c9909c1013367d3Ben MurdochMediaSettingChangedInfoBarDelegate::~MediaSettingChangedInfoBarDelegate() { 27fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 28fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 29fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochint MediaSettingChangedInfoBarDelegate::GetIconID() const { 30fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch return IDR_INFOBAR_MEDIA_STREAM_CAMERA; 31fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 32fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 33fb250657ef40d7500f20882d5c9909c1013367d3Ben MurdochInfoBarDelegate::Type 34fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch MediaSettingChangedInfoBarDelegate::GetInfoBarType() const { 35fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch return PAGE_ACTION_TYPE; 36fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 37fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 38fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochstring16 MediaSettingChangedInfoBarDelegate::GetMessageText() const { 39fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch return l10n_util::GetStringUTF16( 40fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch IDS_MEDIASTREAM_SETTING_CHANGED_INFOBAR_MESSAGE); 41fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 42fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 43fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochint MediaSettingChangedInfoBarDelegate::GetButtons() const { 44fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch return BUTTON_OK; 45fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 46fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 47fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochstring16 MediaSettingChangedInfoBarDelegate::GetButtonLabel( 48fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch InfoBarButton button) const { 49fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch DCHECK_EQ(BUTTON_OK, button); 50fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch return l10n_util::GetStringUTF16(IDS_CONTENT_SETTING_CHANGED_INFOBAR_BUTTON); 51fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 52fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch 53fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdochbool MediaSettingChangedInfoBarDelegate::Accept() { 54fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch web_contents()->GetController().Reload(true); 55fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch return true; 56fb250657ef40d7500f20882d5c9909c1013367d3Ben Murdoch} 57