Chromium Code Reviews| Index: chrome/browser/extensions/api/preference/preference_api.cc |
| diff --git a/chrome/browser/extensions/api/preference/preference_api.cc b/chrome/browser/extensions/api/preference/preference_api.cc |
| index f1023511a38a7325bdc8ae0d85129f62ffbd4166..25aad27231ed9b2103a09dcc4b73c551d2df0d9c 100644 |
| --- a/chrome/browser/extensions/api/preference/preference_api.cc |
| +++ b/chrome/browser/extensions/api/preference/preference_api.cc |
| @@ -23,6 +23,7 @@ |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/pref_names.h" |
| #include "components/translate/core/common/translate_pref_names.h" |
| +#include "content/public/browser/browser_accessibility_state.h" |
| #include "content/public/browser/notification_details.h" |
| #include "content/public/browser/notification_source.h" |
| #include "extensions/browser/extension_pref_value_map.h" |
| @@ -69,56 +70,92 @@ const char kConversionErrorMessage[] = |
| "properly."; |
| PrefMappingEntry kPrefMapping[] = { |
| - {"alternateErrorPagesEnabled", prefs::kAlternateErrorPagesEnabled, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"autofillEnabled", autofill::prefs::kAutofillEnabled, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"hyperlinkAuditingEnabled", prefs::kEnableHyperlinkAuditing, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"networkPredictionEnabled", prefs::kNetworkPredictionOptions, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| + {"alternateErrorPagesEnabled", |
| + prefs::kAlternateErrorPagesEnabled, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"autofillEnabled", |
| + autofill::prefs::kAutofillEnabled, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"hyperlinkAuditingEnabled", |
| + prefs::kEnableHyperlinkAuditing, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"networkPredictionEnabled", |
| + prefs::kNetworkPredictionOptions, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| {"passwordSavingEnabled", |
| password_manager::prefs::kPasswordManagerSavingEnabled, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"protectedContentEnabled", prefs::kEnableDRM, APIPermission::kPrivacy, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"protectedContentEnabled", |
| + prefs::kEnableDRM, |
| + APIPermission::kPrivacy, |
| APIPermission::kPrivacy}, |
| {"proxy", prefs::kProxy, APIPermission::kProxy, APIPermission::kProxy}, |
| - {"referrersEnabled", prefs::kEnableReferrers, APIPermission::kPrivacy, |
| + {"referrersEnabled", |
| + prefs::kEnableReferrers, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"safeBrowsingEnabled", |
| + prefs::kSafeBrowsingEnabled, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"searchSuggestEnabled", |
| + prefs::kSearchSuggestEnabled, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"spellingServiceEnabled", |
| + prefs::kSpellCheckUseSpellingService, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"thirdPartyCookiesAllowed", |
| + prefs::kBlockThirdPartyCookies, |
| + APIPermission::kPrivacy, |
| + APIPermission::kPrivacy}, |
| + {"translationServiceEnabled", |
| + prefs::kEnableTranslate, |
| + APIPermission::kPrivacy, |
| APIPermission::kPrivacy}, |
| - {"safeBrowsingEnabled", prefs::kSafeBrowsingEnabled, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"searchSuggestEnabled", prefs::kSearchSuggestEnabled, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"spellingServiceEnabled", prefs::kSpellCheckUseSpellingService, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"thirdPartyCookiesAllowed", prefs::kBlockThirdPartyCookies, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| - {"translationServiceEnabled", prefs::kEnableTranslate, |
| - APIPermission::kPrivacy, APIPermission::kPrivacy}, |
| #if defined(OS_CHROMEOS) |
| - {"autoclick", prefs::kAccessibilityAutoclickEnabled, |
| + {"autoclick", |
| + prefs::kAccessibilityAutoclickEnabled, |
| APIPermission::kAccessibilityFeaturesRead, |
| APIPermission::kAccessibilityFeaturesModify}, |
| - {"highContrast", prefs::kAccessibilityHighContrastEnabled, |
| + {"highContrast", |
| + prefs::kAccessibilityHighContrastEnabled, |
| APIPermission::kAccessibilityFeaturesRead, |
| APIPermission::kAccessibilityFeaturesModify}, |
| - {"largeCursor", prefs::kAccessibilityLargeCursorEnabled, |
| + {"largeCursor", |
| + prefs::kAccessibilityLargeCursorEnabled, |
| APIPermission::kAccessibilityFeaturesRead, |
| APIPermission::kAccessibilityFeaturesModify}, |
| - {"screenMagnifier", prefs::kAccessibilityScreenMagnifierEnabled, |
| + {"screenMagnifier", |
| + prefs::kAccessibilityScreenMagnifierEnabled, |
| APIPermission::kAccessibilityFeaturesRead, |
| APIPermission::kAccessibilityFeaturesModify}, |
| - {"spokenFeedback", prefs::kAccessibilitySpokenFeedbackEnabled, |
| + {"spokenFeedback", |
| + prefs::kAccessibilitySpokenFeedbackEnabled, |
| APIPermission::kAccessibilityFeaturesRead, |
| APIPermission::kAccessibilityFeaturesModify}, |
| - {"stickyKeys", prefs::kAccessibilityStickyKeysEnabled, |
| + {"stickyKeys", |
| + prefs::kAccessibilityStickyKeysEnabled, |
| APIPermission::kAccessibilityFeaturesRead, |
| APIPermission::kAccessibilityFeaturesModify}, |
| - {"virtualKeyboard", prefs::kAccessibilityVirtualKeyboardEnabled, |
| + {"virtualKeyboard", |
| + prefs::kAccessibilityVirtualKeyboardEnabled, |
| APIPermission::kAccessibilityFeaturesRead, |
| APIPermission::kAccessibilityFeaturesModify}, |
| #endif |
| -}; |
| + // accessibilityFeatures.animationPolicy is available for |
| + // all platforms but the others from accessibilityFeatures |
| + // is only avaiable for OS_CHROMEOS. |
| + {"animationPolicy", |
|
not at google - send to devlin
2014/12/12 17:27:58
Could you keep this in some sort of order? Up the
je_julie(Not used)
2014/12/14 05:46:26
Done.
|
| + prefs::kAnimationPolicy, |
| + APIPermission::kAccessibilityFeaturesRead, |
| + APIPermission::kAccessibilityFeaturesModify}}; |
| class IdentityPrefTransformer : public PrefTransformerInterface { |
| public: |
| @@ -450,6 +487,16 @@ PreferenceAPI::PreferenceAPI(content::BrowserContext* context) |
| EventRouter::Get(profile_)->RegisterObserver(this, event_name); |
| } |
| content_settings_store()->AddObserver(this); |
| + |
| + PrefService* prefs = profile_->GetPrefs(); |
| + pref_change_registrar_.Init(prefs); |
| + base::Closure animation_callback = |
| + base::Bind(&PreferenceAPI::UpdateAnimationPolicy, base::Unretained(this)); |
| + pref_change_registrar_.Add(prefs::kAnimationPolicy, animation_callback); |
| +} |
| + |
| +void PreferenceAPI::UpdateAnimationPolicy() { |
| + content::BrowserAccessibilityState::GetInstance()->UpdateAnimationPolicy(); |
|
not at google - send to devlin
2014/12/12 17:27:58
Seems like this code should be in PreferenceEventR
je_julie(Not used)
2014/12/14 05:46:26
I saw that PreferenceEventRouter is added with OnL
not at google - send to devlin
2014/12/15 03:44:07
Mm, ok, so the way I read this is actually that
-
|
| } |
| PreferenceAPI::~PreferenceAPI() { |