]>
Commit | Line | Data |
---|---|---|
1 | // Written by Mike Frysinger <vapier@gmail.com>. Released into the public domain. Suck it. | |
2 | ||
3 | function update_settings() { | |
4 | var url = document.getElementById('url').value + '/*'; | |
5 | var msg = document.getElementById('msg'); | |
6 | ||
7 | console.log('requesting access to', url); | |
8 | chrome.permissions.request({ | |
9 | origins: [url] | |
10 | }, function(granted) { | |
11 | if (granted) { | |
12 | msg.innerText = 'Saved!'; | |
13 | ||
14 | // Sync all of the settings to storage first. | |
15 | var settings = {} | |
16 | settings_keys.forEach(function(key) { | |
17 | var field = document.getElementById(key); | |
18 | settings[field.id] = field.value; | |
19 | }); | |
20 | storage.set(settings); | |
21 | ||
22 | // Then revoke existing perms that the user gave us. | |
23 | chrome.permissions.getAll(function(perms) { | |
24 | perms.origins.forEach(function(key) { | |
25 | if (key == url) | |
26 | return; | |
27 | ||
28 | console.log('revoking access to', key); | |
29 | chrome.permissions.remove({ | |
30 | origins: [key], | |
31 | }); | |
32 | }); | |
33 | }); | |
34 | } else { | |
35 | msg.innerText = 'You must grant permission in order to save!'; | |
36 | } | |
37 | }); | |
38 | ||
39 | msg.timeout = setTimeout(function() { | |
40 | msg.innerText = ''; | |
41 | }, 5000); | |
42 | } | |
43 | ||
44 | window.onload = function() { | |
45 | storage.get(settings_keys, function(settings) { | |
46 | var field = document.getElementById('save'); | |
47 | field.onclick = update_settings; | |
48 | ||
49 | settings_keys.forEach(function(key) { | |
50 | var field = document.getElementById(key); | |
51 | field.value = settings[key] || settings_defaults[key]; | |
52 | }); | |
53 | }); | |
54 | }; |