Codepen here: http://codepen.io/stevesouth/pen/NPKzYz/ According to MDN the callback function of a Map.forEach should get called with three arguments callback is invoked with three arguments: the element value the element key the Map object being traversed https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach However in Webkit the third parameter is undefined.
<rdar://problem/18943661>
Created attachment 242741 [details] Patch
The same change is necessary for Set. According to the ES6 spec [1]: "callbackfn is called with three arguments: the first two arguments are a value contained in the Set. The same value of passed for both arguments. The Set object being traversed is passed as the third argument." [1] http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.foreach
Comment on attachment 242741 [details] Patch The map part was updated in http://trac.webkit.org/changeset/183374
And the set part in https://bugs.webkit.org/show_bug.cgi?id=144188
Comment on attachment 242741 [details] Patch r=me