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

Reply via email to