From 5bb7ffa20e242d779e7f8e464fb076b7bce1e76c Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Wed, 2 May 2018 11:58:01 +0200 Subject: [PATCH] [FIX] web_editor: ignore range error on Restricted MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In firefox, if we have a range on eg.: `` and we tabulate to get to it, we have the range over: `` which seems to be a "virtual" element inside the `` but this magic element is "Restricted" and causes error such as: `Permission denied to access property "nodeName"` So this fix ignore errors when getting a range from current selection on keyup. opw-1819279 closes #24524 --- addons/web_editor/static/src/js/summernote.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/web_editor/static/src/js/summernote.js b/addons/web_editor/static/src/js/summernote.js index 435c5d7fa78..bae44f1998c 100644 --- a/addons/web_editor/static/src/js/summernote.js +++ b/addons/web_editor/static/src/js/summernote.js @@ -2003,7 +2003,13 @@ eventHandler.modules.toolbar.button.updateRecentColor = function (elBtn, sEvent, }; $(document).on('click keyup', function () { - var $popover = $((range.create()||{}).sc).closest('[contenteditable]'); + var current_range = {}; + try { + current_range = range.create() || {}; + } catch (e) { + // if range is on Restricted element ignore error + } + var $popover = $(current_range.sc).closest('[contenteditable]'); var popover_history = ($popover.data()||{}).NoteHistory; if(!popover_history || popover_history == history) return; var editor = $popover.parent('.note-editor');