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