Arlolra has uploaded a new change for review.
https://gerrit.wikimedia.org/r/193025
Change subject: Start walking up before tpl when serializing lists
......................................................................
Start walking up before tpl when serializing lists
* If we wait until finding the first child that's not a list before
getting the list bullets we may reach a list element that has
template info, in which case we'll fall to template handler and that
chain will never be walked.
* This is what's happening on the epitaph in,
/hewiki/יעקב_משה_חרל"פ?oldid=16519643
The template only knows about the one colon it has subsumed.
* Still need to come up with a suitable test case.
Change-Id: Ib1766827237e2a827ec3d40b550450040431a7b3
---
M lib/wts.TagHandlers.js
1 file changed, 4 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/25/193025/1
diff --git a/lib/wts.TagHandlers.js b/lib/wts.TagHandlers.js
index bfd7536..d684cd2 100644
--- a/lib/wts.TagHandlers.js
+++ b/lib/wts.TagHandlers.js
@@ -238,7 +238,7 @@
firstChildElt =
DU.firstNonSepChildNode(firstChildElt);
}
- if (!firstChildElt || ! (firstChildElt.nodeName in
firstChildNames)) {
+ if (!firstChildElt || !(firstChildElt.nodeName in
firstChildNames) || DU.isTplOrExtToplevelNode(firstChildElt)) {
cb(getListBullets(node), node);
}
var liHandler =
state.serializer.wteHandlers.liHandler.bind(state.serializer.wteHandlers, node);
@@ -417,7 +417,7 @@
li: {
handle: function (node, state, cb) {
var firstChildElement = DU.firstNonSepChildNode(node);
- if (!DU.isList(firstChildElement)) {
+ if (!DU.isList(firstChildElement) ||
DU.isTplOrExtToplevelNode(firstChildElement)) {
cb(getListBullets(node), node);
}
var liHandler =
state.serializer.wteHandlers.liHandler.bind(state.serializer.wteHandlers, node);
@@ -447,7 +447,7 @@
dt: {
handle: function (node, state, cb) {
var firstChildElement = DU.firstNonSepChildNode(node);
- if (!DU.isList(firstChildElement)) {
+ if (!DU.isList(firstChildElement) ||
DU.isTplOrExtToplevelNode(firstChildElement)) {
cb(getListBullets(node), node);
}
var liHandler =
state.serializer.wteHandlers.liHandler.bind(state.serializer.wteHandlers, node);
@@ -475,7 +475,7 @@
dd: {
handle: function (node, state, cb) {
var firstChildElement = DU.firstNonSepChildNode(node);
- if (!DU.isList(firstChildElement)) {
+ if (!DU.isList(firstChildElement) ||
DU.isTplOrExtToplevelNode(firstChildElement)) {
// XXX: handle stx: row
if ( DU.getDataParsoid( node ).stx === 'row' ) {
cb(':', node);
--
To view, visit https://gerrit.wikimedia.org/r/193025
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib1766827237e2a827ec3d40b550450040431a7b3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits