var pins;
var verified = false;
-chrome.storage.local.get(null, function(items){
- pins = items;
+function updatePins() {
+ chrome.storage.local.get(null, function(items){
+ pins = items;
+ });
+}
+
+updatePins();
+
+chrome.pageAction.onClicked.addListener(function(tab) {
+ if (verified) {
+ if (pins[appId])
+ messagePort.postMessage('reregister:' + pins[appId]);
+ else
+ messagePort.postMessage('show:register');
+ }
});
chrome.runtime.onConnect.addListener(function(port) {
} else {
messagePort.postMessage('show:verify');
}
- return;
+ return;
}
}
- messagePort.postMessage('show:register');
+ // Don't show register popup by default.
+ verified = true;
}
break;
case 'register':
chrome.storage.local.set(store, function() {
messagePort.postMessage('verified');
verified = true;
+ updatePins();
});
break;
case 'verify':
messagePort.postMessage('verified');
verified = true;
});
+ updatePins();
break;
case 'exit':
- app.quit();
+ if (!verified)
+ app.quit();
break;
default:
break;
alert('Please check the pin.');
pin.value = '';
pin.focus();
+ break;
+ case 'reregister':
+ modalType = 'register';
+ if (messages[1] == 'skip')
+ skip.checked = true;
+ else
+ pin.value = messages[1];
+ showModal();
+ break;
default:
break;
}
function showModal() {
if (modalType === 'register') {
title.textContent = 'New PIN';
-
+ skip.disabled = false;
} else if (modalType === 'verify') {
title.textContent = 'Enter PIN';
skip.disabled = true;
"manifest_version": 2,
"name": "app_security",
"version": "1.0.0",
-
"background": {
"scripts": ["background.js"]
},
-
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"],
"css": ["modal_style.css"]
}
- ]
+ ],
+ "page_action": {
+ "default_icon" : "icon.png"
+ },
+ "manifest_version": 2
}