blob: 9ff25d65f1c7564e76834ea643093fd4fa7893ba [file] [log] [blame]
// Copyright 2016 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Initialize the page.
function init() {
LoadInternationalizedStrings();
var blacklist = document.getElementById('blacklist');
var checkbox = document.getElementById('disableInApplets');
var whitelist = document.getElementById('whitelist');
// Configure the textboxes, allowing 200 characters for JSON serialization
// and key length.
blacklist.maxlength = chrome.storage.sync.QUOTA_BYTES_PER_ITEM - 200;
whitelist.maxlength = chrome.storage.sync.QUOTA_BYTES_PER_ITEM - 200;
// Set event handlers.
document.getElementById('done_button').onclick = function() {
chrome.storage.sync.set({
// Split the lists into arrays at whitespace before saving.
blacklist:
document.getElementById('blacklist').value.split(/\s+/),
disableInApplets: document.getElementById('disableInApplets').checked,
whitelist:
document.getElementById('whitelist').value.split(/\s+/)
}, function() {
// One easy way to force an error for testing is to change "sync" to
// "managed" in the chrome.storage.sync.set() call above.
if (chrome.runtime.lastError) {
document.getElementById('error').textContent =
chrome.i18n.getMessage('errorSaving',
chrome.runtime.lastError.message);
} else {
window.close();
}
});
};
document.getElementById('cancel_button').onclick = function() {
window.close();
};
document.getElementById('report_page').onclick = function() {
reportPage();
};
// Load saved settings into the form fields.
chrome.storage.sync.get({
blacklist: [],
disableInApplets: true,
whitelist: []
}, function(items) {
blacklist.value = items.blacklist.join('\n');
checkbox.checked = items.disableInApplets;
whitelist.value = items.whitelist.join('\n');
});
}
window.addEventListener('load', init, false);