Subramanya Sastry has uploaded a new change for review.

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


Change subject: Trivial: logging/comment cleanup and minor fixes
......................................................................

Trivial: logging/comment cleanup and minor fixes

Change-Id: I944f00e1f399188ba22051c9cb7ad52b30446331
---
M js/lib/mediawiki.DOMPostProcessor.js
1 file changed, 27 insertions(+), 52 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Parsoid 
refs/changes/68/71168/1

diff --git a/js/lib/mediawiki.DOMPostProcessor.js 
b/js/lib/mediawiki.DOMPostProcessor.js
index 1a66490..132ecb4 100644
--- a/js/lib/mediawiki.DOMPostProcessor.js
+++ b/js/lib/mediawiki.DOMPostProcessor.js
@@ -40,12 +40,14 @@
        "html"  : [0,0],
        "head"  : [0,0],
        "p"     : [0,0],
-       "ol"    : [0,0],
-       "ul"    : [0,0],
-       "dl"    : [0,0],
        "meta"  : [0,0],
        "tbody" : [0,0],
        "pre"   : [1,0],
+       // For lists and elements,
+       // also see computeListEltWidth
+       "ol"    : [0,0],
+       "ul"    : [0,0],
+       "dl"    : [0,0],
        "li"    : [1,0],
        "dt"    : [1,0],
        "dd"    : [1,0],
@@ -58,13 +60,14 @@
        "hr"    : [4,0],
        "table" : [2,2],
        "tr"    : [2,0],
-       "b"     : [3,3],
-       "i"     : [2,2],
        "td"    : [null,0],
        "th"    : [null,0],
+       "b"     : [3,3],
+       "i"     : [2,2],
        "br"    : [0,0],
        "figure": [2,2]
-       // span, figure, caption, figcaption, br, a, i, b
+       // a-tag width computed by computeATagWidth
+       // what about span, figure, caption, figcaption?
 };
 
 /* ------------- utility functions on DOM nodes/Node attributes ------------ */
@@ -866,28 +869,6 @@
                        node.parentNode.insertBefore(lastChild, 
node.nextSibling);
                }
        }
-
-/* ----------------------------------------------------------
- * SSS FIXME: A little too aggressive and incorrect.
- * There is another condition that will let us migrate this
- * meta-tag across not just the end-tag but also across the newline
- * To be investigated
- *
-       else if (lastChild.nodeType === Node.TEXT_NODE && 
lastChild.data.match(/^\n$/)) {
-               // Occasionally (sometimes non-deterministically),
-               // a stray newline messes with this meta-migration
-               // Work around it (and then investigate why it is happening).
-               //
-               // var data = lastChild.data;
-               lastChild = lastChild.previousSibling;
-               if (lastChild && DU.isTplStartMarkerMeta(lastChild)) {
-                       // console.warn("migration (thwarted by: '" + data + 
"', len: " + data.length + "): " + lastChild.innerHTML);
-                       var p = node.parentNode;
-                       p.insertBefore(lastChild, node.nextSibling);
-               }
-       }
- *
- * ---------------------------------------------------------- */
 }
 
 /**
@@ -1050,7 +1031,7 @@
        return range;
 }
 
-function findTopLevelNonOverlappingRanges(env, document, tplRanges) {
+function findTopLevelNonOverlappingRanges(document, env, tplRanges) {
        function stripStartMeta(meta) {
                if (DU.hasNodeName(meta, 'meta')) {
                        deleteNode(meta);
@@ -1259,12 +1240,10 @@
                }
 
                /*
-               if (!nestedRangesMap[r.id]) {
-                       
console.warn("##############################################");
-                       console.warn("range " + r.id + "; r-start-elem: " + 
r.startElem.outerHTML);
-                       console.warn("range " + r.id + "; r-end-elem: " + 
r.endElem.outerHTML);
-                       console.warn("-----------------------------");
-               }
+               console.warn("##############################################");
+               console.warn("range " + r.id + "; r-start-elem: " + 
r.startElem.outerHTML + "; DP: " + 
JSON.stringify(DU.getDataParsoid(r.startElem)));
+               console.warn("range " + r.id + "; r-end-elem: " + 
r.endElem.outerHTML + "; DP: " + JSON.stringify(DU.getDataParsoid(r.endElem)));
+               console.warn("-----------------------------");
                */
 
                var enclosingRangeId = null;
