diff --git a/CHANGES.md b/CHANGES.md index 2f538c59a1e..9be1eb61443 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,6 +5,7 @@ CKEditor 4 Changelog Fixed Issues: +* [#9856](http://dev.ckeditor.com/ticket/9856): Fixed: Cannot use the native context menu together with the [Div Editing Area](http://ckeditor.com/addon/divarea) plugin. * [#13142](http://dev.ckeditor.com/ticket/13142): [Edge] Fixed: CTRL+A, backspace results in an empty div. * [#13599](http://dev.ckeditor.com/ticket/13599): Fixed: Cross-editor D&D of inline widget ends up in error/artifacts. * [#13640](http://dev.ckeditor.com/ticket/13640): [IE] Fixed: Dropping a widget outside body is not handled correctly. diff --git a/core/dom/element.js b/core/dom/element.js index 9c4f322640f..696cabaaf93 100644 --- a/core/dom/element.js +++ b/core/dom/element.js @@ -1846,11 +1846,15 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab * Disables browser's context menu in this element. */ disableContextMenu: function() { - this.on( 'contextmenu', function( event ) { + this.on( 'contextmenu', function( evt ) { // Cancel the browser context menu. - if ( !event.data.getTarget().hasClass( 'cke_enable_context_menu' ) ) - event.data.preventDefault(); + if ( !evt.data.getTarget().getAscendant( enablesContextMenu, true ) ) + evt.data.preventDefault(); } ); + + function enablesContextMenu( node ) { + return node.type == CKEDITOR.NODE_ELEMENT && node.hasClass( 'cke_enable_context_menu' ); + } }, /** diff --git a/plugins/divarea/plugin.js b/plugins/divarea/plugin.js index 430122ca67b..ab237672b24 100644 --- a/plugins/divarea/plugin.js +++ b/plugins/divarea/plugin.js @@ -14,7 +14,9 @@ CKEDITOR.plugins.add( 'divarea', { // Do that in the afterInit function, so it'll eventually overwrite // the mode defined by the wysiwygarea plugin. editor.addMode( 'wysiwyg', function( callback ) { - var editingBlock = CKEDITOR.dom.element.createFromHtml( '
' ); + var editingBlock = CKEDITOR.dom.element.createFromHtml( + '' + ); var contentSpace = editor.ui.space( 'contents' ); contentSpace.append( editingBlock ); diff --git a/tests/core/dom/element/element.html b/tests/core/dom/element/element.html index e0f419712d9..ffa6e873e5c 100644 --- a/tests/core/dom/element/element.html +++ b/tests/core/dom/element/element.html @@ -167,4 +167,9 @@foo
+Foo
Foo
Foo
Foo
Foo
Foo
Foo
Foo
Foo
Foo