| 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..5003c0b833cf8a03f6fb82d02eba9e907bb939cc 100644
|
| --- a/chrome/browser/extensions/extension_font_settings_api.h
|
| +++ b/chrome/browser/extensions/extension_font_settings_api.h
|
| @@ -19,26 +19,36 @@ class ExtensionFontSettingsEventRouter : public content::NotificationObserver {
|
| void Init();
|
|
|
| private:
|
| - typedef std::map<std::string, std::string> PrefEventMap;
|
| + typedef std::pair<std::string, std::string> EventAndKeyPair;
|
| + // 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, EventAndKeyPair> PrefEventMap;
|
| +
|
| + void AddPrefToObserve(const char* pref_name,
|
| + const char* event_name,
|
| + const char* key);
|
|
|
| // 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 +78,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__
|
|
|