diff options
Diffstat (limited to 'ext/fg/js/frame-offset-forwarder.js')
| -rw-r--r-- | ext/fg/js/frame-offset-forwarder.js | 17 | 
1 files changed, 7 insertions, 10 deletions
diff --git a/ext/fg/js/frame-offset-forwarder.js b/ext/fg/js/frame-offset-forwarder.js index 09eb89a6..781a9018 100644 --- a/ext/fg/js/frame-offset-forwarder.js +++ b/ext/fg/js/frame-offset-forwarder.js @@ -44,17 +44,14 @@ class FrameOffsetForwarder {      async applyOffset(x, y) {          const uniqueId = yomichan.generateId(16); -        let frameOffsetResolve = null; -        const frameOffsetPromise = new Promise((resolve) => (frameOffsetResolve = resolve)); - -        const runtimeMessageCallback = ({action, params}, sender, callback) => { -            if (action === 'frameOffset' && isObject(params) && params.uniqueId === uniqueId) { -                chrome.runtime.onMessage.removeListener(runtimeMessageCallback); -                callback(); -                frameOffsetResolve(params); +        const frameOffsetPromise = yomichan.getTemporaryListenerResult( +            chrome.runtime.onMessage, +            ({action, params}, {resolve}) => { +                if (action === 'frameOffset' && isObject(params) && params.uniqueId === uniqueId) { +                    resolve(params); +                }              } -        }; -        chrome.runtime.onMessage.addListener(runtimeMessageCallback); +        );          window.parent.postMessage({              action: 'getFrameOffset',  |