font_settings_handler.h revision dc0f95d653279beabeb9817299e2902918ba123e
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_FONT_SETTINGS_HANDLER_H_ 6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_FONT_SETTINGS_HANDLER_H_ 7#pragma once 8 9#include "chrome/browser/prefs/pref_member.h" 10#include "chrome/browser/ui/webui/options/font_settings_fonts_list_loader.h" 11#include "chrome/browser/ui/webui/options/options_ui.h" 12 13// Font settings overlay page UI handler. 14class FontSettingsHandler : public OptionsPageUIHandler, 15 public FontSettingsFontsListLoader::Observer { 16 public: 17 FontSettingsHandler(); 18 virtual ~FontSettingsHandler(); 19 20 // OptionsPageUIHandler implementation. 21 virtual void GetLocalizedValues(DictionaryValue* localized_strings); 22 virtual void Initialize(); 23 24 // WebUIMessageHandler implementation. 25 virtual WebUIMessageHandler* Attach(WebUI* web_ui); 26 virtual void RegisterMessages(); 27 28 // NotificationObserver implementation. 29 virtual void Observe(NotificationType type, 30 const NotificationSource& source, 31 const NotificationDetails& details); 32 33 // FontSettingsFontsListLoader::Observer implementation. 34 virtual void FontsListHasLoaded(); 35 36 private: 37 void HandleFetchFontsData(const ListValue* args); 38 39 void SetupStandardFontSample(); 40 void SetupFixedFontSample(); 41 void SetupMinimumFontSample(); 42 43 StringPrefMember standard_font_; 44 StringPrefMember fixed_font_; 45 StringPrefMember font_encoding_; 46 IntegerPrefMember default_font_size_; 47 IntegerPrefMember default_fixed_font_size_; 48 IntegerPrefMember minimum_font_size_; 49 50 scoped_refptr<FontSettingsFontsListLoader> fonts_list_loader_; 51 52 DISALLOW_COPY_AND_ASSIGN(FontSettingsHandler); 53}; 54 55#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_FONT_SETTINGS_HANDLER_H_ 56