summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorNicolas Lempereur <nle@odoo.com>2018-05-02 11:58:01 +0200
committerNicolas Lempereur <nle@odoo.com>2018-05-14 11:16:20 +0200
commit5bb7ffa20e242d779e7f8e464fb076b7bce1e76c (patch)
tree145cdfd0b1f64944e3fdb31543933d4ea606c343 /addons
parent3416d4a7989e03be5fb77b5414395c14df63c076 (diff)
[FIX] web_editor: ignore range error on Restricted
In firefox, if we have a range on eg.: `<input type="file">` and we tabulate to get to it, we have the range over: `<button type="button" tabindex="0">Browse…</button>` which seems to be a "virtual" element inside the `<input/>` 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
Diffstat (limited to 'addons')
-rw-r--r--addons/web_editor/static/src/js/summernote.js8
1 files changed, 7 insertions, 1 deletions
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');