aboutsummaryrefslogtreecommitdiff
path: root/ext/fg/js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fg/js')
-rw-r--r--ext/fg/js/frame-offset-forwarder.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/fg/js/frame-offset-forwarder.js b/ext/fg/js/frame-offset-forwarder.js
index 4b77d5ed..72731605 100644
--- a/ext/fg/js/frame-offset-forwarder.js
+++ b/ext/fg/js/frame-offset-forwarder.js
@@ -23,6 +23,7 @@ class FrameOffsetForwarder {
constructor() {
this._started = false;
this._frameCache = new Set();
+ this._unreachableContentWindowCache = new Set();
this._forwardFrameOffset = (
window !== window.parent ?
@@ -74,9 +75,13 @@ class FrameOffsetForwarder {
}
_onGetFrameOffset(offset, uniqueId, e) {
- const sourceFrame = this._findFrameWithContentWindow(e.source);
+ let sourceFrame = null;
+ if (!this._unreachableContentWindowCache.has(e.source)) {
+ sourceFrame = this._findFrameWithContentWindow(e.source);
+ }
if (sourceFrame === null) {
// closed shadow root etc.
+ this._unreachableContentWindowCache.add(e.source);
this._forwardFrameOffsetOrigin(null, uniqueId);
return;
}