From dd4edcfd7a0118018a35136a4e383645e6fa10cb Mon Sep 17 00:00:00 2001 From: Georgios Kalpakas Date: Fri, 22 Apr 2016 14:32:27 +0300 Subject: [PATCH] fix($injector): add workaround for fat-arrow stringification in Chrome v50/51 Closes #14487 --- src/auto/injector.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/auto/injector.js b/src/auto/injector.js index 379995e30539..09cca0424e40 100644 --- a/src/auto/injector.js +++ b/src/auto/injector.js @@ -71,7 +71,11 @@ var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; var $injectorMinErr = minErr('$injector'); function extractArgs(fn) { - var fnText = Function.prototype.toString.call(fn).replace(STRIP_COMMENTS, ''), + // Support: Chrome 50-51 only + // Creating a new string by adding `' '` at the end, to hack around some bug in Chrome v50/51 + // (See https://github.com/angular/angular.js/issues/14487.) + // TODO (gkalpak): Remove workaround when Chrome v52 is released + var fnText = Function.prototype.toString.call(fn).replace(STRIP_COMMENTS, '') + ' ', args = fnText.match(ARROW_ARG) || fnText.match(FN_ARGS); return args; }