@@ -1274,7 +1253,7 @@
                }
 
                if (nestedRangesMap[r.id] && enclosingRangeId) {
-                       // console.warn("--nested--");
+                       // console.warn("--nested in " + enclosingRangeId + 
"--");
                        // Nested -- ignore r
                        startTagToStrip = r.startElem;
                        endTagToRemove = r.endElem;
@@ -1287,7 +1266,7 @@
                                recordTemplateInfo(compoundTpls, 
enclosingRangeId, r, argInfo);
                        }
                } else if (prev && !r.flipped && r.start === prev.end) {
-                       // /console.warn("--overlapped--");
+                       // console.warn("--overlapped--");
 
                        // Overlapping ranges.
                        // r is the regular kind
@@ -1334,10 +1313,7 @@
        return { ranges: newRanges, tplArrays: compoundTpls };
 }
 
-/**
- * TODO: split in common ancestor algo, sibling splicing and -annotation / 
wrapping
- */
-function encapsulateTemplates( env, doc, tplRanges, tplArrays) {
+function encapsulateTemplates( doc, env, tplRanges, tplArrays) {
        var i, numRanges = tplRanges.length;
        for (i = 0; i < numRanges; i++) {
                var span,
@@ -1478,7 +1454,7 @@
                                range.start.data.parsoid.keys = keyArrays;
                        }
                } else {
-                       console.warn("ERROR: Do not have necessary info. to RT 
Tpl: " + i);
+                       console.warn("ERROR: Do not have necessary info. to 
encapsulate Tpl: " + i);
                        console.warn("Start Elt : " + startElem.outerHTML);
                        console.warn("End Elt   : " + range.endElem.innerHTML);
                        console.warn("Start DSR : " + JSON.stringify(dp1 || 
{}));
@@ -1536,7 +1512,7 @@
 /**
  * Recursive worker
  */
-function findWrappableTemplateRanges( root, tpls, doc, env ) {
+function findWrappableTemplateRanges( doc, env, root, tpls ) {
        var tplRanges = [],
            elem = root.firstChild,
                about, aboutRef;
@@ -1575,12 +1551,11 @@
                                                if ( aboutRef.end ) {
                                                        // End marker was 
foster-parented.
                                                        // Found actual start 
tag.
-                                                       console.warn( 'end 
marker was foster-parented' );
+                                                       console.warn( 'end 
marker was foster-parented for ' + about);
                                                        
tplRanges.push(getDOMRange( env, doc, elem, aboutRef.end, aboutRef.end ));
                                                } else {
                                                        // should not happen!
-                                                       console.warn( 'start 
found after content' );
-                                                       //console.warn("about: 
" + about);
+                                                       console.warn( 'start 
found after content for ' + about );
                                                        
//console.warn("aboutRef.start " + elem.outerHTML);
                                                }
                                        } else {
@@ -1658,7 +1633,7 @@
                                }
                        } else {
                                about = elem.getAttribute('about');
-                               tplRanges = 
tplRanges.concat(findWrappableTemplateRanges( elem, tpls, doc, env ));
+                               tplRanges = 
tplRanges.concat(findWrappableTemplateRanges( doc, env, elem, tpls ));
                        }
                }
 
@@ -2444,12 +2419,13 @@
                dumpDomWithDataAttribs( document );
                console.warn("----------------------------");
        }
-       // walk through document and look for tags with typeof="mw:Object*"
-       var tplRanges = findWrappableTemplateRanges( document.body, tpls, 
document, env );
+
+       var tplRanges = findWrappableTemplateRanges( document, env, 
document.body, tpls );
        if (tplRanges.length > 0) {
-               tplRanges = findTopLevelNonOverlappingRanges(env, document, 
tplRanges);
-               encapsulateTemplates(env, document, tplRanges.ranges, 
tplRanges.tplArrays);
+               tplRanges = findTopLevelNonOverlappingRanges(document, env, 
tplRanges);
+               encapsulateTemplates(document, env, tplRanges.ranges, 
tplRanges.tplArrays);
        }
+
        if (psd.debug || (psd.dumpFlags && 
(psd.dumpFlags.indexOf("dom:post-encap") !== -1))) {
                console.warn("------ DOM: post-encapsulation -------");
                dumpDomWithDataAttribs( document );
@@ -2931,7 +2907,6 @@
                handlePres,
                migrateTrailingNLs
        ];
-
 
        if (options.wrapTemplates) {
                // dsr computation and tpl encap are only relevant

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I944f00e1f399188ba22051c9cb7ad52b30446331
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/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