core/modules/ckeditor/js/plugins/drupalimage/plugin.js | 4 ++-- core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js index 1a82348..4b579d5 100644 --- a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js @@ -89,8 +89,8 @@ CKEDITOR.plugins.add('drupalimage', { imageDOMElement = imageElement.$; // Width and height are populated by actual dimensions. - existingValues.width = imageDOMElement ? imageDOMElement.width : ''; - existingValues.height = imageDOMElement ? imageDOMElement.height : ''; + existingValues.width = imageDOMElement ? imageDOMElement.naturalWidth : ''; + existingValues.height = imageDOMElement ? imageDOMElement.naturalHeight : ''; // Populate all other attributes by their specified attribute values. var attribute = null, attributeName; for (var key = 0; key < imageDOMElement.attributes.length; key++) { diff --git a/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js b/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js index 013a3aa..c37b99d 100644 --- a/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js @@ -114,6 +114,13 @@ CKEDITOR.plugins.add('drupalimagecaption', { if (this.data.data_align) { el.attributes['data-align'] = this.data.data_align; } + + if (!this.data.width) { + el.attributes['data-cke-saved-width'] = this.parts.image.$.naturalWidth; + } + if (!this.data.height) { + el.attributes['data-cke-saved-height'] = this.parts.image.$.naturalHeight; + } }, _selectionWillCreateInlineImage: function () {