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#ifndef CHROME_BROWSER_UI_CONTENT_SETTINGS_MEDIA_SETTING_CHANGED_INFOBAR_DELEGATE_H_
6#define CHROME_BROWSER_UI_CONTENT_SETTINGS_MEDIA_SETTING_CHANGED_INFOBAR_DELEGATE_H_
7
8#include "chrome/browser/infobars/confirm_infobar_delegate.h"
9
10class InfoBarService;
11
12// An infobar that tells the user a reload is required after changing media
13// settings, and allows a reload via a button on the infobar.
14class MediaSettingChangedInfoBarDelegate : public ConfirmInfoBarDelegate {
15 public:
16  // Creates a media setting changed infobar and delegate and adds the infobar
17  // to |infobar_service|.
18  static void Create(InfoBarService* infobar_service);
19
20 private:
21  MediaSettingChangedInfoBarDelegate();
22  virtual ~MediaSettingChangedInfoBarDelegate();
23
24  // ConfirmInfoBarDelegate:
25  virtual int GetIconID() const OVERRIDE;
26  virtual Type GetInfoBarType() const OVERRIDE;
27  virtual base::string16 GetMessageText() const OVERRIDE;
28  virtual int GetButtons() const OVERRIDE;
29  virtual base::string16 GetButtonLabel(InfoBarButton button) const OVERRIDE;
30  virtual bool Accept() OVERRIDE;
31
32  DISALLOW_COPY_AND_ASSIGN(MediaSettingChangedInfoBarDelegate);
33};
34
35#endif  // CHROME_BROWSER_UI_CONTENT_SETTINGS_MEDIA_SETTING_CHANGED_INFOBAR_DELEGATE_H_
36