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

Unified Diff: chrome/browser/extensions/api/preference/preference_api.cc

Issue 785723002: Add new extension APIs related to animation policy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unnecessary code Created 6 years 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 | « chrome/browser/extensions/api/preference/preference_api.h ('k') | chrome/browser/profiles/profile.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {
« no previous file with comments | « chrome/browser/extensions/api/preference/preference_api.h ('k') | chrome/browser/profiles/profile.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698