elements[1].innerText = message;
});
- $('#optionsTitle')[0].innerText = chrome.i18n.getMessage('optionsTitle');
- $('#optionsHeader')[0].innerText = chrome.i18n.getMessage('optionsHeader');
- $('#optionsPrompt')[0].innerText = chrome.i18n.getMessage('optionsPrompt');
- $('#optionsTimeFor')[0].innerText = chrome.i18n.getMessage('optionsTimeFor');
- $('#optionsTimeStart')[0].innerText = chrome.i18n.getMessage('optionsTimeStart');
- $('#optionsCookies')[0].innerText = chrome.i18n.getMessage('optionsCookies');
- $('#optionsAutoclear')[0].innerText = chrome.i18n.getMessage('optionsAutoclear');
- $('#optionsSaved > b')[0].innerText = chrome.i18n.getMessage('optionsSaved');
+ $('[i18n-content]').forEach(function(ele) {
+ ele.innerText = chrome.i18n.getMessage(ele.getAttribute('i18n-content'));
+ });
// Bind all the callbacks
- $('#opt-time input.opt-chk[type=radio]').forEach(function(e) {
+ $('input[type=radio]').forEach(function(e) {
e.onclick = toggle;
});
- $('input.opt-chk[type=checkbox]').forEach(function(e) {
+ $('input[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', 'downloads', '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 clearDownloads = s.downloads || 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][value="' + timeStart + '"]')[0].checked = true;
+ $('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=downloads]')[0].checked = (clearDownloads === CONSTANTS.YES);
+ $('input[name=autoclear]')[0].checked = (autoClear === CONSTANTS.YES);
+ });
}
/**
* @this {HTMLInputElement} The element (radio button) that was clicked.
*/
function toggle() {
- localStorage['time'] = this.value;
+ var setting = {};
+ setting[this.name] = this.value;
+ chrome.storage.sync.set(setting);
optionSaved();
}
* 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();
}