// 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() { ////////////////////////////////////////////////////////////////////////////// // ContentSettingsRadio class: // Define a constructor that uses an input element as its underlying element. var ContentSettingsRadio = cr.ui.define('input'); ContentSettingsRadio.prototype = { __proto__: HTMLInputElement.prototype, /** * Initialization function for the cr.ui framework. */ decorate: function() { this.type = 'radio'; var self = this; this.addEventListener('change', function(e) { chrome.send('setContentFilter', [this.name, this.value]); }); }, }; /** * Whether the content setting is controlled by something else than the user's * settings (either 'policy' or 'extension'). * @type {string} */ cr.defineProperty(ContentSettingsRadio, 'controlledBy', cr.PropertyKind.ATTR); ////////////////////////////////////////////////////////////////////////////// // HandlersEnabledRadio class: // Define a constructor that uses an input element as its underlying element. var HandlersEnabledRadio = cr.ui.define('input'); HandlersEnabledRadio.prototype = { __proto__: HTMLInputElement.prototype, /** * Initialization function for the cr.ui framework. */ decorate: function() { this.type = 'radio'; var self = this; this.addEventListener('change', function(e) { chrome.send('setHandlersEnabled', [this.value == 'allow']); }); }, }; // Export return { ContentSettingsRadio: ContentSettingsRadio, HandlersEnabledRadio: HandlersEnabledRadio }; });