| Index: chrome/browser/ui/webui/options/font_settings_handler.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/options/font_settings_handler.cc (revision 78298)
|
| +++ chrome/browser/ui/webui/options/font_settings_handler.cc (working copy)
|
| @@ -39,6 +39,10 @@
|
| static OptionsStringResource resources[] = {
|
| { "fontSettingsStandard",
|
| IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_STANDARD_LABEL },
|
| + { "fontSettingsSerif",
|
| + IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SERIF_LABEL },
|
| + { "fontSettingsSansSerif",
|
| + IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SANS_SERIF_LABEL },
|
| { "fontSettingsFixedWidth",
|
| IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_FIXED_WIDTH_LABEL },
|
| { "fontSettingsMinimumSize",
|
| @@ -68,8 +72,10 @@
|
| void FontSettingsHandler::Initialize() {
|
| DCHECK(web_ui_);
|
| SetupStandardFontSample();
|
| + SetupSerifFontSample();
|
| + SetupSansSerifFontSample();
|
| + SetupFixedFontSample();
|
| SetupMinimumFontSample();
|
| - SetupFixedFontSample();
|
| }
|
|
|
| WebUIMessageHandler* FontSettingsHandler::Attach(WebUI* web_ui) {
|
| @@ -83,6 +89,8 @@
|
|
|
| // Register for preferences that we need to observe manually.
|
| standard_font_.Init(prefs::kWebKitStandardFontFamily, pref_service, this);
|
| + serif_font_.Init(prefs::kWebKitSerifFontFamily, pref_service, this);
|
| + sans_serif_font_.Init(prefs::kWebKitSansSerifFontFamily, pref_service, this);
|
| fixed_font_.Init(prefs::kWebKitFixedFontFamily, pref_service, this);
|
| font_encoding_.Init(prefs::kDefaultCharset, pref_service, this);
|
| default_font_size_.Init(prefs::kWebKitDefaultFontSize, pref_service, this);
|
| @@ -137,6 +145,8 @@
|
|
|
| ListValue selected_values;
|
| selected_values.Append(Value::CreateStringValue(standard_font_.GetValue()));
|
| + selected_values.Append(Value::CreateStringValue(serif_font_.GetValue()));
|
| + selected_values.Append(Value::CreateStringValue(sans_serif_font_.GetValue()));
|
| selected_values.Append(Value::CreateStringValue(fixed_font_.GetValue()));
|
| selected_values.Append(Value::CreateStringValue(font_encoding_.GetValue()));
|
|
|
| @@ -149,12 +159,19 @@
|
| const NotificationDetails& details) {
|
| if (type == NotificationType::PREF_CHANGED) {
|
| std::string* pref_name = Details<std::string>(details).ptr();
|
| - if (*pref_name == prefs::kWebKitStandardFontFamily ||
|
| - *pref_name == prefs::kWebKitDefaultFontSize) {
|
| + if (*pref_name == prefs::kWebKitStandardFontFamily) {
|
| SetupStandardFontSample();
|
| + } else if (*pref_name == prefs::kWebKitSerifFontFamily) {
|
| + SetupSerifFontSample();
|
| + } else if (*pref_name == prefs::kWebKitSansSerifFontFamily) {
|
| + SetupSansSerifFontSample();
|
| } else if (*pref_name == prefs::kWebKitFixedFontFamily ||
|
| *pref_name == prefs::kWebKitDefaultFixedFontSize) {
|
| SetupFixedFontSample();
|
| + } else if (*pref_name == prefs::kWebKitDefaultFontSize) {
|
| + SetupStandardFontSample();
|
| + SetupSerifFontSample();
|
| + SetupSansSerifFontSample();
|
| } else if (*pref_name == prefs::kWebKitMinimumFontSize) {
|
| SetupMinimumFontSample();
|
| }
|
| @@ -168,6 +185,20 @@
|
| "FontSettings.setupStandardFontSample", font_value, size_value);
|
| }
|
|
|
| +void FontSettingsHandler::SetupSerifFontSample() {
|
| + StringValue font_value(serif_font_.GetValue());
|
| + FundamentalValue size_value(default_font_size_.GetValue());
|
| + web_ui_->CallJavascriptFunction(
|
| + "FontSettings.setupSerifFontSample", font_value, size_value);
|
| +}
|
| +
|
| +void FontSettingsHandler::SetupSansSerifFontSample() {
|
| + StringValue font_value(sans_serif_font_.GetValue());
|
| + FundamentalValue size_value(default_font_size_.GetValue());
|
| + web_ui_->CallJavascriptFunction(
|
| + "FontSettings.setupSansSerifFontSample", font_value, size_value);
|
| +}
|
| +
|
| void FontSettingsHandler::SetupFixedFontSample() {
|
| StringValue font_value(fixed_font_.GetValue());
|
| FundamentalValue size_value(default_fixed_font_size_.GetValue());
|
|
|