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