jenkins-bot has submitted this change and it was merged.
Change subject: (Bug 49655) Transfer tsr from tpl token to reused expansion
......................................................................
(Bug 49655) Transfer tsr from tpl token to reused expansion
Change-Id: I0fb2419e6e303e715e85e5c0d91d8cefd63e5c42
---
M js/lib/ext.core.TemplateHandler.js
M js/lib/mediawiki.DOMPostProcessor.js
2 files changed, 14 insertions(+), 5 deletions(-)
Approvals:
GWicke: Looks good to me, approved
jenkins-bot: Verified
diff --git a/js/lib/ext.core.TemplateHandler.js
b/js/lib/ext.core.TemplateHandler.js
index 9e230a0..1735ff7 100644
--- a/js/lib/ext.core.TemplateHandler.js
+++ b/js/lib/ext.core.TemplateHandler.js
@@ -50,11 +50,11 @@
* wrapper that is later unpacked in the DOMPostProcessor. Used both for
* transclusion and extension content.
*/
-TemplateHandler.prototype.encapsulateExpansionHTML = function(extToken,
expansion) {
+TemplateHandler.prototype.encapsulateExpansionHTML = function(token,
expansion) {
var toks = DU.getWrapperTokens(expansion.nodes),
about = this.manager.env.newAboutId();
- // Assign the HTML fragment to the data-parsoid.html on the first
- // wrapper token.
+
+ // Assign the HTML fragment to the data-parsoid.html on the first
wrapper token.
toks[0].dataAttribs.html = expansion.html;
// Add the DOMFragment type so that we get unwrapped later
toks[0].setAttribute('typeof', 'mw:DOMFragment');
@@ -63,6 +63,13 @@
toks.forEach(function(tok) {
tok.setAttribute('about', about);
});
+
+ // Transfer tsr to the first token
+ var tokenTsr = token.dataAttribs ? token.dataAttribs.tsr : null;
+ if (tokenTsr) {
+ toks[0].dataAttribs.tsr = tokenTsr;
+ }
+
return toks;
};
diff --git a/js/lib/mediawiki.DOMPostProcessor.js
b/js/lib/mediawiki.DOMPostProcessor.js
index 882904c..a63beee 100644
--- a/js/lib/mediawiki.DOMPostProcessor.js
+++ b/js/lib/mediawiki.DOMPostProcessor.js
@@ -2503,13 +2503,15 @@
}
}
- // Transfer the new dsr
+ // Transfer the new dsr -- just dsr[0] and dsr[1] since
tag-widths
+ // will be incorrect for reuse of template expansions
var firstChild = dummyNode.firstChild;
DU.loadDataParsoid(firstChild);
if (!firstChild.data.parsoid) {
console.log(node.data.parsoid,
dummyNode.outerHTML);
}
- firstChild.data.parsoid.dsr = node.data.parsoid.dsr;
+ var dsr = node.data.parsoid.dsr;
+ firstChild.data.parsoid.dsr = [dsr[0], dsr[1]];
// FIXME: Deal with the case where the DOMFragment node
is also a
// transclusion. OTOH, dp.html should not be available
in that case,
--
To view, visit https://gerrit.wikimedia.org/r/69119
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I0fb2419e6e303e715e85e5c0d91d8cefd63e5c42
Gerrit-PatchSet: 3
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