fixed callback issue
This commit is contained in:
@@ -29,3 +29,9 @@ background script
|
|||||||
- raseev requests
|
- raseev requests
|
||||||
- send responses back to page
|
- send responses back to page
|
||||||
-
|
-
|
||||||
|
|
||||||
|
----
|
||||||
|
vdk general lib
|
||||||
|
|
||||||
|
sleep
|
||||||
|
bulrtot
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<br>
|
<br>
|
||||||
<button id="bad">Bad</button>
|
<button id="bad">Bad</button>
|
||||||
|
|
||||||
<script type="module" src="./msg_confirm.js"></script>
|
<script type="module" src="../dist/msg_confirm.js"></script>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
console.log('ur mom');
|
|
||||||
var result = null;
|
|
||||||
document.getElementById('good').onclick = () => { console.log('click good'); result = 'good' }
|
|
||||||
document.getElementById('bad').onclick = () => { console.log('click bad'); result = 'bad' }
|
|
||||||
|
|
||||||
// for some reason the listener here never gets triggered
|
|
||||||
async function listener(msg, _sender, _sendResponse) {
|
|
||||||
console.log('listener triggered');
|
|
||||||
console.log(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log('adding listener');
|
|
||||||
browser.runtime.onMessage.addListener(listener);
|
|
||||||
console.log('added listener');
|
|
||||||
@@ -359,10 +359,15 @@ msg_sign
|
|||||||
let confirm_window = await browser.windows.create({url : '../pages/msg_confirm.html',
|
let confirm_window = await browser.windows.create({url : '../pages/msg_confirm.html',
|
||||||
type : 'popup'});
|
type : 'popup'});
|
||||||
console.log('b');
|
console.log('b');
|
||||||
|
console.log(confirm_window.tabs);
|
||||||
// @ts-ignore shut the fuck up
|
// @ts-ignore shut the fuck up
|
||||||
let tabid : number = confirm_window.tabs[0].id;
|
let tabid : number = confirm_window.tabs[0].id;
|
||||||
console.log('tabid', tabid);
|
console.log('tabid', tabid);
|
||||||
|
|
||||||
|
// stupid hack because otherwise the message gets sent before the listener in the page script is created
|
||||||
|
await sleep(500);
|
||||||
|
console.log('slept');
|
||||||
|
|
||||||
let result = await browser.tabs.sendMessage(tabid, {msg_str : msg_str});
|
let result = await browser.tabs.sendMessage(tabid, {msg_str : msg_str});
|
||||||
console.log('result', result);
|
console.log('result', result);
|
||||||
|
|
||||||
@@ -769,3 +774,17 @@ bi_s2i
|
|||||||
|
|
||||||
return {keypairs: i_keypairs};
|
return {keypairs: i_keypairs};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hack from stack overflow somewhere to sleep for the given number of ms
|
||||||
|
*/
|
||||||
|
async function
|
||||||
|
sleep
|
||||||
|
(ms: number)
|
||||||
|
: Promise<void>
|
||||||
|
{
|
||||||
|
return new Promise(resolve => setTimeout(resolve, ms));
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* Page script for "confirm sign message" popup window
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
main();
|
||||||
|
|
||||||
|
async function
|
||||||
|
main
|
||||||
|
()
|
||||||
|
: Promise<void>
|
||||||
|
{
|
||||||
|
console.log('msg_confirm main');
|
||||||
|
var result = null;
|
||||||
|
document.getElementById('good')!.onclick = () => { console.log('click good'); result = 'good' }
|
||||||
|
document.getElementById('bad')!.onclick = () => { console.log('click bad'); result = 'bad' }
|
||||||
|
|
||||||
|
console.log('adding listener');
|
||||||
|
browser.runtime.onMessage.addListener(listener);
|
||||||
|
console.log('added listener');
|
||||||
|
}
|
||||||
|
|
||||||
|
// for some reason the listener here never gets triggered
|
||||||
|
async function
|
||||||
|
listener
|
||||||
|
(msg : any,
|
||||||
|
_sender : any,
|
||||||
|
_sendResponse : any)
|
||||||
|
: Promise<void>
|
||||||
|
{
|
||||||
|
console.log('listener triggered');
|
||||||
|
console.log(msg);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user