]>
git.wh0rd.org - chrome-ext/web-power-switch.git/blob - options.js
1 // Written by Mike Frysinger <vapier@gmail.com>. Released into the public domain. Suck it.
3 function update_settings() {
4 var url
= document
.getElementById('url').value
+ '/*';
5 var msg
= document
.getElementById('msg');
7 console
.log('requesting access to', url
);
8 chrome
.permissions
.request({
10 }, function(granted
) {
12 msg
.innerText
= 'Saved!';
14 // Sync all of the settings to storage first.
16 settings_keys
.forEach(function(key
) {
17 var field
= document
.getElementById(key
);
18 settings
[field
.id
] = field
.value
;
20 storage
.set(settings
);
22 // Then revoke existing perms that the user gave us.
23 chrome
.permissions
.getAll(function(perms
) {
24 perms
.origins
.forEach(function(key
) {
28 console
.log('revoking access to', key
);
29 chrome
.permissions
.remove({
35 msg
.innerText
= 'You must grant permission in order to save!';
39 msg
.timeout
= setTimeout(function() {
40 // Can't leave this blank or Chrome will resize the options page.
41 msg
.innerHTML
= ' ';
46 if (e
.key
== 'Enter') {
51 function toggle_visible_pass() {
52 const ele
= document
.getElementById('pass');
53 ele
.type
= (ele
.type
== 'password') ? 'text' : 'password';
54 // Disable form submission.
58 window
.onload = function() {
59 storage
.get(settings_keys
, function(settings
) {
60 var field
= document
.getElementById('save');
61 field
.onclick
= update_settings
;
63 settings_keys
.forEach(function(key
) {
64 var field
= document
.getElementById(key
);
65 field
.value
= settings
[key
] || settings_defaults
[key
];
66 field
.onkeydown
= keydown
;
69 document
.getElementById('show-pass').onclick
= toggle_visible_pass
;