Bug 123440

Summary: ExtJS breaks with modern Array.prototype.values API due to use of with()
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: JavaScriptCoreAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal CC: bdakin, fpizlo, ggaren, oliver, svillar, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch bdakin: review+

Description Carlos Garcia Campos 2013-10-29 04:57:38 PDT
See these examples:

http://dev.sencha.com/deploy/ext-3.4.0/examples/form/combos.html

I'm assuming it's a JSC bug because it's reproducible in different ports and it's js code, but I'm still bisecting to find the commit that introduced the regression.
Comment 1 Carlos Garcia Campos 2013-10-31 06:31:18 PDT
Finally found the commit that introduced the regression, according to git bisect, r156791 is the commit to blame.
Comment 2 Radar WebKit Bug Importer 2013-10-31 11:14:45 PDT
<rdar://problem/15363658>
Comment 3 Oliver Hunt 2013-10-31 13:21:26 PDT
If it is 156791 it implies that Ext is assuming Array.values, .entries, or .keys is something special with no basis for that decision.
Comment 4 Sergio Villar Senin 2013-11-11 10:24:25 PST
(In reply to comment #3)
> If it is 156791 it implies that Ext is assuming Array.values, .entries, or .keys is something special with no basis for that decision.

In any case shouldn't we do something about it while they don't fix it?
Comment 5 Oliver Hunt 2013-11-11 11:59:51 PST
ExtJS holds back the web _again_.

Emailed ES list, we're going to have to remove Array.prototype.values.  Congratulations!
Comment 6 Oliver Hunt 2013-11-11 12:45:57 PST
Created attachment 216600 [details]
Patch
Comment 7 Oliver Hunt 2013-11-11 12:51:07 PST
Committed r159063: <http://trac.webkit.org/changeset/159063>