Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(263)

Unified Diff: chrome/browser/extensions/extension_font_settings_api.h

Issue 10142011: Add character encoding to Font Settings Extension API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/extensions/extension_font_settings_api.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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__
« no previous file with comments | « no previous file | chrome/browser/extensions/extension_font_settings_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698