diff options
| -rw-r--r-- | ext/fg/js/popup-proxy-host.js | 12 | 
1 files changed, 8 insertions, 4 deletions
| diff --git a/ext/fg/js/popup-proxy-host.js b/ext/fg/js/popup-proxy-host.js index bef2cb16..b9a5617c 100644 --- a/ext/fg/js/popup-proxy-host.js +++ b/ext/fg/js/popup-proxy-host.js @@ -116,7 +116,8 @@ class PopupProxyHost {      async _onApiContainsPoint({id, x, y}) {          const popup = this._getPopup(id); -        return await popup.containsPoint(x, y); +        const rootPagePoint = PopupProxyHost._convertPopupPointToRootPagePoint(popup, x, y); +        return await popup.containsPoint(...rootPagePoint);      }      async _onApiShowContent({id, elementRect, writingMode, type, details}) { @@ -152,14 +153,17 @@ class PopupProxyHost {      }      static _convertJsonRectToDOMRect(popup, jsonRect) { -        let x = jsonRect.x; -        let y = jsonRect.y; +        const [x, y] = PopupProxyHost._convertPopupPointToRootPagePoint(popup, jsonRect.x, jsonRect.y); +        return new DOMRect(x, y, jsonRect.width, jsonRect.height); +    } + +    static _convertPopupPointToRootPagePoint(popup, x, y) {          if (popup.parent !== null) {              const popupRect = popup.parent.getContainerRect();              x += popupRect.x;              y += popupRect.y;          } -        return new DOMRect(x, y, jsonRect.width, jsonRect.height); +        return [x, y];      }      static _popupCanShow(popup) { |