diff --git a/modules/ve/ce/nodes/ve.ce.AlienNode.js b/modules/ve/ce/nodes/ve.ce.AlienNode.js index f651f3a722..ce64ab015e 100644 --- a/modules/ve/ce/nodes/ve.ce.AlienNode.js +++ b/modules/ve/ce/nodes/ve.ce.AlienNode.js @@ -54,7 +54,8 @@ ve.ce.AlienNode.static.$phantomTemplate = ve.ce.AlienNode.static.$phantomTemplat * @method */ ve.ce.AlienNode.prototype.onUpdate = function () { - this.$.html( ve.copyArray( this.model.getAttribute( 'domElements' ) || [] ) ); + // TODO use GeneratedContentNode the way it was meant to be used + this.$.html( ve.copyDomElements( this.model.getAttribute( 'domElements' ) || [], this.getElementDocument() ) ); }; /* Concrete subclasses */ diff --git a/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js b/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js index d61c631932..1fe9848603 100644 --- a/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js +++ b/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js @@ -85,7 +85,7 @@ ve.ce.MWTransclusionNode.prototype.onParseSuccess = function ( deferred, respons // We have to do this because the PHP parser wraps everything in

s, and inline templates // will render strangely when wrapped in

s. if ( contentNodes.length === 1 && contentNodes[0].nodeName.toLowerCase() === 'p' ) { - contentNodes = contentNodes[0].childNodes; + contentNodes = Array.prototype.slice.apply( contentNodes[0].childNodes ); } deferred.resolve( contentNodes ); };