diff options
| author | Nicolas Lempereur <nle@odoo.com> | 2018-05-02 11:58:01 +0200 |
|---|---|---|
| committer | Nicolas Lempereur <nle@odoo.com> | 2018-05-14 11:16:20 +0200 |
| commit | 5bb7ffa20e242d779e7f8e464fb076b7bce1e76c (patch) | |
| tree | 145cdfd0b1f64944e3fdb31543933d4ea606c343 /addons | |
| parent | 3416d4a7989e03be5fb77b5414395c14df63c076 (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.js | 8 |
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'); |
