@@ -2,7 +2,6 @@ import {InternalRequestBundle, InternalResponseBundle, RequestHandler, Version}
22import { isFirefox , runtimeNamespace } from '../utils/detect' ;
33import { inPageContext } from '../utils/snips' ;
44import { g_PostMessageBus } from '../bus/post_message_bus' ;
5- import { DeferredPromise } from '../utils/deferred_promise' ;
65
76function canUseSendMessage ( ) {
87 // Not supported in Firefox Page Context
@@ -23,23 +22,21 @@ export async function ClientSend<Req, Resp>(handler: RequestHandler<Req, Resp>,
2322 } ;
2423
2524 if ( canUseSendMessage ( ) ) {
26- const promise = new DeferredPromise < Resp > ( ) ;
27-
28- // @ts -ignore Bad types
29- runtimeNamespace ( ) . runtime . sendMessage (
30- ( typeof window !== 'undefined' && window . CSFLOAT_EXTENSION_ID ) || chrome . runtime . id ,
31- bundle ,
25+ return new Promise ( ( resolve , reject ) => {
3226 // @ts -ignore Bad types
33- ( resp : InternalResponseBundle ) => {
34- if ( resp ?. response ) {
35- promise . resolve ( resp . response ) ;
36- } else {
37- promise . reject ( resp ?. error ) ;
27+ runtimeNamespace ( ) . runtime . sendMessage (
28+ window . CSFLOAT_EXTENSION_ID || chrome . runtime . id ,
29+ bundle ,
30+ // @ts -ignore Bad types
31+ ( resp : InternalResponseBundle ) => {
32+ if ( resp ?. response ) {
33+ resolve ( resp . response ) ;
34+ } else {
35+ reject ( resp ?. error ) ;
36+ }
3837 }
39- }
40- ) ;
41-
42- return promise . promise ( ) ;
38+ ) ;
39+ } ) ;
4340 } else {
4441 // Fallback to postmessage bus for browsers that don't implement
4542 // specs fully
0 commit comments