jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/398144 )

Change subject: Revert "Use a Set for trace/debug/dump flags."
......................................................................


Revert "Use a Set for trace/debug/dump flags."

Looks like this breaks tracing - can revisit post deploy tomorrow.

This reverts commit fff22b4dd951faf3f1d521e46abe1a189633c28f.

Change-Id: I4d5a68cbb77e63aeebb951171e28722a195910f0
---
M bin/parserTests.js
M lib/html2wt/SelectiveSerializer.js
M lib/html2wt/WikitextSerializer.js
M lib/logger/ParsoidLogger.js
M lib/utils/Util.js
M lib/wt2html/DOMPostProcessor.js
M lib/wt2html/TokenTransformManager.js
M lib/wt2html/pp/processors/computeDSR.js
M lib/wt2html/pp/processors/wrapSections.js
M lib/wt2html/pp/processors/wrapTemplates.js
M lib/wt2html/tokenizer.js
M lib/wt2html/tt/TemplateHandler.js
12 files changed, 32 insertions(+), 32 deletions(-)

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



diff --git a/bin/parserTests.js b/bin/parserTests.js
index cab20f8..9fe93e6 100755
--- a/bin/parserTests.js
+++ b/bin/parserTests.js
@@ -367,7 +367,7 @@
        }
 
        if (this.env.conf.parsoid.dumpFlags &&
-               this.env.conf.parsoid.dumpFlags.has("dom:post-changes")) {
+               this.env.conf.parsoid.dumpFlags.indexOf("dom:post-changes") !== 
-1) {
                DU.dumpDOM(body, 'Original DOM');
        }
 
@@ -382,7 +382,7 @@
        }
 
        if (this.env.conf.parsoid.dumpFlags &&
-               this.env.conf.parsoid.dumpFlags.has("dom:post-changes")) {
+               this.env.conf.parsoid.dumpFlags.indexOf("dom:post-changes") !== 
-1) {
                console.warn("Change tree : " + JSON.stringify(item.changes));
                DU.dumpDOM(body, 'Edited DOM');
        }
diff --git a/lib/html2wt/SelectiveSerializer.js 
b/lib/html2wt/SelectiveSerializer.js
index 0844c8a..66f286d 100644
--- a/lib/html2wt/SelectiveSerializer.js
+++ b/lib/html2wt/SelectiveSerializer.js
@@ -30,7 +30,7 @@
 
        // Debug options
        this.trace = this.env.conf.parsoid.traceFlags &&
-                       this.env.conf.parsoid.traceFlags.has("selser");
+                       (this.env.conf.parsoid.traceFlags.indexOf("selser") !== 
-1);
 
        // Performance Timing option
        this.metrics = this.env.conf.parsoid.metrics;
