Home | History | Annotate | Download | only in options
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 cr.define('options', function() {
      6 
      7   //////////////////////////////////////////////////////////////////////////////
      8   // ContentSettingsRadio class:
      9 
     10   // Define a constructor that uses an input element as its underlying element.
     11   var ContentSettingsRadio = cr.ui.define('input');
     12 
     13   ContentSettingsRadio.prototype = {
     14     __proto__: HTMLInputElement.prototype,
     15 
     16     /**
     17      * Initialization function for the cr.ui framework.
     18      */
     19     decorate: function() {
     20       this.type = 'radio';
     21       var self = this;
     22 
     23       this.addEventListener('change',
     24           function(e) {
     25             chrome.send('setContentFilter', [this.name, this.value]);
     26           });
     27     },
     28   };
     29 
     30   /**
     31    * Whether the content setting is controlled by something else than the user's
     32    * settings (either 'policy' or 'extension').
     33    */
     34   cr.defineProperty(ContentSettingsRadio, 'controlledBy', cr.PropertyKind.ATTR);
     35 
     36   //////////////////////////////////////////////////////////////////////////////
     37   // HandlersEnabledRadio class:
     38 
     39   // Define a constructor that uses an input element as its underlying element.
     40   var HandlersEnabledRadio = cr.ui.define('input');
     41 
     42   HandlersEnabledRadio.prototype = {
     43     __proto__: HTMLInputElement.prototype,
     44 
     45     /**
     46      * Initialization function for the cr.ui framework.
     47      */
     48     decorate: function() {
     49       this.type = 'radio';
     50       var self = this;
     51 
     52       this.addEventListener('change',
     53           function(e) {
     54             chrome.send('setHandlersEnabled', [this.value == 'allow']);
     55           });
     56     },
     57   };
     58 
     59   // Export
     60   return {
     61     ContentSettingsRadio: ContentSettingsRadio,
     62     HandlersEnabledRadio: HandlersEnabledRadio
     63   };
     64 
     65 });
     66 
     67