Index: chrome/renderer/resources/extensions/notifications_test_util.js |
diff --git a/chrome/renderer/resources/extensions/notifications_test_util.js b/chrome/renderer/resources/extensions/notifications_test_util.js |
index 85a30eee2bc1eeca029744e8ad0fca4885edbae6..d0d839a5cdd521f78b1a2df0db3b0171c0b5b8ce 100644 |
--- a/chrome/renderer/resources/extensions/notifications_test_util.js |
+++ b/chrome/renderer/resources/extensions/notifications_test_util.js |
@@ -40,14 +40,22 @@ var requireNative = function(library) { |
var exports = {}; |
-var $Array = { |
- push: function (ary, val) { |
- ary.push(val); |
- } |
-}; |
+function makeStaticFunction(obj, methodName) { |
+ return function() { |
+ var self = arguments[0]; |
+ var args = Array.prototype.slice.call(arguments, 1); |
+ return obj.prototype[methodName].apply(self, args); |
+ }; |
+} |
-var $Function = { |
- bind: function (fn, context) { |
- return fn.bind(context); |
- } |
-}; |
+var $Array = { self: Array }; |
+["push", "concat", "splice", "forEach"].forEach(function (name) { |
+ $Array[name] = makeStaticFunction(Array, name); |
+}); |
+ |
+var $Function = { self: Function }; |
+["bind"].forEach(function(name) { |
+ $Function[name] = makeStaticFunction(Function, name); |
+}); |
+ |
+var $String = { self: String }; |