OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // Defines the classes to realize the Font Settings Extension API as specified | 5 // Defines the classes to realize the Font Settings Extension API as specified |
6 // in the extension API JSON. | 6 // in the extension API JSON. |
7 | 7 |
8 #ifndef CHROME_BROWSER_EXTENSIONS_API_FONT_SETTINGS_FONT_SETTINGS_API_H_ | 8 #ifndef CHROME_BROWSER_EXTENSIONS_API_FONT_SETTINGS_FONT_SETTINGS_API_H__ |
9 #define CHROME_BROWSER_EXTENSIONS_API_FONT_SETTINGS_FONT_SETTINGS_API_H_ | 9 #define CHROME_BROWSER_EXTENSIONS_API_FONT_SETTINGS_FONT_SETTINGS_API_H__ |
10 | 10 |
11 #include <string> | 11 #include <string> |
12 | 12 |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "base/prefs/public/pref_change_registrar.h" | 14 #include "base/prefs/public/pref_change_registrar.h" |
15 #include "chrome/browser/extensions/event_router.h" | 15 #include "chrome/browser/extensions/event_router.h" |
16 #include "chrome/browser/extensions/extension_function.h" | 16 #include "chrome/browser/extensions/extension_function.h" |
17 #include "chrome/browser/prefs/pref_service.h" | 17 #include "chrome/browser/prefs/pref_service.h" |
18 #include "chrome/browser/profiles/profile_keyed_service.h" | 18 #include "chrome/browser/profiles/profile_keyed_service.h" |
19 | 19 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 class FontSettingsAPI : public ProfileKeyedService { | 73 class FontSettingsAPI : public ProfileKeyedService { |
74 public: | 74 public: |
75 explicit FontSettingsAPI(Profile* profile); | 75 explicit FontSettingsAPI(Profile* profile); |
76 virtual ~FontSettingsAPI(); | 76 virtual ~FontSettingsAPI(); |
77 | 77 |
78 private: | 78 private: |
79 scoped_ptr<FontSettingsEventRouter> font_settings_event_router_; | 79 scoped_ptr<FontSettingsEventRouter> font_settings_event_router_; |
80 }; | 80 }; |
81 | 81 |
82 // fontSettings.clearFont API function. | 82 // fontSettings.clearFont API function. |
83 class FontSettingsClearFontFunction : public SyncExtensionFunction { | 83 class ClearFontFunction : public SyncExtensionFunction { |
84 public: | 84 public: |
85 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearFont") | 85 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearFont") |
86 | 86 |
87 protected: | 87 protected: |
88 // RefCounted types have non-public destructors, as with all extension | 88 // RefCounted types have non-public destructors, as with all extension |
89 // functions in this file. | 89 // functions in this file. |
90 virtual ~FontSettingsClearFontFunction() {} | 90 virtual ~ClearFontFunction() {} |
91 | 91 |
92 // ExtensionFunction: | 92 // ExtensionFunction: |
93 virtual bool RunImpl() OVERRIDE; | 93 virtual bool RunImpl() OVERRIDE; |
94 }; | 94 }; |
95 | 95 |
96 // fontSettings.getFont API function. | 96 // fontSettings.getFont API function. |
97 class FontSettingsGetFontFunction : public SyncExtensionFunction { | 97 class GetFontFunction : public SyncExtensionFunction { |
98 public: | 98 public: |
99 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getFont") | 99 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getFont") |
100 | 100 |
101 protected: | 101 protected: |
102 virtual ~FontSettingsGetFontFunction() {} | 102 virtual ~GetFontFunction() {} |
103 | 103 |
104 // ExtensionFunction: | 104 // ExtensionFunction: |
105 virtual bool RunImpl() OVERRIDE; | 105 virtual bool RunImpl() OVERRIDE; |
106 }; | 106 }; |
107 | 107 |
108 // fontSettings.setFont API function. | 108 // fontSettings.setFont API function. |
109 class FontSettingsSetFontFunction : public SyncExtensionFunction { | 109 class SetFontFunction : public SyncExtensionFunction { |
110 public: | 110 public: |
111 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setFont") | 111 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setFont") |
112 | 112 |
113 protected: | 113 protected: |
114 virtual ~FontSettingsSetFontFunction() {} | 114 virtual ~SetFontFunction() {} |
115 | 115 |
116 // ExtensionFunction: | 116 // ExtensionFunction: |
117 virtual bool RunImpl() OVERRIDE; | 117 virtual bool RunImpl() OVERRIDE; |
118 }; | 118 }; |
119 | 119 |
120 // fontSettings.getFontList API function. | 120 // fontSettings.getFontList API function. |
121 class FontSettingsGetFontListFunction : public AsyncExtensionFunction { | 121 class GetFontListFunction : public AsyncExtensionFunction { |
122 public: | 122 public: |
123 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getFontList") | 123 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getFontList") |
124 | 124 |
125 protected: | 125 protected: |
126 virtual ~FontSettingsGetFontListFunction() {} | 126 virtual ~GetFontListFunction() {} |
127 | 127 |
128 // ExtensionFunction: | 128 // ExtensionFunction: |
129 virtual bool RunImpl() OVERRIDE; | 129 virtual bool RunImpl() OVERRIDE; |
130 | 130 |
131 private: | 131 private: |
132 void FontListHasLoaded(scoped_ptr<base::ListValue> list); | 132 void FontListHasLoaded(scoped_ptr<base::ListValue> list); |
133 bool CopyFontsToResult(base::ListValue* fonts); | 133 bool CopyFontsToResult(base::ListValue* fonts); |
134 }; | 134 }; |
135 | 135 |
136 // Base class for extension API functions that clear a browser font pref. | 136 // Base class for extension API functions that clear a browser font pref. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 virtual const char* GetPrefName() = 0; | 176 virtual const char* GetPrefName() = 0; |
177 | 177 |
178 // Implementations should return the key for the value in the extension API, | 178 // Implementations should return the key for the value in the extension API, |
179 // like "pixelSize". | 179 // like "pixelSize". |
180 virtual const char* GetKey() = 0; | 180 virtual const char* GetKey() = 0; |
181 }; | 181 }; |
182 | 182 |
183 // The following are get/set/clear API functions that act on a browser font | 183 // The following are get/set/clear API functions that act on a browser font |
184 // pref. | 184 // pref. |
185 | 185 |
186 class FontSettingsClearDefaultFontSizeFunction | 186 class ClearDefaultFontSizeFunction : public ClearFontPrefExtensionFunction { |
187 : public ClearFontPrefExtensionFunction { | |
188 public: | 187 public: |
189 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearDefaultFontSize") | 188 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearDefaultFontSize") |
190 | 189 |
191 protected: | 190 protected: |
192 virtual ~FontSettingsClearDefaultFontSizeFunction() {} | 191 virtual ~ClearDefaultFontSizeFunction() {} |
193 | 192 |
194 // ClearFontPrefExtensionFunction: | 193 // ClearFontPrefExtensionFunction: |
195 virtual const char* GetPrefName() OVERRIDE; | 194 virtual const char* GetPrefName() OVERRIDE; |
196 }; | 195 }; |
197 | 196 |
198 class FontSettingsGetDefaultFontSizeFunction | 197 class GetDefaultFontSizeFunction : public GetFontPrefExtensionFunction { |
199 : public GetFontPrefExtensionFunction { | |
200 public: | 198 public: |
201 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getDefaultFontSize") | 199 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getDefaultFontSize") |
202 | 200 |
203 protected: | 201 protected: |
204 virtual ~FontSettingsGetDefaultFontSizeFunction() {} | 202 virtual ~GetDefaultFontSizeFunction() {} |
205 | 203 |
206 // GetFontPrefExtensionFunction: | 204 // GetFontPrefExtensionFunction: |
207 virtual const char* GetPrefName() OVERRIDE; | 205 virtual const char* GetPrefName() OVERRIDE; |
208 virtual const char* GetKey() OVERRIDE; | 206 virtual const char* GetKey() OVERRIDE; |
209 }; | 207 }; |
210 | 208 |
211 class FontSettingsSetDefaultFontSizeFunction | 209 class SetDefaultFontSizeFunction : public SetFontPrefExtensionFunction { |
212 : public SetFontPrefExtensionFunction { | |
213 public: | 210 public: |
214 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setDefaultFontSize") | 211 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setDefaultFontSize") |
215 | 212 |
216 protected: | 213 protected: |
217 virtual ~FontSettingsSetDefaultFontSizeFunction() {} | 214 virtual ~SetDefaultFontSizeFunction() {} |
218 | 215 |
219 // SetFontPrefExtensionFunction: | 216 // SetFontPrefExtensionFunction: |
220 virtual const char* GetPrefName() OVERRIDE; | 217 virtual const char* GetPrefName() OVERRIDE; |
221 virtual const char* GetKey() OVERRIDE; | 218 virtual const char* GetKey() OVERRIDE; |
222 }; | 219 }; |
223 | 220 |
224 class FontSettingsClearDefaultFixedFontSizeFunction | 221 class ClearDefaultFixedFontSizeFunction |
225 : public ClearFontPrefExtensionFunction { | 222 : public ClearFontPrefExtensionFunction { |
226 public: | 223 public: |
227 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearDefaultFixedFontSize") | 224 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearDefaultFixedFontSize") |
228 | 225 |
229 protected: | 226 protected: |
230 virtual ~FontSettingsClearDefaultFixedFontSizeFunction() {} | 227 virtual ~ClearDefaultFixedFontSizeFunction() {} |
231 | 228 |
232 // ClearFontPrefExtensionFunction: | 229 // ClearFontPrefExtensionFunction: |
233 virtual const char* GetPrefName() OVERRIDE; | 230 virtual const char* GetPrefName() OVERRIDE; |
234 }; | 231 }; |
235 | 232 |
236 class FontSettingsGetDefaultFixedFontSizeFunction | 233 class GetDefaultFixedFontSizeFunction : public GetFontPrefExtensionFunction { |
237 : public GetFontPrefExtensionFunction { | |
238 public: | 234 public: |
239 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getDefaultFixedFontSize") | 235 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getDefaultFixedFontSize") |
240 | 236 |
241 protected: | 237 protected: |
242 virtual ~FontSettingsGetDefaultFixedFontSizeFunction() {} | 238 virtual ~GetDefaultFixedFontSizeFunction() {} |
243 | 239 |
244 // GetFontPrefExtensionFunction: | 240 // GetFontPrefExtensionFunction: |
245 virtual const char* GetPrefName() OVERRIDE; | 241 virtual const char* GetPrefName() OVERRIDE; |
246 virtual const char* GetKey() OVERRIDE; | 242 virtual const char* GetKey() OVERRIDE; |
247 }; | 243 }; |
248 | 244 |
249 class FontSettingsSetDefaultFixedFontSizeFunction | 245 class SetDefaultFixedFontSizeFunction : public SetFontPrefExtensionFunction { |
250 : public SetFontPrefExtensionFunction { | |
251 public: | 246 public: |
252 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setDefaultFixedFontSize") | 247 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setDefaultFixedFontSize") |
253 | 248 |
254 protected: | 249 protected: |
255 virtual ~FontSettingsSetDefaultFixedFontSizeFunction() {} | 250 virtual ~SetDefaultFixedFontSizeFunction() {} |
256 | 251 |
257 // SetFontPrefExtensionFunction: | 252 // SetFontPrefExtensionFunction: |
258 virtual const char* GetPrefName() OVERRIDE; | 253 virtual const char* GetPrefName() OVERRIDE; |
259 virtual const char* GetKey() OVERRIDE; | 254 virtual const char* GetKey() OVERRIDE; |
260 }; | 255 }; |
261 | 256 |
262 class FontSettingsClearMinimumFontSizeFunction | 257 class ClearMinimumFontSizeFunction : public ClearFontPrefExtensionFunction { |
263 : public ClearFontPrefExtensionFunction { | |
264 public: | 258 public: |
265 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearMinimumFontSize") | 259 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.clearMinimumFontSize") |
266 | 260 |
267 protected: | 261 protected: |
268 virtual ~FontSettingsClearMinimumFontSizeFunction() {} | 262 virtual ~ClearMinimumFontSizeFunction() {} |
269 | 263 |
270 // ClearFontPrefExtensionFunction: | 264 // ClearFontPrefExtensionFunction: |
271 virtual const char* GetPrefName() OVERRIDE; | 265 virtual const char* GetPrefName() OVERRIDE; |
272 }; | 266 }; |
273 | 267 |
274 class FontSettingsGetMinimumFontSizeFunction | 268 class GetMinimumFontSizeFunction : public GetFontPrefExtensionFunction { |
275 : public GetFontPrefExtensionFunction { | |
276 public: | 269 public: |
277 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getMinimumFontSize") | 270 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.getMinimumFontSize") |
278 | 271 |
279 protected: | 272 protected: |
280 virtual ~FontSettingsGetMinimumFontSizeFunction() {} | 273 virtual ~GetMinimumFontSizeFunction() {} |
281 | 274 |
282 // GetFontPrefExtensionFunction: | 275 // GetFontPrefExtensionFunction: |
283 virtual const char* GetPrefName() OVERRIDE; | 276 virtual const char* GetPrefName() OVERRIDE; |
284 virtual const char* GetKey() OVERRIDE; | 277 virtual const char* GetKey() OVERRIDE; |
285 }; | 278 }; |
286 | 279 |
287 class FontSettingsSetMinimumFontSizeFunction | 280 class SetMinimumFontSizeFunction : public SetFontPrefExtensionFunction { |
288 : public SetFontPrefExtensionFunction { | |
289 public: | 281 public: |
290 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setMinimumFontSize") | 282 DECLARE_EXTENSION_FUNCTION_NAME("fontSettings.setMinimumFontSize") |
291 | 283 |
292 protected: | 284 protected: |
293 virtual ~FontSettingsSetMinimumFontSizeFunction() {} | 285 virtual ~SetMinimumFontSizeFunction() {} |
294 | 286 |
295 // SetFontPrefExtensionFunction: | 287 // SetFontPrefExtensionFunction: |
296 virtual const char* GetPrefName() OVERRIDE; | 288 virtual const char* GetPrefName() OVERRIDE; |
297 virtual const char* GetKey() OVERRIDE; | 289 virtual const char* GetKey() OVERRIDE; |
298 }; | 290 }; |
299 | 291 |
300 } // namespace extensions | 292 } // namespace extensions |
301 | 293 |
302 #endif // CHROME_BROWSER_EXTENSIONS_API_FONT_SETTINGS_FONT_SETTINGS_API_H_ | 294 #endif // CHROME_BROWSER_EXTENSIONS_API_FONT_SETTINGS_FONT_SETTINGS_API_H__ |
OLD | NEW |