In Safari 8: - Object.prototype.toString.call(ArrayIterator) === '[object Function'] - typeof ArrayIterator !== 'function' - ArrayIterator() // throws However, none of this is relevant, because the ES6 spec requires that ArrayIterator not be exposed. Per https://twitter.com/ohunt/status/473981524983812096 and https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array-iterator-objects This breaks the es6-shim, and potentially any code that doesn't expect the ArrayIterator global to be defined - or attempts to use it like a standard JS object.
Created attachment 232494 [details] Patch
Comment on attachment 232494 [details] Patch r=me
Committed r169598: <http://trac.webkit.org/changeset/169598>