1// Copyright (c) 2011 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_WEBUI_OPTIONS_OPTIONS_MANAGED_BANNER_HANDLER_H_ 6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_OPTIONS_MANAGED_BANNER_HANDLER_H_ 7#pragma once 8 9#include "base/string16.h" 10#include "chrome/browser/policy/managed_prefs_banner_base.h" 11#include "chrome/browser/ui/options/options_window.h" 12 13class WebUI; 14 15// Managed options banner handler. 16// Controls the display of a banner if an options panel contains options 17// that are under administator control. 18class OptionsManagedBannerHandler : public policy::ManagedPrefsBannerBase { 19 public: 20 OptionsManagedBannerHandler(WebUI* web_ui, const string16& page_name, 21 OptionsPage page); 22 virtual ~OptionsManagedBannerHandler(); 23 24 protected: 25 // ManagedPrefsBannerBase implementation. 26 virtual void OnUpdateVisibility(); 27 28 private: 29 // Set the managed options banner to be visible or invisible. 30 void SetupBannerVisibility(); 31 32 WebUI* web_ui_; // weak reference to the WebUI. 33 string16 page_name_; // current options page name. 34 OptionsPage page_; // current options page value. 35 36 DISALLOW_COPY_AND_ASSIGN(OptionsManagedBannerHandler); 37}; 38 39#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_OPTIONS_MANAGED_BANNER_HANDLER_H_ 40