Subramanya Sastry has uploaded a new change for review.
https://gerrit.wikimedia.org/r/81143
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(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Parsoid
refs/changes/43/81143/1
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: newchange
Gerrit-Change-Id: Id29213a52597dda93063ad93938201b77cacd658
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits