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

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: add test of event 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
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__

Powered by Google App Engine
This is Rietveld 408576698