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