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.
5 #include "chrome/browser/ui/content_settings/media_setting_changed_infobar_delegate.h"
7 #include "base/logging.h"
8 #include "chrome/browser/infobars/infobar_service.h"
9 #include "components/infobars/core/infobar.h"
10 #include "content/public/browser/web_contents.h"
11 #include "grit/generated_resources.h"
12 #include "grit/theme_resources.h"
13 #include "ui/base/l10n/l10n_util.h"
16 void MediaSettingChangedInfoBarDelegate::Create(
17 InfoBarService
* infobar_service
) {
18 infobar_service
->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar(
19 scoped_ptr
<ConfirmInfoBarDelegate
>(
20 new MediaSettingChangedInfoBarDelegate())));
23 MediaSettingChangedInfoBarDelegate::MediaSettingChangedInfoBarDelegate()
24 : ConfirmInfoBarDelegate() {
27 MediaSettingChangedInfoBarDelegate::~MediaSettingChangedInfoBarDelegate() {
30 int MediaSettingChangedInfoBarDelegate::GetIconID() const {
31 return IDR_INFOBAR_MEDIA_STREAM_CAMERA
;
34 infobars::InfoBarDelegate::Type
35 MediaSettingChangedInfoBarDelegate::GetInfoBarType() const {
36 return PAGE_ACTION_TYPE
;
39 base::string16
MediaSettingChangedInfoBarDelegate::GetMessageText() const {
40 return l10n_util::GetStringUTF16(
41 IDS_MEDIASTREAM_SETTING_CHANGED_INFOBAR_MESSAGE
);
44 int MediaSettingChangedInfoBarDelegate::GetButtons() const {
48 base::string16
MediaSettingChangedInfoBarDelegate::GetButtonLabel(
49 InfoBarButton button
) const {
50 DCHECK_EQ(BUTTON_OK
, button
);
51 return l10n_util::GetStringUTF16(IDS_CONTENT_SETTING_CHANGED_INFOBAR_BUTTON
);
54 bool MediaSettingChangedInfoBarDelegate::Accept() {
55 content::WebContents
* web_contents
=
56 InfoBarService::WebContentsFromInfoBar(infobar());
57 web_contents
->GetController().Reload(true);