aboutsummaryrefslogtreecommitdiff
path: root/ext/fg/js
diff options
context:
space:
mode:
authorsiikamiika <siikamiika@users.noreply.github.com>2020-03-07 03:52:36 +0200
committersiikamiika <siikamiika@users.noreply.github.com>2020-03-07 03:52:36 +0200
commit86be737508d3148c90ea04d702fab30fdfb464d2 (patch)
tree5806425457807bd278df65e2682fca8507fec181 /ext/fg/js
parent421b60db0f6f132cbc5993488041846055a76d11 (diff)
fix popup containsPoint offset
Diffstat (limited to 'ext/fg/js')
-rw-r--r--ext/fg/js/popup-proxy-host.js12
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) {