jenkins-bot has submitted this change and it was merged.

Change subject: Actually use GeneratedContentNode in AlienNode
......................................................................


Actually use GeneratedContentNode in AlienNode

ce.AlienNode was mixing in GeneratedContentNode, but wasn't actually using
it properly. This commit fixes this so that AlienNode can benefit from
the <meta>/<link>/<style> stripping code in GeneratedContentNode.

Also added a getHashObject() function to dm.AlienNode to summarize the
domElements attribute because ve.getHash() chokes on it otherwise.

Change-Id: Ief3be94f9730297abe0e3c57506b81a8ff1d136d
---
M modules/ve/ce/nodes/ve.ce.AlienNode.js
M modules/ve/dm/nodes/ve.dm.AlienNode.js
2 files changed, 16 insertions(+), 8 deletions(-)

Approvals:
  Esanders: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve/ce/nodes/ve.ce.AlienNode.js 
b/modules/ve/ce/nodes/ve.ce.AlienNode.js
index 552d751..75590bc 100644
--- a/modules/ve/ce/nodes/ve.ce.AlienNode.js
+++ b/modules/ve/ce/nodes/ve.ce.AlienNode.js
@@ -48,14 +48,10 @@
 
 /* Methods */
 
-/**
- * Handle update events.
- *
- * @method
- */
-ve.ce.AlienNode.prototype.update = function () {
-       // TODO use GeneratedContentNode the way it was meant to be used
-       this.$.html( ve.copyDomElements( this.model.getAttribute( 'domElements' 
) || [], this.getElementDocument() ) );
+ve.ce.AlienNode.prototype.generateContents = function ( config )  {
+       var deferred = $.Deferred();
+       deferred.resolve( ( config && config.domElements ) || 
this.model.getAttribute( 'domElements' ) || [] );
+       return deferred.promise();
 };
 
 /* Concrete subclasses */
diff --git a/modules/ve/dm/nodes/ve.dm.AlienNode.js 
b/modules/ve/dm/nodes/ve.dm.AlienNode.js
index 073cfbf..3469c4d 100644
--- a/modules/ve/dm/nodes/ve.dm.AlienNode.js
+++ b/modules/ve/dm/nodes/ve.dm.AlienNode.js
@@ -55,6 +55,18 @@
        return ve.copyDomElements( dataElement.attributes.domElements, doc );
 };
 
+ve.dm.AlienNode.static.getHashObject = function ( dataElement ) {
+       var parentResult = ve.dm.LeafNode.static.getHashObject( dataElement );
+       if ( parentResult.attributes && parentResult.attributes.domElements ) {
+               // If present, replace domElements with a DOM summary
+               parentResult.attributes = ve.copy( parentResult.attributes );
+               parentResult.attributes.domElements = ve.copy(
+                       parentResult.attributes.domElements, 
ve.convertDomElements
+               );
+       }
+       return parentResult;
+};
+
 /* Concrete subclasses */
 
 /**

-- 
To view, visit https://gerrit.wikimedia.org/r/81387
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ief3be94f9730297abe0e3c57506b81a8ff1d136d
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <roan.katt...@gmail.com>
Gerrit-Reviewer: Esanders <esand...@wikimedia.org>
Gerrit-Reviewer: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to