Cscott has submitted this change and it was merged.

Change subject: Cleanup: Fixed some comments, formatting, removed dead code
......................................................................


Cleanup: Fixed some comments, formatting, removed dead code

* No change in functionality or parser test results.

Change-Id: I66a7b1f2a1618d0809d6783156fcc6bc89b44885
---
M js/lib/ext.Cite.js
M js/lib/mediawiki.DOMPostProcessor.js
M js/lib/mediawiki.WikitextSerializer.js
3 files changed, 42 insertions(+), 92 deletions(-)

Approvals:
  Cscott: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/js/lib/ext.Cite.js b/js/lib/ext.Cite.js
index 696a22e..174cf41 100644
--- a/js/lib/ext.Cite.js
+++ b/js/lib/ext.Cite.js
@@ -256,12 +256,10 @@
                group = null;
        }
 
-       // Re-emit a references placeholder token
-       // to be processed in post-expansion Sync phase
+       // Emit a placeholder meta for the references token
+       // so that the dom post processor can generate and
+       // emit references at this point in the DOM.
        var emitPlaceholderMeta = function() {
-               // Emit a placeholder meta for the references token
-               // so that the dom post processor can generate and
-               // emit references at this point in the DOM.
                var placeHolder = new SelfclosingTagTk('meta', refsTok.attribs, 
refsTok.dataAttribs);
                placeHolder.setAttribute('typeof', 'mw:Ext/References');
                placeHolder.setAttribute('about', '#' + 
manager.env.newObjectId());
diff --git a/js/lib/mediawiki.DOMPostProcessor.js 
b/js/lib/mediawiki.DOMPostProcessor.js
index 2b1927f..6bb1aa5 100644
--- a/js/lib/mediawiki.DOMPostProcessor.js
+++ b/js/lib/mediawiki.DOMPostProcessor.js
@@ -2470,12 +2470,12 @@
        this.options = options;
 
        // DOM traverser that runs before the in-order DOM handlers.
-       var firstDOMHandlerPass = new DOMTraverser();
-       firstDOMHandlerPass.addHandler( null, migrateDataParsoid );
+       var dataParsoidLoader = new DOMTraverser();
+       dataParsoidLoader.addHandler( null, migrateDataParsoid );
 
        // Common post processing
        this.processors = [
-               firstDOMHandlerPass.traverse.bind( firstDOMHandlerPass ),
+               dataParsoidLoader.traverse.bind( dataParsoidLoader ),
                handleUnbalancedTableTags,
                migrateStartMetas,
                //normalizeDocument,
@@ -2501,12 +2501,11 @@
        var lastDOMHandler = new DOMTraverser();
        lastDOMHandler.addHandler( 'a', handleLinkNeighbours.bind( null, env ) 
);
        lastDOMHandler.addHandler( 'meta', stripMarkerMetas );
-
-       var reallyLastDOMHandler = new DOMTraverser();
-       reallyLastDOMHandler.addHandler( null, saveDataParsoid );
-
        this.processors.push(lastDOMHandler.traverse.bind(lastDOMHandler));
-       
this.processors.push(reallyLastDOMHandler.traverse.bind(reallyLastDOMHandler));
+
+       var dataParsoidSaver = new DOMTraverser();
+       dataParsoidSaver.addHandler( null, saveDataParsoid );
+       this.processors.push(dataParsoidSaver.traverse.bind(dataParsoidSaver));
 }
 
 // Inherit from EventEmitter
diff --git a/js/lib/mediawiki.WikitextSerializer.js 
b/js/lib/mediawiki.WikitextSerializer.js
index c89535e..bab9f11 100644
--- a/js/lib/mediawiki.WikitextSerializer.js
+++ b/js/lib/mediawiki.WikitextSerializer.js
@@ -189,9 +189,6 @@
        // console.warn("---HWT---:onl:" + onNewline + ":" + text);
        // tokenize the text
 
-       // this is synchronous for now, will still need sync version later, or
-       // alternatively make text processing in the serializer async
-
        var prefixedText = text;
        if (!onNewline) {
                // Prefix '_' so that no start-of-line wiki syntax matches.
@@ -320,18 +317,37 @@
 /* *********************************************************************
  * Here is what the state attributes mean:
  *
+ * rtTesting
+ *    Are we currently running round-trip tests?  If yes, then we know
+ *    there won't be any edits and we more aggressively try to use original
+ *    source and source flags during serialization since this is a test of
+ *    Parsoid's efficacy in preserving information.
+ *
  * sep
  *    Separator information:
  *    - constraints: min/max number of newlines
  *    - text: collected separator text from DOM text/comment nodes
  *    - lastSourceNode: -- to be documented --
  *
+ * onSOL
+ *    Is the serializer at the start of a new wikitext line?
+ *
+ * atStartOfOutput
+ *    True when wts kicks off, false after the first char has been output
+ *
+ * inIndentPre
+ *    Is the serializer currently handling indent-pre tags?
+ *
+ * inPHPBlock
+ *    Is the serializer currently handling a tag that the PHP parser
+ *    treats as a block tag?
+ *
  * wteHandlerStack
- *    stack of wikitext escaping handlers -- these handlers are responsible
+ *    Stack of wikitext escaping handlers -- these handlers are responsible
  *    for smart escaping when the surrounding wikitext context is known.
  *
  * tplAttrs
- *    tag attributes that came from templates in source wikitext -- these
+ *    Tag attributes that came from templates in source wikitext -- these
  *    are collected upfront from the DOM from mw-marked nodes.
  *
  * currLine
@@ -339,9 +355,11 @@
  *    a "single line" of output wikitext as represented by a block node in
  *    the DOM.
  *
- *    - text : text output so far from all text nodes on the current line
+ *    - firstNode: first DOM node processed on this line
+ *    - text: output so far from all (unescaped) text nodes on the current line
+ *    - processed: has 'text' been analyzed already?
  *    - hasOpenHeadingChar: does the emitted text have an "=" char in sol posn?
- *    - hasOpenBrackets : does the line have bracket wikitext token pairs?
+ *    - hasOpenBrackets: does the line have open left brackets?
  * ********************************************************************* */
 
 WSP.initialState = {
@@ -349,7 +367,7 @@
        sep: {},
        onSOL: true,
        escapeText: false,
-       atStartOfOutput: true,
+       atStartOfOutput: true, // SSS FIXME: Can this be done away with in some 
way?
        inIndentPre: false,
        inPHPBlock: false,
        wteHandlerStack: [],
@@ -519,24 +537,6 @@
 // Make sure the initialState is never modified
 Util.deepFreeze( WSP.initialState );
 
-var openHeading = function(v) {
-       return function( state ) {
-               return v;
-       };
-};
-
-var closeHeading = function(v) {
-       return function(state, token) {
-               var prevToken = state.prevToken;
-               // Deal with empty headings. Ex: <h1></h1>
-               if (prevToken.constructor === pd.TagTk && prevToken.name === 
token.name) {
-                       return "<nowiki></nowiki>" + v;
-               } else {
-                       return v;
-               }
-       };
-};
-
 function escapedText(text) {
        var match = 
text.match(/^((?:.*?|[\r\n]+[^\r\n]|[~]{3,5})*?)((?:\r?\n)*)$/);
        return ["<nowiki>", match[1], "</nowiki>", match[2]].join('');
@@ -619,8 +619,8 @@
                // console.warn("---EWT:DBG1---");
                return escapedText(text);
        } else if (!state.onSOL) {
-               // Detect if we have open brackets -- we use 'processed' flag as
-               // a performance opt. to run this detection only if/when 
required.
+               // Detect if we have open brackets or heading chars -- we use 
'processed' flag
+               // as a performance opt. to run this detection only if/when 
required.
                //
                // FIXME: Even so, it is reset after after every emitted text 
chunk.
                // Could be optimized further by figuring out a way to only test
@@ -659,10 +659,6 @@
                    cl.hasOpenBrackets && text.match(/^[^\[]*\]/) &&
                                this.wteHandlers.hasWikitextTokens(state, sol, 
cl.text + text, true))
                {
-                       // If the current line emitted so far has an open 
bracket, and the current
-                       // piece of text has one of the pairs ^=,],]], assume 
the worst and escape it.
-                       // NOTE: It is sufficient to escape just one of the 
pairs.
-
                        // console.warn("---EWT:DBG2---");
                        return escapedText(text);
                } else {
@@ -780,7 +776,6 @@
 
        cb( "[[" + outBits.join('|') + "]]", node );
 };
-
 
 WSP._serializeTableTag = function ( symbol, endSymbol, state, token ) {
        var sAttribs = this._serializeAttributes(state, token);
@@ -928,14 +923,13 @@
        return rtData;
 };
 
-
 function escapeWikiLinkContentString ( contentString, state ) {
        // Wikitext-escape content.
        //
        // When processing link text, we are no longer in newline state
        // since that will be preceded by "[[" or "[" text in target wikitext.
-       
state.wteHandlerStack.push(state.serializer.wteHandlers.wikilinkHandler);
        state.onSOL = false;
+       
state.wteHandlerStack.push(state.serializer.wteHandlers.wikilinkHandler);
        var res = state.serializer.escapeWikiText(state, contentString);
        state.wteHandlerStack.pop();
        return res;
@@ -947,7 +941,6 @@
 // check for autoInsertedStart and autoInsertedEnd attributes and
 // supress openTagSrc or endTagSrc appropriately.
 WSP.linkHandler = function(node, state, cb) {
-       //return '[[';
        // TODO: handle internal/external links etc using RDFa and dataAttribs
        // Also convert unannotated html links without advanced attributes to
        // external wiki links for html import. Might want to consider 
converting
@@ -960,7 +953,6 @@
 
        // Get the rt data from the token and tplAttrs
        linkData = getLinkRoundTripData(node, state);
-
 
        if ( linkData.type !== null && linkData.target.value !== null  ) {
                // We have a type and target info
@@ -1180,7 +1172,6 @@
        'mw:DiffMarker': 1
 };
 
-
 function id(v) {
        return function() {
                return v;
@@ -1216,42 +1207,6 @@
        // These (and inline elements) reset the default syntax to
        // undefined
        noHTMLSTXTags = {p: 1};
-
-// XXX refactor: move to dedicated template handler that consumes siblings
-//             if (state.activeTemplateId &&
-//                     state.activeTemplateId === node.getAttribute("about"))
-//             {
-//                     // skip -- template content
-//                     return;
-//             } else {
-//                     state.activeTemplateId = null;
-//             }
-//
-//             if (!state.activeTemplateId) {
-//                     // Check if this node marks the start of template output
-//                     // NOTE: Since we are deleting all mw:Object/**/End 
markers,
-//                     // we need not verify if it is an End marker
-//                     var typeofVal = node.getAttribute("typeof");
-//                     if (typeofVal && 
typeofVal.match(/\bmw:Object(\/[^\s]+|\b)/)) {
-//                             state.activeTemplateId = 
node.getAttribute("about") || "";
-//                             var attrs = [ new pd.KV("typeof", 
"mw:TemplateSource") ];
-//                             var dps = 
node.getAttribute("data-parsoid-serialize");
-//                             if (dps) {
-//                                     attrs.push(new 
pd.KV("data-parsoid-serialize", dps));
-//                             }
-//                             var dummyToken = new pd.SelfclosingTagTk("meta",
-//                                     attrs,
-//                                     { src: this._getDOMRTInfo(node).src }
-//                             );
-//
-//                             this._serializeToken(state, dummyToken);
-//                             return;
-//                     }
-//             }
-//     } else if (node.nodeType !== node.COMMENT_NODE) {
-//             state.activeTemplateId = null;
-//     }
-//
 
 
 /**
@@ -1637,7 +1592,7 @@
                                        if (nodeName in {td:1, body:1}) {
                                                return {min: 0, max: 1};
                                        } else {
-                                               return {min: 0, max:0};
+                                               return {min: 0, max: 0};
                                        }
                                } else if (otherNode === node.previousSibling &&
                                                // p-p transition
@@ -1657,9 +1612,9 @@
                                                  !( 
DU.isBlockNode(node.parentNode) ||
                                                                
otherNode.nodeValue.match(/\n(?!$)/)))))
                                {
-                                       return {min:2, max:2};
+                                       return {min: 2, max: 2};
                                } else {
-                                       return {min:1, max:2};
+                                       return {min: 1, max: 2};
                                }
                        },
                        after: function(node, otherNode) {
@@ -1700,7 +1655,6 @@
                                // Insert indentation
                                content = ' ' +
                                        
content.replace(/(\n(<!--(?:[^\-]|\-(?!\->))*\-\->)*)(?!$)/g, '$1 ' );
-
 
                                // Strip trailing separators
                                //var trailingSep = content.match(/\s*$/);
@@ -2088,7 +2042,6 @@
        // XXX: round-trip optional whitespace / line breaks etc
        return out.join(' ');
 };
-
 
 WSP._htmlElementHandler = function (node, state, cb) {
        var attribKVs = DU.getAttributeKVArray(node);

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I66a7b1f2a1618d0809d6783156fcc6bc89b44885
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <ssas...@wikimedia.org>
Gerrit-Reviewer: Cscott <wikime...@cscott.net>
Gerrit-Reviewer: GWicke <gwi...@wikimedia.org>
Gerrit-Reviewer: MarkTraceur <mtrac...@member.fsf.org>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to