It looks like in this code (common-engine.js line 227), index can be undefined in the loop:
fullproof.AbstractEngine.prototype.injectDocument = function(text, value, callback) {
var synchro = fullproof.make_synchro_point(function(data) {
callback();
});
this.forEach(function(name, index, parser) {
if (name) {
parser.parse(text, function(word) {
if (word) {
index.inject(word, value, synchro); // the line number is the value stored
} else {
synchro(false);
}
})
}
}, false);
return this;
};
I'm calling injectDocument on the result of engine.open and seeing a stack trace that looks like this:
Error in event handler for 'undefined': Cannot call method 'inject' of undefined TypeError: Cannot call method 'inject' of undefined
at chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2424:444
at chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2414:306
at f (chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2413:158)
at parse (chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2413:308)
at parse (chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2414:79)
at chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2424:420
at fullproof.AbstractEngine.forEach (chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2426:189)
at fullproof.AbstractEngine.injectDocument (chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/vendor.js:2424:391)
at Object.Liber.Fullproof.add (chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/background.js:822:18)
at Object.Liber.Index.add (chrome-extension://gbplakaibfhhognfeabdecdmbnildeil/background.js:874:34)
It looks like in this code (
common-engine.js
line 227),index
can be undefined in the loop:I'm calling
injectDocument
on the result ofengine.open
and seeing a stack trace that looks like this: