| Index: node_modules/vulcanize/node_modules/whacko/node_modules/parse5/lib/jsdom/jsdom_parser.js | 
| diff --git a/node_modules/vulcanize/node_modules/whacko/node_modules/parse5/lib/jsdom/jsdom_parser.js b/node_modules/vulcanize/node_modules/whacko/node_modules/parse5/lib/jsdom/jsdom_parser.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..b318d8e01cc48bd588392b97612a73a0092f2c8f | 
| --- /dev/null | 
| +++ b/node_modules/vulcanize/node_modules/whacko/node_modules/parse5/lib/jsdom/jsdom_parser.js | 
| @@ -0,0 +1,39 @@ | 
| +'use strict'; | 
| + | 
| +var Parser = require('../tree_construction/parser'), | 
| +    ParsingUnit = require('./parsing_unit'); | 
| + | 
| +//API | 
| +exports.parseDocument = function (html, treeAdapter) { | 
| +    //NOTE: this should be reentrant, so we create new parser here | 
| +    var parser = new Parser(treeAdapter), | 
| +        parsingUnit = new ParsingUnit(parser); | 
| + | 
| +    //NOTE: override parser loop method | 
| +    parser._runParsingLoop = function () { | 
| +        parsingUnit.parsingLoopLock = true; | 
| + | 
| +        while (!parsingUnit.suspended && !this.stopped) | 
| +            this._iterateParsingLoop(); | 
| + | 
| +        parsingUnit.parsingLoopLock = false; | 
| + | 
| +        if (this.stopped) | 
| +            parsingUnit.callback(this.document); | 
| +    }; | 
| + | 
| +    //NOTE: wait while parserController will be adopted by calling code, then | 
| +    //start parsing | 
| +    process.nextTick(function () { | 
| +        parser.parse(html); | 
| +    }); | 
| + | 
| +    return parsingUnit; | 
| +}; | 
| + | 
| +exports.parseInnerHtml = function (innerHtml, contextElement, treeAdapter) { | 
| +    //NOTE: this should be reentrant, so we create new parser here | 
| +    var parser = new Parser(treeAdapter); | 
| + | 
| +    return parser.parseFragment(innerHtml, contextElement); | 
| +}; | 
|  |