Index: go-back-with-backspace/pages/options.js |
diff --git a/go-back-with-backspace/pages/options.js b/go-back-with-backspace/pages/options.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9ff25d65f1c7564e76834ea643093fd4fa7893ba |
--- /dev/null |
+++ b/go-back-with-backspace/pages/options.js |
@@ -0,0 +1,60 @@ |
+// 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); |