CKEditor isInline bug

by Walter Schwarz

HTML

<script src="http://cdn.ckeditor.com/4.4.3/standard-all/ckeditor.js"></script>
<script src="http://ckeditor.com/ckeditor_4.3_beta/plugins/sharedspace/plugin.js?t=D8HF"></script>
<p>
    Testing<br/>
    Iframe
</p>
<div id="toolbarContainer"></div>
<iframe id="frame"></iframe>
<div id="statusbarContainer"></div>
<p>
    isInline: <span id="isInline"></span>
</p>

CSS

iframe {
    width: 100%;
    height: 200px;
}

JavaScript

var iframeBody = $('frame').contentWindow.document.body;
new Element('p', {
    html: 'Some non-editable content to make the iframe scroll<br/>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi commodo sapien in massa rhoncus sodales. Ut in ultricies nunc. Nulla velit sapien, ultrices eu egestas at, pretium in nulla. Etiam in sapien aliquet, volutpat augue eu, cursus urna. Suspendisse porta sed augue ultrices tempor. Phasellus ullamcorper vulputate nisi, nec aliquet odio malesuada non. Vivamus in urna nec quam laoreet fermentum.',
    styles: {
        color: 'grey'
    }
}).inject(iframeBody);

// isInline method fix
CKEDITOR.editable.prototype.isInline = function() {
    return this.editor.elementMode === CKEDITOR.ELEMENT_MODE_INLINE;
};

var el = new Element('div', {
    contenteditable: 'true',
    html: '<blockquote>Some <strong>blockquote</strong> to make the magicline appear above.</blockquote><blockquote>Some other blockquote to make the magicline appear above and below.</blockquote>'
}).inject(iframeBody);
CKEDITOR.config.extraPlugins = 'sharedspace';
var editor = CKEDITOR.inline(el, {
    removePlugins: 'floatingspace,resize',
    sharedSpaces: {
        top: 'toolbarContainer',
        bottom: 'statusbarContainer'
    },
    on: {
        instanceReady: function() {
            $('isInline').set('text', editor.editable().isInline());
        }
    }
});

new Element('p', {
    html: 'Some more non-editable content to make the iframe scroll<br/>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi commodo sapien in massa rhoncus sodales. Ut in ultricies nunc. Nulla velit sapien, ultrices eu egestas at, pretium in nulla. Etiam in sapien aliquet, volutpat augue eu, cursus urna. Suspendisse porta sed augue ultrices tempor. Phasellus ullamcorper vulputate nisi, nec aliquet odio malesuada non. Vivamus in urna nec quam laoreet fermentum. Curabitur gravida rhoncus sapien ut dapibus. Duis porta non justo vel hendrerit.<br/>Phasellus a...