X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=popup.js;h=22c31604dccc3be9d89a189555ed4f36a887c637;hb=e09bdd59a2ee6ed310948665a41b9cdfa21990ea;hp=640aa5bb0c03ea23440fabdb54a3e2351106cec8;hpb=8191f7e7ff96c3ce118c29d285f89fc9835ad281;p=chrome-ext%2Fweb-power-switch.git
diff --git a/popup.js b/popup.js
index 640aa5b..22c3160 100644
--- a/popup.js
+++ b/popup.js
@@ -14,8 +14,11 @@ function fetchpage(url, callback) {
callback(xhr, state);
} else {
xhr.setstatus = true;
- setstatus('Could not connect;
check your ' +
- 'settings');
+ setstatus(
+ 'Could not connect;
check your ' +
+ 'settings'
+ );
+ document.getElementById('open-settings').onclick = open_settings_page;
console.log('connect error', state);
}
}
@@ -161,11 +164,34 @@ function setstatus(msg) {
status.style.position = msg ? '' : 'absolute';
}
+function open_settings_page() {
+ chrome.runtime.openOptionsPage();
+}
+
document.addEventListener('DOMContentLoaded', function() {
storage.get(settings_keys, function(settings) {
url_base = settings['url'] || settings_defaults['url'];
user = settings['user'] || settings_defaults['user'];
pass = settings['pass'] || settings_defaults['pass'];
- fetchpage('index.htm', initpopup);
+ chrome.permissions.contains({
+ origins: [url_base + '/*']
+ }, function(granted) {
+ if (granted) {
+ fetchpage('index.htm', initpopup);
+ } else {
+ setstatus(
+ 'Missing permissions;
please visit the ' +
+ 'settings page' +
+ '
to grant access.
' +
+ '