From 7b14bed64e8e25a091bc03d658aea788b48e9f7a Mon Sep 17 00:00:00 2001 From: varjolintu Date: Thu, 15 Oct 2020 22:12:34 +0300 Subject: [PATCH] Add extra checks for document.body --- keepassxc-browser/content/keepassxc-browser.js | 7 +++++-- keepassxc-browser/content/ui.js | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/keepassxc-browser/content/keepassxc-browser.js b/keepassxc-browser/content/keepassxc-browser.js index fafc642..730d849 100755 --- a/keepassxc-browser/content/keepassxc-browser.js +++ b/keepassxc-browser/content/keepassxc-browser.js @@ -1588,7 +1588,8 @@ kpxcObserverHelper.ignoredElement = function(target) { // Ignores all nodes that doesn't contain elements // Also ignore few Youtube-specific custom nodeNames kpxcObserverHelper.ignoredNode = function(target) { - if (kpxcObserverHelper.ignoredNodeTypes.some(e => e === target.nodeType) + if (!target + ||kpxcObserverHelper.ignoredNodeTypes.some(e => e === target.nodeType) || kpxcObserverHelper.ignoredNodeNames.some(e => e === target.nodeName) || target.nodeName.startsWith('YTMUSIC') || target.nodeName.startsWith('YT-')) { @@ -1647,7 +1648,9 @@ kpxcObserverHelper.initObserver = async function() { } }); - kpxc.observer.observe(document.body, kpxcObserverHelper.observerConfig); + if (document.body) { + kpxc.observer.observe(document.body, kpxcObserverHelper.observerConfig); + } }; MutationObserver = window.MutationObserver || window.WebKitMutationObserver; diff --git a/keepassxc-browser/content/ui.js b/keepassxc-browser/content/ui.js index 582ae2b..bfa7aae 100644 --- a/keepassxc-browser/content/ui.js +++ b/keepassxc-browser/content/ui.js @@ -55,10 +55,13 @@ class Icon { } const kpxcUI = {}; -kpxcUI.bodyRect = document.body.getBoundingClientRect(); -kpxcUI.bodyStyle = getComputedStyle(document.body); kpxcUI.mouseDown = false; +if (document.body) { + kpxcUI.bodyRect = document.body.getBoundingClientRect(); + kpxcUI.bodyStyle = getComputedStyle(document.body); +} + // Wrapper for creating elements kpxcUI.createElement = function(type, classes, attributes, textContent) { const element = document.createElement(type);