Arlolra has uploaded a new change for review.
https://gerrit.wikimedia.org/r/204305
Change subject: Add a isBody helper
......................................................................
Add a isBody helper
Change-Id: I24754fdc46903d42284dc04d4e8b365d874c01d0
---
M lib/dom.computeDSR.js
M lib/dom.markFosteredContent.js
M lib/mediawiki.DOMUtils.js
M lib/mediawiki.WikitextSerializer.js
M lib/wts.TagHandlers.js
5 files changed, 15 insertions(+), 21 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/05/204305/1
diff --git a/lib/dom.computeDSR.js b/lib/dom.computeDSR.js
index 00adb52..45c5b28 100644
--- a/lib/dom.computeDSR.js
+++ b/lib/dom.computeDSR.js
@@ -25,7 +25,7 @@
*/
if (node.nodeName === 'A' && DU.usesURLLinkSyntax(node)) {
return true;
- } else if (opts.attrExpansion && node.nodeName === 'BODY') {
+ } else if (opts.attrExpansion && DU.isBody(node)) {
return true;
} else {
return false;
diff --git a/lib/dom.markFosteredContent.js b/lib/dom.markFosteredContent.js
index 75acc8c..ab90dc7 100644
--- a/lib/dom.markFosteredContent.js
+++ b/lib/dom.markFosteredContent.js
@@ -92,7 +92,6 @@
// * Wraps the whole thing (table + fosterbox) with transclusion metas if
// there is any fostered transclusion content.
function markFosteredContent( node, env ) {
-
function getFosterContentHolder(doc, inPTag) {
var fosterContentHolder = doc.createElement(inPTag ? "span" :
"p");
DU.setNodeData(fosterContentHolder, { parsoid: { fostered: true
} });
@@ -100,10 +99,6 @@
}
var span, sibling, next, dp, fosteredTransclusions, c = node.firstChild;
-
- // if (node.nodeName === 'BODY') {
- // console.log("---- PRE:BODY ----" + node.outerHTML);
- // }
while ( c ) {
sibling = c.nextSibling;
@@ -175,10 +170,6 @@
c = sibling;
}
-
- // if (node.nodeName === 'BODY') {
- // console.log("---- POST:BODY ----" + node.outerHTML);
- // }
}
if ( typeof module === "object" ) {
diff --git a/lib/mediawiki.DOMUtils.js b/lib/mediawiki.DOMUtils.js
index a5f001a..dce2f9b 100644
--- a/lib/mediawiki.DOMUtils.js
+++ b/lib/mediawiki.DOMUtils.js
@@ -77,6 +77,10 @@
!this.isLiteralHTMLNode(node);
},
+ isBody: function(node) {
+ return node.nodeName === "BODY";
+ },
+
/**
* Is 'node' a block node that is also visible in wikitext?
* An example of an invisible block node is a <p>-tag that
@@ -1072,7 +1076,7 @@
},
atTheTop: function( node ) {
- return DU.isDocumentFragment( node ) || node.nodeName ===
"BODY";
+ return DU.isDocumentFragment(node) || DU.isBody(node);
},
isContentNode: function(node) {
@@ -1097,7 +1101,7 @@
* Ex: meta tags, category links, whitespace (this is between block
nodes), comments.
*/
nextToDeletedBlockNodeInWT: function(origNode, before) {
- if (!origNode || origNode.nodeName === 'BODY') {
+ if (!origNode || DU.isBody(origNode)) {
return false;
}
diff --git a/lib/mediawiki.WikitextSerializer.js
b/lib/mediawiki.WikitextSerializer.js
index d878b6a..42808e7 100644
--- a/lib/mediawiki.WikitextSerializer.js
+++ b/lib/mediawiki.WikitextSerializer.js
@@ -1166,7 +1166,7 @@
// If unmodified, emit output and return
prev = node.previousSibling;
if (!state.inModifiedContent && (
- (!prev &&
node.parentNode.nodeName === "BODY") ||
+ (!prev &&
DU.isBody(node.parentNode)) ||
(prev && !DU.isMarkerMeta(prev,
"mw:DiffMarker")))
) {
state.currNodeUnmodified = true;
diff --git a/lib/wts.TagHandlers.js b/lib/wts.TagHandlers.js
index 23d37dc..144af0b 100644
--- a/lib/wts.TagHandlers.js
+++ b/lib/wts.TagHandlers.js
@@ -212,8 +212,7 @@
}
function wtListEOL(node, otherNode) {
- if (otherNode.nodeName === 'BODY' ||
- !DU.isElt(otherNode) ||
+ if (!DU.isElt(otherNode) || DU.isBody(otherNode) ||
DU.isFirstEncapsulationWrapperNode(otherNode)) {
return {min: 0, max: 2};
}
@@ -321,7 +320,7 @@
before: function(node, otherNode) {
// SSS FIXME: Thoughts about a fix (abandoned
in this patch)
//
- // Checking for otherNode.nodeName === 'BODY'
and returning
+ // Checking for DU.isBody(otherNode) and
returning
// {min:0, max:0} should eliminate the annoying
leading newline
// bug in parser tests, but it seems to cause
other niggling issues
// <ul> <li>foo</li></ul> serializes to " *foo"
which is buggy.
@@ -329,7 +328,7 @@
// about the node and its context so that
leading pre-inducing WS
// can be stripped
- if (otherNode.nodeName === 'BODY') {
+ if (DU.isBody(otherNode)) {
return {min: 0, max: 0};
} else if (DU.isText(otherNode) &&
DU.isListItem(node.parentNode)) {
// A list nested inside a list item
@@ -1074,7 +1073,7 @@
if (
DU.isNewElt(node) &&
node.parentNode &&
- node.parentNode.nodeName === 'BODY'
+ DU.isBody(node.parentNode)
) {
return { min: 1 };
}
@@ -1084,7 +1083,7 @@
if (
DU.isNewElt(node) &&
node.parentNode &&
- node.parentNode.nodeName === 'BODY'
+ DU.isBody(node.parentNode)
) {
return { min: 1 };
}
@@ -1188,7 +1187,7 @@
sepnls: {
before: function(node, otherNode) {
if ( DU.isSolTransparentLink(node) &&
- ((DU.isNewElt(node) &&
otherNode.nodeName !== 'BODY') ||
+ ((DU.isNewElt(node) &&
!DU.isBody(otherNode)) ||
DU.isDocumentFragment(node.parentNode))
) { // Fresh category link: Serialize on its
own line
return { min: 1 };
@@ -1198,7 +1197,7 @@
},
after: function(node, otherNode) {
if ( DU.isSolTransparentLink(node) &&
- ((DU.isNewElt(node) &&
otherNode.nodeName !== 'BODY') ||
+ ((DU.isNewElt(node) &&
!DU.isBody(otherNode)) ||
DU.isDocumentFragment(node.parentNode))
) { // Fresh category link: Serialize on its
own line
return { min: 1 };
--
To view, visit https://gerrit.wikimedia.org/r/204305
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I24754fdc46903d42284dc04d4e8b365d874c01d0
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