@@ -97,7 +97,7 @@
                        p = Promise.resolve(this.env.page.src);
                } else {
                        if (this.trace || (this.env.conf.parsoid.dumpFlags &&
-                               
this.env.conf.parsoid.dumpFlags.has('dom:post-dom-diff'))) {
+                               
this.env.conf.parsoid.dumpFlags.indexOf('dom:post-dom-diff') !== -1)) {
                                DU.dumpDOM(body, 'DOM after running DOMDiff', {
                                        storeDiffMark: true,
                                        env: this.env,
diff --git a/lib/html2wt/WikitextSerializer.js 
b/lib/html2wt/WikitextSerializer.js
index 0e8ac71..bdaba5e 100644
--- a/lib/html2wt/WikitextSerializer.js
+++ b/lib/html2wt/WikitextSerializer.js
@@ -1429,7 +1429,7 @@
        (new Normalizer(state)).normalizeDOM(body);
 
        var psd = this.env.conf.parsoid;
-       if (psd.dumpFlags && psd.dumpFlags.has("dom:post-normal")) {
+       if (psd.dumpFlags && (psd.dumpFlags.indexOf("dom:post-normal") !== -1)) 
{
                DU.dumpDOM(body, 'DOM: post-normal');
        }
 
diff --git a/lib/logger/ParsoidLogger.js b/lib/logger/ParsoidLogger.js
index d44690d..63b2db4 100644
--- a/lib/logger/ParsoidLogger.js
+++ b/lib/logger/ParsoidLogger.js
@@ -90,9 +90,13 @@
        // TRACE / DEBUG: Make trace / debug regexp with appropriate postfixes,
        // depending on the command-line options passed in.
        function buildTraceOrDebugFlag(parsoidFlags, logType) {
-               var escapedFlags = 
Array.from(parsoidFlags).map(Util.escapeRegExp);
-               var combinedFlag = logType + "\/(" + escapedFlags.join("|") + 
")(\\/|$)";
-               return new RegExp(combinedFlag);
+               if (Array.isArray(parsoidFlags)) {
+                       var escapedFlags = parsoidFlags.map(Util.escapeRegExp);
+                       var combinedFlag = logType + "\/(" + 
escapedFlags.join("|") + ")(\\/|$)";
+                       return new RegExp(combinedFlag);
+               } else {
+                       return null;
+               }
        }
 
        // Register separate backend for tracing / debugging events.
diff --git a/lib/utils/Util.js b/lib/utils/Util.js
index 0ca4085..f8cbc7e 100644
--- a/lib/utils/Util.js
+++ b/lib/utils/Util.js
@@ -79,12 +79,8 @@
                                console.warn("Warning: Generic tracing is no 
longer supported. Ignoring --trace flag. Please provide handler-specific 
tracing flags, e.g. '--trace pre,html5', to turn it on.");
                        } else {
                                // Add any new trace flags to the list of 
existing trace flags (if
-                               // any were inherited from debug); otherwise, 
create a new set.
-                               parsoidOptions.traceFlags =
-                                       new Set(parsoidOptions.traceFlags || 
[]);
-                               
this.splitFlags(cliOpts.trace).forEach(function(opt) {
-                                       parsoidOptions.traceFlags.add(opt);
-                               });
+                               // any were inherited from debug); otherwise, 
create a new list.
+                               parsoidOptions.traceFlags = 
(parsoidOptions.traceFlags || []).concat(this.splitFlags(cliOpts.trace));
                        }
                }
 
@@ -110,9 +106,9 @@
         * @return {Array}
         */
        splitFlags: function(origFlag) {
-               var objFlags = new Set(origFlag.split(","));
-               if (objFlags.has("selser") && !objFlags.has("wts")) {
-                       objFlags.add("wts");
+               var objFlags = origFlag.split(",");
+               if (objFlags.indexOf("selser") !== -1 && 
objFlags.indexOf("wts") === -1) {
+                       objFlags.push("wts");
                }
                return objFlags;
        },
diff --git a/lib/wt2html/DOMPostProcessor.js b/lib/wt2html/DOMPostProcessor.js
index 113073f..e2d3840 100644
--- a/lib/wt2html/DOMPostProcessor.js
+++ b/lib/wt2html/DOMPostProcessor.js
@@ -470,11 +470,11 @@
        var env = this.env;
 
        var psd = env.conf.parsoid;
-       if (psd.dumpFlags && psd.dumpFlags.has("dom:post-builder")) {
+       if (psd.dumpFlags && (psd.dumpFlags.indexOf("dom:post-builder") !== 
-1)) {
                DU.dumpDOM(document.body, 'DOM: after tree builder');
        }
 
-       var tracePP = psd.traceFlags && (psd.traceFlags.has("time/dompp") || 
psd.traceFlags.has("time"));
+       var tracePP = psd.traceFlags && (psd.traceFlags.indexOf("time/dompp") 
!== -1 || psd.traceFlags.indexOf("time") !== -1);
 
        // Holder for data-* attributes
        if (this.atTopLevel && env.pageBundle) {
@@ -530,10 +530,10 @@
        // For the top-level document, we generate <head> and add it.
        if (this.atTopLevel) {
                DOMPostProcessor.addMetaData(env, document);
-               if (psd.traceFlags && psd.traceFlags.has('time')) {
+               if (psd.traceFlags && psd.traceFlags.indexOf('time') !== -1) {
                        env.printTimeProfile();
                }
-               if (psd.dumpFlags && psd.dumpFlags.has('wt2html:limits')) {
+               if (psd.dumpFlags && psd.dumpFlags.indexOf('wt2html:limits') 
!== -1) {
                        env.printParserResourceUsage({ 'HTML Size': 
document.outerHTML.length });
                }
                if (env.conf.parsoid.linting) {
diff --git a/lib/wt2html/TokenTransformManager.js 
b/lib/wt2html/TokenTransformManager.js
index eb4e899..7c75438 100644
--- a/lib/wt2html/TokenTransformManager.js
+++ b/lib/wt2html/TokenTransformManager.js
@@ -154,7 +154,7 @@
  */
 TokenTransformManager.prototype.addTransform = function(transformation, 
debugName, rank, type, name) {
        var traceFlags = this.env.conf.parsoid.traceFlags;
-       var traceTime = traceFlags && traceFlags.has("time");
+       var traceTime = traceFlags && (traceFlags.indexOf("time") !== -1);
        if (traceTime) {
                transformation = this.timeTracer(transformation, debugName);
        }
@@ -551,7 +551,7 @@
 
        // Time tracing related state
        var traceFlags = this.env.conf.parsoid.traceFlags;
-       var traceTime = traceFlags && traceFlags.has('time');
+       var traceTime = traceFlags && traceFlags.indexOf('time') !== -1;
        var startTime = traceTime && Date.now();
        var tokenTimes = 0;
 
@@ -901,7 +901,7 @@
        // Time tracing related state
        var tokenTimes = 0;
        var traceFlags = this.env.conf.parsoid.traceFlags;
-       var traceTime = traceFlags && traceFlags.has('time');
+       var traceTime = traceFlags && traceFlags.indexOf('time') !== -1;
        var startTime = traceTime && Date.now();
 
        // Stack of token arrays to process
diff --git a/lib/wt2html/pp/processors/computeDSR.js 
b/lib/wt2html/pp/processors/computeDSR.js
index 98d284e..716909f 100644
--- a/lib/wt2html/pp/processors/computeDSR.js
+++ b/lib/wt2html/pp/processors/computeDSR.js
@@ -651,7 +651,7 @@
        var endOffset = options.sourceOffsets ? options.sourceOffsets[1] : 
env.page.src.length;
        var psd = env.conf.parsoid;
 
-       if (psd.dumpFlags && psd.dumpFlags.has("dom:pre-dsr")) {
+       if (psd.dumpFlags && (psd.dumpFlags.indexOf("dom:pre-dsr") !== -1)) {
                DU.dumpDOM(rootNode, 'DOM: pre-DSR');
        }
 
@@ -666,7 +666,7 @@
 
        env.log("trace/dsr", "------- done tracing computation -------");
 
-       if (psd.dumpFlags && psd.dumpFlags.has("dom:post-dsr")) {
+       if (psd.dumpFlags && (psd.dumpFlags.indexOf("dom:post-dsr") !== -1)) {
                DU.dumpDOM(rootNode, 'DOM: post-DSR');
        }
 }
diff --git a/lib/wt2html/pp/processors/wrapSections.js 
b/lib/wt2html/pp/processors/wrapSections.js
index 3252072..f453d23 100644
--- a/lib/wt2html/pp/processors/wrapSections.js
+++ b/lib/wt2html/pp/processors/wrapSections.js
@@ -295,7 +295,7 @@
                return;
        }
 
-       if (env.conf.parsoid.dumpFlags && 
env.conf.parsoid.dumpFlags.has("dom:pre-sections")) {
+       if (env.conf.parsoid.dumpFlags && 
(env.conf.parsoid.dumpFlags.indexOf("dom:pre-sections") !== -1)) {
                DU.dumpDOM(rootNode, 'DOM: before section wrapping');
        }
 
diff --git a/lib/wt2html/pp/processors/wrapTemplates.js 
b/lib/wt2html/pp/processors/wrapTemplates.js
index 13c29cf..6a45123 100644
--- a/lib/wt2html/pp/processors/wrapTemplates.js
+++ b/lib/wt2html/pp/processors/wrapTemplates.js
@@ -1024,13 +1024,13 @@
 function wrapTemplates(body, env, options) {
        var psd = env.conf.parsoid;
 
-       if (psd.dumpFlags && psd.dumpFlags.has("dom:pre-encap")) {
+       if (psd.dumpFlags && (psd.dumpFlags.indexOf("dom:pre-encap") !== -1)) {
                DU.dumpDOM(body, 'DOM: pre-encapsulation');
        }
 
        wrapTemplatesInTree(body.ownerDocument, env, body);
 
-       if (psd.dumpFlags && psd.dumpFlags.has("dom:post-encap")) {
+       if (psd.dumpFlags && (psd.dumpFlags.indexOf("dom:post-encap") !== -1)) {
                DU.dumpDOM(body, 'DOM: post-encapsulation');
        }
 }
diff --git a/lib/wt2html/tokenizer.js b/lib/wt2html/tokenizer.js
index 4318ed9..6858d3c 100644
--- a/lib/wt2html/tokenizer.js
+++ b/lib/wt2html/tokenizer.js
@@ -52,7 +52,7 @@
        this.env = env;
        // env can be null during code linting
        var traceFlags = env ? env.conf.parsoid.traceFlags : null;
-       this.traceTime = traceFlags && traceFlags.has('time');
+       this.traceTime = traceFlags && traceFlags.indexOf('time') !== -1;
        this.options = options || {};
        this.offsets = {};
 }
diff --git a/lib/wt2html/tt/TemplateHandler.js 
b/lib/wt2html/tt/TemplateHandler.js
index bd19d9b..926aceb 100644
--- a/lib/wt2html/tt/TemplateHandler.js
+++ b/lib/wt2html/tt/TemplateHandler.js
@@ -788,8 +788,8 @@
                //  this.manager.env.errCB(err);
        }
 
-       var psd = this.manager.env.conf.parsoid;
-       if (psd.dumpFlags && psd.dumpFlags.has("tplsrc")) {
+       var pConf = this.manager.env.conf.parsoid;
+       if (pConf.dumpFlags && pConf.dumpFlags.indexOf("tplsrc") !== -1) {
                console.log("=================================");
                console.log(tplArgs.name);
                console.log("---------------------------------");

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I4d5a68cbb77e63aeebb951171e28722a195910f0
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <ssas...@wikimedia.org>
Gerrit-Reviewer: Arlolra <abrea...@wikimedia.org>
Gerrit-Reviewer: C. Scott Ananian <canan...@wikimedia.org>
Gerrit-Reviewer: Sbailey <sbai...@wikimedia.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