aboutsummaryrefslogtreecommitdiff
path: root/ext/js/app/popup-factory.js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2021-09-30 21:05:34 -0400
committerGitHub <noreply@github.com>2021-09-30 21:05:34 -0400
commit19eb990aeb197f70a0cf46efdf9f2bdd6ed1d48c (patch)
tree5215d2e1d669e4576cd5c345e400727de93999eb /ext/js/app/popup-factory.js
parent6cf01555e7ea8d8f795188d16b2de5df58d0a110 (diff)
DOMRect update (#1973)
* Compare using left/top rather than x/y * Simplify * Update Popup*.getFrameRect to return a custom structure * Don't use x/y on DOMRect
Diffstat (limited to 'ext/js/app/popup-factory.js')
-rw-r--r--ext/js/app/popup-factory.js15
1 files changed, 6 insertions, 9 deletions
diff --git a/ext/js/app/popup-factory.js b/ext/js/app/popup-factory.js
index 8f0c2a6e..096d145e 100644
--- a/ext/js/app/popup-factory.js
+++ b/ext/js/app/popup-factory.js
@@ -230,7 +230,7 @@ class PopupFactory {
const {elementRect} = details;
if (typeof elementRect !== 'undefined') {
- details.elementRect = this._convertJsonRectToDOMRect(popup, elementRect);
+ [elementRect.x, elementRect.y] = this._convertPopupPointToRootPagePoint(popup, elementRect.x, elementRect.y);
}
return await popup.showContent(details, displayDetails);
@@ -281,17 +281,14 @@ class PopupFactory {
return popup;
}
- _convertJsonRectToDOMRect(popup, jsonRect) {
- const [x, y] = this._convertPopupPointToRootPagePoint(popup, jsonRect.x, jsonRect.y);
- return new DOMRect(x, y, jsonRect.width, jsonRect.height);
- }
-
_convertPopupPointToRootPagePoint(popup, x, y) {
- const parent = popup.parent;
+ const {parent} = popup;
if (parent !== null) {
const popupRect = parent.getFrameRect();
- x += popupRect.x;
- y += popupRect.y;
+ if (popupRect.valid) {
+ x += popupRect.x;
+ y += popupRect.y;
+ }
}
return [x, y];
}