Chromium Code Reviews| Index: chrome/browser/extensions/extension_font_settings_api.h |
| diff --git a/chrome/browser/extensions/extension_font_settings_api.h b/chrome/browser/extensions/extension_font_settings_api.h |
| index 8415f0ea316640c465255df95bfb1a9c6cb7abab..bbb26a43a9ee30929393df3f90211cd2eeac48c3 100644 |
| --- a/chrome/browser/extensions/extension_font_settings_api.h |
| +++ b/chrome/browser/extensions/extension_font_settings_api.h |
| @@ -19,26 +19,32 @@ class ExtensionFontSettingsEventRouter : public content::NotificationObserver { |
| void Init(); |
| private: |
| - typedef std::map<std::string, std::string> PrefEventMap; |
| + // Map of pref name to a pair of event name and key (defined in the API) for |
| + // dispatching a pref changed event. For example, |
| + // "webkit.webprefs.default_font_size" to ("onDefaultFontSizedChanged", |
| + // "pixelSize"). |
| + typedef std::map<std::string, std::pair<std::string, std::string> > |
|
Matt Perry
2012/04/20 18:59:22
Can you typedef the std::pair to something so it's
falken
2012/04/23 03:41:44
Done.
|
| + PrefEventMap; |
| // content::NotificationObserver implementation. |
| virtual void Observe(int type, |
| const content::NotificationSource& source, |
| const content::NotificationDetails& details) OVERRIDE; |
| + |
| void OnFontNamePrefChanged(PrefService* pref_service, |
| - const std::string& pref_key, |
| + const std::string& pref_name, |
| const std::string& generic_family, |
| const std::string& script, |
| bool incognito); |
| - void OnFontSizePrefChanged(PrefService* pref_service, |
| - const std::string& pref_key, |
| - const std::string& event_name, |
| - bool incognito); |
| + void OnFontPrefChanged(PrefService* pref_service, |
| + const std::string& pref_name, |
| + const std::string& event_name, |
| + const std::string& key, |
| + bool incognito); |
| PrefChangeRegistrar registrar_; |
| - // Map of pref key to event name. |
| - std::map<std::string, std::string> pref_event_map_; |
| + PrefEventMap pref_event_map_; |
| // Weak, owns us (transitively via ExtensionService). |
| Profile* profile_; |
| @@ -68,76 +74,112 @@ class GetFontListFunction : public AsyncExtensionFunction { |
| bool CopyFontsToResult(base::ListValue* fonts); |
| }; |
| -// Base class for functions that get a font size. |
| -class GetFontSizeExtensionFunction : public SyncExtensionFunction { |
| +// Base class for functions that get a font pref. |
| +class GetFontPrefExtensionFunction : public SyncExtensionFunction { |
| protected: |
| virtual bool RunImpl() OVERRIDE; |
| - // Implementations should return the name of the font size preference to get. |
| + // Implementations should return the name of the preference to get, like |
| + // "webkit.webprefs.default_font_size". |
| virtual const char* GetPrefName() = 0; |
| + |
| + // Implementations should return the key for the value in the extension API, |
| + // like "pixelSize". |
| + virtual const char* GetKey() = 0; |
| }; |
| -// Base class for functions that set a font size. |
| -class SetFontSizeExtensionFunction : public SyncExtensionFunction { |
| +// Base class for functions that set a font pref. |
| +class SetFontPrefExtensionFunction : public SyncExtensionFunction { |
| protected: |
| virtual bool RunImpl() OVERRIDE; |
| - // Implementations should return the name of the font size preference to set. |
| + // Implementations should return the name of the preference to set, like |
| + // "webkit.webprefs.default_font_size". |
| virtual const char* GetPrefName() = 0; |
| + |
| + // Implementations should return the key for the value in the extension API, |
| + // like "pixelSize". |
| + virtual const char* GetKey() = 0; |
| }; |
| -class GetDefaultFontSizeFunction : public GetFontSizeExtensionFunction { |
| +class GetDefaultFontSizeFunction : public GetFontPrefExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION_NAME( |
| "experimental.fontSettings.getDefaultFontSize") |
| protected: |
| virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| }; |
| -class SetDefaultFontSizeFunction : public SetFontSizeExtensionFunction { |
| +class SetDefaultFontSizeFunction : public SetFontPrefExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION_NAME( |
| "experimental.fontSettings.setDefaultFontSize") |
| protected: |
| virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| }; |
| -class GetDefaultFixedFontSizeFunction : public GetFontSizeExtensionFunction { |
| +class GetDefaultFixedFontSizeFunction : public GetFontPrefExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION_NAME( |
| "experimental.fontSettings.getDefaultFixedFontSize") |
| protected: |
| virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| }; |
| -class SetDefaultFixedFontSizeFunction : public SetFontSizeExtensionFunction { |
| +class SetDefaultFixedFontSizeFunction : public SetFontPrefExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION_NAME( |
| "experimental.fontSettings.setDefaultFixedFontSize") |
| protected: |
| virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| }; |
| -class GetMinimumFontSizeFunction : public GetFontSizeExtensionFunction { |
| +class GetMinimumFontSizeFunction : public GetFontPrefExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION_NAME( |
| "experimental.fontSettings.getMinimumFontSize") |
| protected: |
| virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| }; |
| -class SetMinimumFontSizeFunction : public SetFontSizeExtensionFunction { |
| +class SetMinimumFontSizeFunction : public SetFontPrefExtensionFunction { |
| public: |
| DECLARE_EXTENSION_FUNCTION_NAME( |
| "experimental.fontSettings.setMinimumFontSize") |
| protected: |
| virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| +}; |
| + |
| +class GetDefaultCharacterSetFunction : public GetFontPrefExtensionFunction { |
| + public: |
| + DECLARE_EXTENSION_FUNCTION_NAME( |
| + "experimental.fontSettings.getDefaultCharacterSet") |
| + |
| + protected: |
| + virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| +}; |
| + |
| +class SetDefaultCharacterSetFunction : public SetFontPrefExtensionFunction { |
| + public: |
| + DECLARE_EXTENSION_FUNCTION_NAME( |
| + "experimental.fontSettings.setDefaultCharacterSet") |
| + |
| + protected: |
| + virtual const char* GetPrefName() OVERRIDE; |
| + virtual const char* GetKey() OVERRIDE; |
| }; |
| #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_FONT_SETTINGS_API_H__ |