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

Unified Diff: chrome/browser/resources/options/preferences.js

Issue 7003007: Apply content-security-policy to the HTML options page. This is a (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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/resources/options/preferences.js
===================================================================
--- chrome/browser/resources/options/preferences.js (revision 84868)
+++ chrome/browser/resources/options/preferences.js (working copy)
@@ -1,172 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-cr.define('options', function() {
-
- /////////////////////////////////////////////////////////////////////////////
- // Preferences class:
-
- /**
- * Preferences class manages access to Chrome profile preferences.
- * @constructor
- */
- function Preferences() {
- }
-
- cr.addSingletonGetter(Preferences);
-
- /**
- * Sets value of a boolean preference.
- * and signals its changed value.
- * @param {string} name Preference name.
- * @param {boolean} value New preference value.
- * @param {string} metric User metrics identifier.
- */
- Preferences.setBooleanPref = function(name, value, metric) {
- var argumentList = [name, Boolean(value)];
- if (metric != undefined) argumentList.push(metric);
- chrome.send('setBooleanPref', argumentList);
- };
-
- /**
- * Sets value of an integer preference.
- * and signals its changed value.
- * @param {string} name Preference name.
- * @param {number} value New preference value.
- * @param {string} metric User metrics identifier.
- */
- Preferences.setIntegerPref = function(name, value, metric) {
- var argumentList = [name, Number(value)];
- if (metric != undefined) argumentList.push(metric);
- chrome.send('setIntegerPref', argumentList);
- };
-
- /**
- * Sets value of a double-valued preference.
- * and signals its changed value.
- * @param {string} name Preference name.
- * @param {number} value New preference value.
- * @param {string} metric User metrics identifier.
- */
- Preferences.setDoublePref = function(name, value, metric) {
- var argumentList = [name, Number(value)];
- if (metric != undefined) argumentList.push(metric);
- chrome.send('setDoublePref', argumentList);
- };
-
- /**
- * Sets value of a string preference.
- * and signals its changed value.
- * @param {string} name Preference name.
- * @param {string} value New preference value.
- * @param {string} metric User metrics identifier.
- */
- Preferences.setStringPref = function(name, value, metric) {
- var argumentList = [name, String(value)];
- if (metric != undefined) argumentList.push(metric);
- chrome.send('setStringPref', argumentList);
- };
-
- /**
- * Sets value of a JSON list preference.
- * and signals its changed value.
- * @param {string} name Preference name.
- * @param {Array} value New preference value.
- * @param {string} metric User metrics identifier.
- */
- Preferences.setListPref = function(name, value, metric) {
- var argumentList = [name, JSON.stringify(value)];
- if (metric != undefined) argumentList.push(metric);
- chrome.send('setListPref', argumentList);
- };
-
- /**
- * Clears value of a JSON preference.
- * @param {string} name Preference name.
- * @param {string} metric User metrics identifier.
- */
- Preferences.clearPref = function(name, metric) {
- var argumentList = [name];
- if (metric != undefined) argumentList.push(metric);
- chrome.send('clearPref', argumentList);
- };
-
- Preferences.prototype = {
- __proto__: cr.EventTarget.prototype,
-
- // Map of registered preferences.
- registeredPreferences_: {},
-
- /**
- * Adds an event listener to the target.
- * @param {string} type The name of the event.
- * @param {!Function|{handleEvent:Function}} handler The handler for the
- * event. This is called when the event is dispatched.
- */
- addEventListener: function(type, handler) {
- cr.EventTarget.prototype.addEventListener.call(this, type, handler);
- this.registeredPreferences_[type] = true;
- },
-
- /**
- * Initializes preference reading and change notifications.
- */
- initialize: function() {
- var params1 = ['Preferences.prefsFetchedCallback'];
- var params2 = ['Preferences.prefsChangedCallback'];
- for (var prefName in this.registeredPreferences_) {
- params1.push(prefName);
- params2.push(prefName);
- }
- chrome.send('fetchPrefs', params1);
- chrome.send('observePrefs', params2);
- },
-
- /**
- * Helper function for flattening of dictionary passed via fetchPrefs
- * callback.
- * @param {string} prefix Preference name prefix.
- * @param {object} dict Map with preference values.
- */
- flattenMapAndDispatchEvent_: function(prefix, dict) {
- for (var prefName in dict) {
- if (typeof dict[prefName] == 'object' &&
- !this.registeredPreferences_[prefix + prefName]) {
- this.flattenMapAndDispatchEvent_(prefix + prefName + '.',
- dict[prefName]);
- } else {
- var event = new cr.Event(prefix + prefName);
- event.value = dict[prefName];
- this.dispatchEvent(event);
- }
- }
- }
- };
-
- /**
- * Callback for fetchPrefs method.
- * @param {object} dict Map of fetched property values.
- */
- Preferences.prefsFetchedCallback = function(dict) {
- Preferences.getInstance().flattenMapAndDispatchEvent_('', dict);
- };
-
- /**
- * Callback for observePrefs method.
- * @param {array} notification An array defining changed preference values.
- * notification[0] contains name of the change preference while its new value
- * is stored in notification[1].
- */
- Preferences.prefsChangedCallback = function(notification) {
- var event = new cr.Event(notification[0]);
- event.value = notification[1];
- Preferences.getInstance().dispatchEvent(event);
- };
-
- // Export
- return {
- Preferences: Preferences
- };
-
-});

Powered by Google App Engine
This is Rietveld 408576698