]> git.wh0rd.org - chrome-ext/clearhistory-advance-fork.git/blobdiff - javascript/options.js
use chrome.storage.sync
[chrome-ext/clearhistory-advance-fork.git] / javascript / options.js
index f6dfcadec4533dfb4ef075ea94761270ee991bc3..94ea31eb9da15c656258146c9604d41bdaf51d85 100644 (file)
@@ -42,24 +42,24 @@ function init() {
   $('input.opt-chk[type=checkbox]').forEach(function(e) {
     e.onclick = setCheck;
   });
-  $('#opt-prompt input.opt-chk[type=checkbox]').forEach(function(e) {
-    e.onclick = setPrompt;
-  });
 
   // Load or set localStorage data
-  var timeStart = localStorage['timeStart'] || CONSTANTS.YES;
-  var time = ~~(localStorage['time']) ||
-             (localStorage['time'] = CONSTANTS.DEFAULT_TIME);
-  var showPrompt = localStorage['prompt'] ||
-                   (localStorage['prompt'] = CONSTANTS.YES);
-  var clearCookies = localStorage['cookies'] || CONSTANTS.NO;
-  var autoClear = localStorage['autoclear'] || CONSTANTS.NO;
+  var settings = [
+    'timeStart', 'time', 'prompt', 'cookies', 'autoclear',
+  ];
+  chrome.storage.sync.get(settings, function(s) {
+    var timeStart = s.timeStart || CONSTANTS.YES;
+    var time = ~~(s.time) || (s.time = CONSTANTS.DEFAULT_TIME);
+    var showPrompt = s.prompt || (s.prompt = CONSTANTS.YES);
+    var clearCookies = s.cookies || CONSTANTS.NO;
+    var autoClear = s.autoclear || CONSTANTS.NO;
 
-  $('input[name=timeStart]')[0].checked = (timeStart === CONSTANTS.YES);
-  $('input[name=time][value="' + time + '"]')[0].checked = true;
-  $('input[name=prompt]')[0].checked = (showPrompt === CONSTANTS.YES);
-  $('input[name=cookies]')[0].checked = (clearCookies === CONSTANTS.YES);
-  $('input[name=autoclear]')[0].checked = (autoClear === CONSTANTS.YES);
+    $('input[name=timeStart]')[0].checked = (timeStart === CONSTANTS.YES);
+    $('input[name=time][value="' + time + '"]')[0].checked = true;
+    $('input[name=prompt]')[0].checked = (showPrompt === CONSTANTS.YES);
+    $('input[name=cookies]')[0].checked = (clearCookies === CONSTANTS.YES);
+    $('input[name=autoclear]')[0].checked = (autoClear === CONSTANTS.YES);
+  });
 }
 
 /**
@@ -67,7 +67,7 @@ function init() {
  * @this {HTMLInputElement} The element (radio button) that was clicked.
  */
 function toggle() {
-  localStorage['time'] = this.value;
+  chrome.storage.sync.set({'time': this.value});
   optionSaved();
 }
 
@@ -75,13 +75,10 @@ function toggle() {
  * Sets the {@code localStorage.prompt} property when selected
  * @this {HTMLInputElement} The element (checkbox) that was clicked.
  */
-function setPrompt() {
-  localStorage['prompt'] = this.checked ? CONSTANTS.YES : CONSTANTS.NO;
-  optionSaved();
-}
-
 function setCheck() {
-  localStorage[this.name] = this.checked ? CONSTANTS.YES : CONSTANTS.NO;
+  var setting = {};
+  setting[this.name] = this.checked ? CONSTANTS.YES : CONSTANTS.NO;
+  chrome.storage.sync.set(setting);
   optionSaved();
 }