|
1 | 1 | let lastResponseGlobal = { }; |
2 | 2 | let mech; |
3 | 3 | let c2c = { }; |
| 4 | +let resolveGlobal = { }; |
4 | 5 |
|
5 | 6 | const |
6 | 7 | target = "<all_urls>" |
@@ -59,22 +60,15 @@ const |
59 | 60 | } |
60 | 61 | mech = undefined; |
61 | 62 | delete c2c[requestDetails.requestId]; |
| 63 | + delete resolveGlobal[requestDetails.requestId]; |
| 64 | + }, portListener = (response) => { |
| 65 | + console.log("response " + response.requestId + ": " + JSON.stringify(response)); |
| 66 | + lastResponseGlobal[response.requestId] = response; |
| 67 | + resolveGlobal[response.requestId](response.extraInfoSpec); |
62 | 68 | }, asyncRedirect = (attrs) => { |
63 | 69 | return new Promise((resolve, reject) => { |
64 | | - const |
65 | | - portListener = (response) => { |
66 | | - if (response.requestId === attrs.requestId) { |
67 | | - port.onMessage.removeListener(portListener); |
68 | | - console.log("response " + response.requestId + ": " + JSON.stringify(response)); |
69 | | - console.log("attrs.requestId: " + attrs.requestId); |
70 | | - lastResponseGlobal[response.requestId] = response; |
71 | | - resolve(response.extraInfoSpec); |
72 | | - } |
73 | | - } |
74 | | - ; |
75 | | - |
76 | 70 | console.log("posting " + attrs.requestId + ": " + JSON.stringify(attrs)); |
77 | | - port.onMessage.addListener(portListener); |
| 71 | + resolveGlobal[attrs.requestId] = resolve; |
78 | 72 | port.postMessage(attrs); |
79 | 73 | }); |
80 | 74 | }, binaryToHex = (binary) => { |
@@ -199,6 +193,8 @@ const |
199 | 193 | } |
200 | 194 | ; |
201 | 195 |
|
| 196 | +port.onMessage.addListener(portListener); |
| 197 | + |
202 | 198 | browser.webRequest.onHeadersReceived.addListener( |
203 | 199 | onHeadersReceived, |
204 | 200 | { urls: [ target ] }, |
|
0 commit comments