Home | History | Annotate | Download | only in caretbrowsing
      1 /* Copyright (c) 2014 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 function setRadio(name, defaultValue) {
      6   chrome.storage.sync.get(name, function(result) {
      7     var value = result[name];
      8     if (value === undefined) {
      9       value = defaultValue;
     10       var obj = {};
     11       obj[name] = value;
     12       chrome.storage.sync.set(obj);
     13     }
     14     var controls = document.querySelectorAll(
     15         'input[type="radio"][name="' + name + '"]');
     16     for (var i = 0; i < controls.length; i++) {
     17       var c = controls[i];
     18       if (c.value == value) {
     19         c.checked = true;
     20       }
     21       c.addEventListener('change', function(evt) {
     22         if (evt.target.checked) {
     23           var obj = {};
     24           obj[evt.target.name] = evt.target.value;
     25           chrome.storage.sync.set(obj);
     26         }
     27       }, false);
     28     }
     29   });
     30 }
     31 
     32 function load() {
     33   var isMac = (navigator.appVersion.indexOf("Mac") != -1);
     34   if (isMac) {
     35     document.body.classList.add('mac');
     36   } else {
     37     document.body.classList.add('nonmac');
     38   }
     39 
     40   var isCros = (navigator.appVersion.indexOf("CrOS") != -1);
     41   if (isCros) {
     42     document.body.classList.add('cros');
     43   } else {
     44     document.body.classList.add('noncros');
     45   }
     46 
     47   setRadio('onenable', 'anim');
     48   setRadio('onjump', 'flash');
     49 
     50   var heading = document.querySelector('h1');
     51   var sel = window.getSelection();
     52   sel.setBaseAndExtent(heading, 0, heading, 0);
     53 
     54   document.title = chrome.i18n.getMessage('caretBrowsingOptions');
     55   var i18nElements = document.querySelectorAll('*[i18n-content]');
     56   for (var i = 0; i < i18nElements.length; i++) {
     57     var elem = i18nElements[i];
     58     var msg = elem.getAttribute('i18n-content');
     59     elem.innerHTML = chrome.i18n.getMessage(msg);
     60   }
     61 }
     62 
     63 window.addEventListener('load', load, false);
     64