From 95221788923be807c707ef934eb40ea1cf1dc622 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Tue, 25 Feb 2014 18:07:44 -0800 Subject: [PATCH] Fix Firefox 24. --- common/modules/base.jsm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/common/modules/base.jsm b/common/modules/base.jsm index 3ca4ca70..3389dee9 100644 --- a/common/modules/base.jsm +++ b/common/modules/base.jsm @@ -30,6 +30,30 @@ let { __lookupGetter__, __lookupSetter__, __defineGetter__, __defineSetter__, hasOwnProperty = Function.call.bind(hasOwnProperty); propertyIsEnumerable = Function.call.bind(propertyIsEnumerable); +// Gecko 24. +if (!("find" in Array.prototype)) + Object.defineProperty(Array.prototype, "find", { + configurable: true, + writable: true, + value: function Array_find(pred, self) { + for (let [i, elem] in Iterator(this)) + if (pred.call(self, elem, i, this)) + return elem; + } + }); + +if (!("findIndex" in Array.prototype)) + Object.defineProperty(Array.prototype, "findIndex", { + configurable: true, + writable: true, + value: function Array_findIndex(pred, self) { + for (let [i, elem] in Iterator(this)) + if (pred.call(self, elem, i, this)) + return i; + return -1; + } + }); + function require(module_, target) { if (/^[A-Za-z0-9]+:/.test(module_)) return module(module_);