Subramanya Sastry has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/179790

Change subject: Fix newline constraints for mw:Placeholder/* metas
......................................................................

Fix newline constraints for mw:Placeholder/* metas

* mw:Placeholder meta nodes need not be serialized onto their own
  line even if they are newly added elements.

* After data-parsoid was stripped in 320caa30, these kind of metas
  in templated content was being treated as newly inserted content
  and would get serialized onto new lines.

  Try "node roundtrip-test.js --prefix kowiki 민아" which is run
  in roundtrip-test mode (no edits). In this mode, a
  mw:Placeholder/StrippedTag meta without a data-parsoid attribute
  was being serialized on a new line.

* This patch fixes the newline constraints and ensures that
  the above page now roundtrips perfectly.

Change-Id: I1daac63f797b2ede2bcb4903e53ee43034b00f99
---
M lib/wts.TagHandlers.js
1 file changed, 10 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/90/179790/1

diff --git a/lib/wts.TagHandlers.js b/lib/wts.TagHandlers.js
index ba38b6f..60e3904 100644
--- a/lib/wts.TagHandlers.js
+++ b/lib/wts.TagHandlers.js
@@ -820,7 +820,11 @@
                                        } else {
                                                return { min: 1 };
                                        }
-                               } else if (DU.isNewElt(node)) {
+                               } else if (DU.isNewElt(node) &&
+                                       // Placeholder metas don't need to be 
serialized on their own line
+                                       (node.nodeName !== "META" ||
+                                       
!/(^|\s)mw:Placeholder(\/|$)/.test(node.getAttribute("typeof"))))
+                               {
                                        return { min: 1 };
                                } else {
                                        return {};
@@ -828,7 +832,11 @@
                        },
                        after: function(node, otherNode) {
                                // No diffs
-                               if (DU.isNewElt(node)) {
+                               if (DU.isNewElt(node) &&
+                                       // Placeholder metas don't need to be 
serialized on their own line
+                                       (node.nodeName !== "META" ||
+                                       
!/(^|\s)mw:Placeholder(\/|$)/.test(node.getAttribute("typeof"))))
+                               {
                                        return { min: 1 };
                                } else {
                                        return {};

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1daac63f797b2ede2bcb4903e53ee43034b00f99
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>

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

Reply via email to