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

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: animationPolicy added to accessibilityFeatures 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
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..b952bb8a8822173822a5ce0662df2fc2d9302617 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"
@@ -118,6 +119,12 @@ PrefMappingEntry kPrefMapping[] = {
APIPermission::kAccessibilityFeaturesRead,
APIPermission::kAccessibilityFeaturesModify},
#endif
+ // accessibilityFeatures.animationPolicy is available for
+ // all platforms but the others from accessibilityFeatures
+ // is only avaiable for OS_CHROMEOS.
+ {"animationPolicy", prefs::kAnimationPolicy,
+ APIPermission::kAccessibilityFeaturesRead,
+ APIPermission::kAccessibilityFeaturesModify}
};
class IdentityPrefTransformer : public PrefTransformerInterface {
@@ -450,6 +457,17 @@ 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();
}
PreferenceAPI::~PreferenceAPI() {

Powered by Google App Engine
This is Rietveld 408576698