Arlolra has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/328452 )

Change subject: Get rid of BehaviorSwitchPreprocessor
......................................................................

Get rid of BehaviorSwitchPreprocessor

Change-Id: I79f1d698e3821354412c0baba129cefdfcfcb9e3
---
M lib/wt2html/parser.js
M lib/wt2html/pegTokenizer.pegjs
M lib/wt2html/tt/BehaviorSwitchHandler.js
3 files changed, 10 insertions(+), 45 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/52/328452/1

diff --git a/lib/wt2html/parser.js b/lib/wt2html/parser.js
index ae63baa..cc810c8 100644
--- a/lib/wt2html/parser.js
+++ b/lib/wt2html/parser.js
@@ -27,7 +27,7 @@
 var AttributeExpander = require('./tt/AttributeExpander.js').AttributeExpander;
 var ListHandler = require('./tt/ListHandler.js').ListHandler;
 var LinkHandler = require('./tt/LinkHandler.js');
-var BehaviorSwitch = require('./tt/BehaviorSwitchHandler.js');
+var BehaviorSwitchHandler = 
require('./tt/BehaviorSwitchHandler.js').BehaviorSwitchHandler;
 var DOMFragmentBuilder = 
require('./tt/DOMFragmentBuilder.js').DOMFragmentBuilder;
 var TreeBuilder = require('./HTML5TreeBuilder.js').TreeBuilder;
 var DOMPostProcessor = require('./DOMPostProcessor.js').DOMPostProcessor;
@@ -40,8 +40,6 @@
 var OnlyInclude = NoIncludeOnly.OnlyInclude;
 var WikiLinkHandler = LinkHandler.WikiLinkHandler;
 var ExternalLinkHandler = LinkHandler.ExternalLinkHandler;
-var BehaviorSwitchHandler = BehaviorSwitch.BehaviorSwitchHandler;
-var BehaviorSwitchPreprocessor = BehaviorSwitch.BehaviorSwitchPreprocessor;
 
 
 var ParserPipeline; // forward declaration
@@ -92,9 +90,6 @@
                                OnlyInclude,  // 0.01
                                IncludeOnly,  // 0.02
                                NoInclude,  // 0.03
-
-                               // Preprocess behavior switches
-                               BehaviorSwitchPreprocessor,  // 0.05
                        ],
                ],
                /*
diff --git a/lib/wt2html/pegTokenizer.pegjs b/lib/wt2html/pegTokenizer.pegjs
index f487a3c..16887fb 100644
--- a/lib/wt2html/pegTokenizer.pegjs
+++ b/lib/wt2html/pegTokenizer.pegjs
@@ -558,10 +558,15 @@
 // https://www.mediawiki.org/wiki/Help:Magic_words#Behavior_switches
 behavior_switch
   = bs:$('__' behavior_text '__') {
-    return [
-      new SelfclosingTagTk('behavior-switch', [ new KV('word', bs) ],
-        { tsr: tsrOffsets(), src: bs }),
-    ];
+    if (env.conf.wiki.isMagicWord(bs)) {
+      return [
+        new SelfclosingTagTk('behavior-switch', [ new KV('word', bs) ],
+          { tsr: tsrOffsets(), src: bs, magicSrc: bs }
+        ),
+      ];
+    } else {
+      return [ bs ];
+    }
   }
 
 // Instead of defining a charset, php's doDoubleUnderscore concats a regexp of
diff --git a/lib/wt2html/tt/BehaviorSwitchHandler.js 
b/lib/wt2html/tt/BehaviorSwitchHandler.js
index acb190a..01c3932 100644
--- a/lib/wt2html/tt/BehaviorSwitchHandler.js
+++ b/lib/wt2html/tt/BehaviorSwitchHandler.js
@@ -49,42 +49,7 @@
        return { tokens: [ metaToken ] };
 };
 
-/**
- * @class
- *
- * Pre-process behavior switches, check to see that they're valid magic words.
- *
- * @constructor
- * @param {Object} manager
- * @param {Object} options
- */
-function BehaviorSwitchPreprocessor(manager, options) {
-       this.manager = manager;
-       this.manager.addTransform(this.onBehaviorSwitch.bind(this), 
'BehaviorSwitchPreprocessor:onBehaviorSwitch',
-               this.rank, 'tag', 'behavior-switch');
-}
-
-// Specifies where in the pipeline this stage should run.
-BehaviorSwitchPreprocessor.prototype.rank = 0.05;
-
-/**
- * See {@link TokenTransformManager#addTransform}'s transformation parameter
- */
-BehaviorSwitchPreprocessor.prototype.onBehaviorSwitch = function(token, 
manager, cb) {
-       var magicWord = token.attribs[0].v;
-       if (this.manager.env.conf.wiki.isMagicWord(magicWord)) {
-               token.dataAttribs.magicSrc = magicWord;
-               return {
-                       tokens: [ token ],
-               };
-       } else {
-               return {
-                       tokens: [ magicWord ],
-               };
-       }
-};
 
 if (typeof module === "object") {
        module.exports.BehaviorSwitchHandler = BehaviorSwitchHandler;
-       module.exports.BehaviorSwitchPreprocessor = BehaviorSwitchPreprocessor;
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I79f1d698e3821354412c0baba129cefdfcfcb9e3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <abrea...@wikimedia.org>

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

Reply via email to