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

Change subject: (Bug 53135) Step 1: Always use parts array for transclusion 
data-mw
......................................................................


(Bug 53135) Step 1: Always use parts array for transclusion data-mw

* Got rid of the special case for the case of template content
  producing a well-formed DOM subtree. This also eliminated
  code in table-fixup passes that dealt with the special case.

* Both serializer and VE can handle the general case properly so
  this should be safe for production deploy.

Change-Id: Id29213a52597dda93063ad93938201b77cacd658
---
M js/lib/dom.t.TableFixups.js
M js/lib/dom.wrapTemplates.js
2 files changed, 6 insertions(+), 36 deletions(-)

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



diff --git a/js/lib/dom.t.TableFixups.js b/js/lib/dom.t.TableFixups.js
index 96e5b33..ff08009 100644
--- a/js/lib/dom.t.TableFixups.js
+++ b/js/lib/dom.t.TableFixups.js
@@ -66,29 +66,14 @@
                }
 
                // Now update data-mw
-               // XXX: use data.mw for data-mw as well!
+               // XXX: use data.mw instead, see
+               // https://bugzilla.wikimedia.org/show_bug.cgi?id=53109
                var dataMW = DU.getJSONAttribute(nextNode, 'data-mw'),
                        nodeSrc = DU.getWTSource(env, node);
-
                if (!dataMW.parts) {
-                       dataMW.parts = [
-                               nodeSrc,
-                               {
-                                       // XXX: Should we always use parts or 
at least the
-                                       // template wrapper? This will need to 
be updated whenever
-                                       // we change the template info.
-                                       template: {
-                                               target: dataMW.target,
-                                               params: dataMW.params,
-                                               i: 0
-                                       }
-                               }
-                       ];
-                       dataMW.target = undefined;
-                       dataMW.params = undefined;
-               } else {
-                       dataMW.parts.unshift(nodeSrc);
+                       dataMW.parts = [];
                }
+               dataMW.parts.unshift(nodeSrc);
                DU.setJSONAttribute(nextNode, 'data-mw', dataMW);
 
                // Delete the duplicated <td> node.
@@ -257,22 +242,7 @@
                                node.setAttribute('typeof', 
transclusionNode.getAttribute('typeof'));
                                node.setAttribute('about', 
transclusionNode.getAttribute('about'));
                                var dataMW = 
DU.getJSONAttribute(transclusionNode, 'data-mw'),
-                                       // FIXME:
-                                       parts = dataMW.parts ||
-                                               // XXX: Should we always use 
parts or at least the
-                                               // template wrapper? This will 
need to be updated whenever
-                                               // we change the template info.
-                                               [
-                                               {
-                                                       template: {
-                                                               target: 
dataMW.target,
-                                                               params: 
dataMW.params,
-                                                               i: 0
-                                                       }
-                                               }
-                               ];
-
-                               // Construct a new data-mw
+                                       parts = dataMW.parts;
                                // Get the td and content source up to the 
transclusion start
                                parts.unshift(env.page.src.substring(
                                                        
node.data.parsoid.dsr[0],
diff --git a/js/lib/dom.wrapTemplates.js b/js/lib/dom.wrapTemplates.js
index b5ae72c..a0f9893 100644
--- a/js/lib/dom.wrapTemplates.js
+++ b/js/lib/dom.wrapTemplates.js
@@ -587,7 +587,7 @@
                                });
 
                                // Output the data-mw obj.
-                               var datamw = (tplArray.length === 1) ? 
tplArray[0].template : { parts: tplArray };
+                               var datamw = { parts: tplArray };
                                range.start.setAttribute("data-mw", 
JSON.stringify(datamw));
                                range.start.data.parsoid.pi = paramInfoArrays;
                        }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id29213a52597dda93063ad93938201b77cacd658
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: GWicke <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to