.../ckeditor/js/plugins/drupalimage/plugin.js | 29 +++++++++++++--------- .../js/plugins/drupalimagecaption/plugin.js | 6 ++--- .../ckeditor/js/plugins/drupallink/plugin.js | 28 +++++++++++---------- 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js index 80921c2..ff44f3d 100644 --- a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js @@ -24,6 +24,7 @@ // Override the image2 widget definition to require and handle the // additional data-entity-type and data-entity-uuid attributes. editor.on('widgetDefinition', function (event) { + var i; var widgetDefinition = event.data; if (widgetDefinition.name !== 'image') { return; @@ -42,28 +43,32 @@ 'data-entity-uuid': '' } }); - var allowedContentDefinition = { - element: 'img', - styles: {}, - attributes: { - '!data-entity-type': '', - '!data-entity-uuid': '' + var allowedContent = { + img: { + attributes: { + '!data-entity-type': '', + '!data-entity-uuid': '' + }, + styles: {} } }; var imgAttributes = widgetDefinition.allowedContent.img.attributes.split(/\s*,\s*/); - for (var i = 0; i < imgAttributes.length; i++) { - allowedContentDefinition.attributes[imgAttributes[i]] = ''; + for (i = 0; i < imgAttributes.length; i++) { + allowedContent.img.attributes[imgAttributes[i]] = true; } if (widgetDefinition.allowedContent.img.classes) { - allowedContentDefinition.attributes['class'] = widgetDefinition.allowedContent.img.classes.split(/\s*,\s*/).join(' '); + var classes = widgetDefinition.allowedContent.img.classes.split(/\s*,\s*/); + for (i = 0; i < classes.length; i++) { + allowedContent.img.classes[classes[i]] = true; + } } if (widgetDefinition.allowedContent.img.styles) { var imgStyles = widgetDefinition.allowedContent.img.styles.split(/\s*,\s*/); - for (var j = 0; j < imgStyles.length; j++) { - allowedContentDefinition.styles[imgStyles[j]] = ''; + for (i = 0; i < imgStyles.length; i++) { + allowedContent.img.styles[imgStyles[i]] = true; } } - widgetDefinition.allowedContent = new CKEDITOR.style(allowedContentDefinition); + widgetDefinition.allowedContent = allowedContent; // Override the 'link' part, to completely disable image2's link // support: http://dev.ckeditor.com/ticket/11341. diff --git a/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js b/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js index 8dd91b1..ae427e0 100644 --- a/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js @@ -55,10 +55,8 @@ requiredContent.attributes['data-align'] = ''; requiredContent.attributes['data-caption'] = ''; widgetDefinition.requiredContent = new CKEDITOR.style(requiredContent); - var allowedContent = widgetDefinition.allowedContent.getDefinition(); - allowedContent.attributes['!data-align'] = ''; - allowedContent.attributes['!data-caption'] = ''; - widgetDefinition.allowedContent = new CKEDITOR.style(allowedContent); + widgetDefinition.allowedContent.img.attributes['!data-align'] = true; + widgetDefinition.allowedContent.img.attributes['!data-caption'] = true; // Override allowedContent setting for the 'caption' nested editable. // This must match what caption_filter enforces. diff --git a/core/modules/ckeditor/js/plugins/drupallink/plugin.js b/core/modules/ckeditor/js/plugins/drupallink/plugin.js index e9fb555..7f638cb 100644 --- a/core/modules/ckeditor/js/plugins/drupallink/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupallink/plugin.js @@ -13,14 +13,15 @@ init: function (editor) { // Add the commands for link and unlink. editor.addCommand('drupallink', { - allowedContent: new CKEDITOR.style({ - element: 'a', - styles: {}, - attributes: { - '!href': '', - 'target': '' + allowedContent: { + a: { + attributes: { + '!href': true, + 'target': true + }, + styles: {} } - }), + }, requiredContent: new CKEDITOR.style({ element: 'a', styles: {}, @@ -124,13 +125,14 @@ editor.addCommand('drupalunlink', { contextSensitive: 1, startDisabled: 1, - allowedContent: new CKEDITOR.style({ - element: 'a', - attributes: { - '!href': '', - 'target': '' + allowedContent: { + a: { + attributes: { + '!href': true, + target: true + } } - }), + }, requiredContent: new CKEDITOR.style({ element: 'a', attributes: {