diff options
Diffstat (limited to 'qutebrowser/javascript/stylesheet.js')
-rw-r--r-- | qutebrowser/javascript/stylesheet.js | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/qutebrowser/javascript/stylesheet.js b/qutebrowser/javascript/stylesheet.js index 21a62b25d..1f1bdbd57 100644 --- a/qutebrowser/javascript/stylesheet.js +++ b/qutebrowser/javascript/stylesheet.js @@ -132,11 +132,18 @@ window._qutebrowser.stylesheet = (function() { css_content = css; } // Propagate the new CSS to all child frames. - // FIXME:qtwebengine This does not work for cross-origin frames. for (let i = 0; i < window.frames.length; ++i) { const frame = window.frames[i]; - if (frame._qutebrowser && frame._qutebrowser.stylesheet) { - frame._qutebrowser.stylesheet.set_css(css); + try { + if (frame._qutebrowser && frame._qutebrowser.stylesheet) { + frame._qutebrowser.stylesheet.set_css(css); + } + } catch (exc) { + if (exc instanceof DOMException && exc.name === "SecurityError") { + // FIXME:qtwebengine This does not work for cross-origin frames. + } else { + throw exc; + } } } }; |