OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/options/font_settings_handler.h" | 5 #include "chrome/browser/ui/webui/options/font_settings_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 RegisterStrings(localized_strings, resources, arraysize(resources)); | 61 RegisterStrings(localized_strings, resources, arraysize(resources)); |
62 RegisterTitle(localized_strings, "fontSettingsPage", | 62 RegisterTitle(localized_strings, "fontSettingsPage", |
63 IDS_FONT_LANGUAGE_SETTING_FONT_TAB_TITLE); | 63 IDS_FONT_LANGUAGE_SETTING_FONT_TAB_TITLE); |
64 localized_strings->SetString("fontSettingsPlaceholder", | 64 localized_strings->SetString("fontSettingsPlaceholder", |
65 l10n_util::GetStringUTF16( | 65 l10n_util::GetStringUTF16( |
66 IDS_FONT_LANGUAGE_SETTING_PLACEHOLDER)); | 66 IDS_FONT_LANGUAGE_SETTING_PLACEHOLDER)); |
67 } | 67 } |
68 | 68 |
69 void FontSettingsHandler::Initialize() { | 69 void FontSettingsHandler::Initialize() { |
70 DCHECK(web_ui_); | 70 DCHECK(web_ui_); |
71 SetupSerifFontSample(); | 71 SetupStandardFontSample(); |
72 SetupMinimumFontSample(); | 72 SetupMinimumFontSample(); |
73 SetupFixedFontSample(); | 73 SetupFixedFontSample(); |
74 } | 74 } |
75 | 75 |
76 WebUIMessageHandler* FontSettingsHandler::Attach(WebUI* web_ui) { | 76 WebUIMessageHandler* FontSettingsHandler::Attach(WebUI* web_ui) { |
77 // Call through to superclass. | 77 // Call through to superclass. |
78 WebUIMessageHandler* handler = OptionsPageUIHandler::Attach(web_ui); | 78 WebUIMessageHandler* handler = OptionsPageUIHandler::Attach(web_ui); |
79 | 79 |
80 // Perform validation for saved fonts. | 80 // Perform validation for saved fonts. |
81 DCHECK(web_ui_); | 81 DCHECK(web_ui_); |
82 PrefService* pref_service = web_ui_->GetProfile()->GetPrefs(); | 82 PrefService* pref_service = web_ui_->GetProfile()->GetPrefs(); |
83 FontSettingsUtilities::ValidateSavedFonts(pref_service); | 83 FontSettingsUtilities::ValidateSavedFonts(pref_service); |
84 | 84 |
85 // Register for preferences that we need to observe manually. | 85 // Register for preferences that we need to observe manually. |
86 serif_font_.Init(prefs::kWebKitSerifFontFamily, pref_service, this); | 86 standard_font_.Init(prefs::kWebKitStandardFontFamily, pref_service, this); |
87 fixed_font_.Init(prefs::kWebKitFixedFontFamily, pref_service, this); | 87 fixed_font_.Init(prefs::kWebKitFixedFontFamily, pref_service, this); |
88 font_encoding_.Init(prefs::kDefaultCharset, pref_service, this); | 88 font_encoding_.Init(prefs::kDefaultCharset, pref_service, this); |
89 default_font_size_.Init(prefs::kWebKitDefaultFontSize, pref_service, this); | 89 default_font_size_.Init(prefs::kWebKitDefaultFontSize, pref_service, this); |
90 default_fixed_font_size_.Init(prefs::kWebKitDefaultFixedFontSize, | 90 default_fixed_font_size_.Init(prefs::kWebKitDefaultFixedFontSize, |
91 pref_service, this); | 91 pref_service, this); |
92 minimum_font_size_.Init(prefs::kWebKitMinimumFontSize, pref_service, this); | 92 minimum_font_size_.Init(prefs::kWebKitMinimumFontSize, pref_service, this); |
93 | 93 |
94 // Return result from the superclass. | 94 // Return result from the superclass. |
95 return handler; | 95 return handler; |
96 } | 96 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 option->Append(Value::CreateStringValue(name)); | 130 option->Append(Value::CreateStringValue(name)); |
131 } else { | 131 } else { |
132 // Add empty name/value to indicate a separator item. | 132 // Add empty name/value to indicate a separator item. |
133 option->Append(Value::CreateStringValue("")); | 133 option->Append(Value::CreateStringValue("")); |
134 option->Append(Value::CreateStringValue("")); | 134 option->Append(Value::CreateStringValue("")); |
135 } | 135 } |
136 encoding_list.Append(option); | 136 encoding_list.Append(option); |
137 } | 137 } |
138 | 138 |
139 ListValue selected_values; | 139 ListValue selected_values; |
140 selected_values.Append(Value::CreateStringValue(serif_font_.GetValue())); | 140 selected_values.Append(Value::CreateStringValue(standard_font_.GetValue())); |
141 selected_values.Append(Value::CreateStringValue(fixed_font_.GetValue())); | 141 selected_values.Append(Value::CreateStringValue(fixed_font_.GetValue())); |
142 selected_values.Append(Value::CreateStringValue(font_encoding_.GetValue())); | 142 selected_values.Append(Value::CreateStringValue(font_encoding_.GetValue())); |
143 | 143 |
144 web_ui_->CallJavascriptFunction(L"FontSettings.setFontsData", | 144 web_ui_->CallJavascriptFunction(L"FontSettings.setFontsData", |
145 *fonts_list, encoding_list, selected_values); | 145 *fonts_list, encoding_list, selected_values); |
146 } | 146 } |
147 | 147 |
148 void FontSettingsHandler::Observe(NotificationType type, | 148 void FontSettingsHandler::Observe(NotificationType type, |
149 const NotificationSource& source, | 149 const NotificationSource& source, |
150 const NotificationDetails& details) { | 150 const NotificationDetails& details) { |
151 if (type == NotificationType::PREF_CHANGED) { | 151 if (type == NotificationType::PREF_CHANGED) { |
152 std::string* pref_name = Details<std::string>(details).ptr(); | 152 std::string* pref_name = Details<std::string>(details).ptr(); |
153 if (*pref_name == prefs::kWebKitSerifFontFamily || | 153 if (*pref_name == prefs::kWebKitStandardFontFamily || |
154 *pref_name == prefs::kWebKitDefaultFontSize) { | 154 *pref_name == prefs::kWebKitDefaultFontSize) { |
155 SetupSerifFontSample(); | 155 SetupStandardFontSample(); |
156 } else if (*pref_name == prefs::kWebKitFixedFontFamily || | 156 } else if (*pref_name == prefs::kWebKitFixedFontFamily || |
157 *pref_name == prefs::kWebKitDefaultFixedFontSize) { | 157 *pref_name == prefs::kWebKitDefaultFixedFontSize) { |
158 SetupFixedFontSample(); | 158 SetupFixedFontSample(); |
159 } else if (*pref_name == prefs::kWebKitMinimumFontSize) { | 159 } else if (*pref_name == prefs::kWebKitMinimumFontSize) { |
160 SetupMinimumFontSample(); | 160 SetupMinimumFontSample(); |
161 } | 161 } |
162 } | 162 } |
163 } | 163 } |
164 | 164 |
165 void FontSettingsHandler::SetupSerifFontSample() { | 165 void FontSettingsHandler::SetupStandardFontSample() { |
166 StringValue font_value(serif_font_.GetValue()); | 166 StringValue font_value(standard_font_.GetValue()); |
167 FundamentalValue size_value(default_font_size_.GetValue()); | 167 FundamentalValue size_value(default_font_size_.GetValue()); |
168 web_ui_->CallJavascriptFunction( | 168 web_ui_->CallJavascriptFunction( |
169 L"FontSettings.setupSerifFontSample", font_value, size_value); | 169 L"FontSettings.setupStandardFontSample", font_value, size_value); |
170 } | 170 } |
171 | 171 |
172 void FontSettingsHandler::SetupFixedFontSample() { | 172 void FontSettingsHandler::SetupFixedFontSample() { |
173 StringValue font_value(fixed_font_.GetValue()); | 173 StringValue font_value(fixed_font_.GetValue()); |
174 FundamentalValue size_value(default_fixed_font_size_.GetValue()); | 174 FundamentalValue size_value(default_fixed_font_size_.GetValue()); |
175 web_ui_->CallJavascriptFunction( | 175 web_ui_->CallJavascriptFunction( |
176 L"FontSettings.setupFixedFontSample", font_value, size_value); | 176 L"FontSettings.setupFixedFontSample", font_value, size_value); |
177 } | 177 } |
178 | 178 |
179 void FontSettingsHandler::SetupMinimumFontSample() { | 179 void FontSettingsHandler::SetupMinimumFontSample() { |
180 FundamentalValue size_value(minimum_font_size_.GetValue()); | 180 FundamentalValue size_value(minimum_font_size_.GetValue()); |
181 web_ui_->CallJavascriptFunction( | 181 web_ui_->CallJavascriptFunction( |
182 L"FontSettings.setupMinimumFontSample", size_value); | 182 L"FontSettings.setupMinimumFontSample", size_value); |
183 } | 183 } |
OLD | NEW |