Bug 17094

Summary: Array.prototype functions create length properties with DontEnum/DontDelete
Product: WebKit Reporter: Darin Adler <darin>
Component: JavaScriptCoreAssignee: Darin Adler <darin>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 17067    
Attachments:
Description Flags
patch
aroben: review-
patch with whitespace-merge-conflicts resolved sam: review+

Description Darin Adler 2008-01-30 09:48:12 PST
When looking at the use of put in the engine, I discovered a mistake in the Array.prototype functions. When they operate on non-array objects, they create length attributes with the DontEnum and DontDelete flags set. That's wrong.
Comment 1 Darin Adler 2008-01-30 10:05:19 PST
Created attachment 18792 [details]
patch
Comment 2 Adam Roben (:aroben) 2008-01-30 11:18:53 PST
Comment on attachment 18792 [details]
patch

It looks like this patch contains conflict markers. Maybe you could post a new one with the conflicts resolved?
Comment 3 Darin Adler 2008-01-30 11:53:54 PST
Created attachment 18796 [details]
patch with whitespace-merge-conflicts resolved

When I resolved the conflict with the whitespace, I missed a couple cases and didn't recompile. Now I recompiled and re-tested.
Comment 4 Sam Weinig 2008-02-05 20:19:41 PST
Comment on attachment 18796 [details]
patch with whitespace-merge-conflicts resolved

While this looks great, I think it would be better to land the fix to the Array.prototype functions separate to all the other whitespace and putDirect changes,  It's not necessary, but would be nice.  r=me.
Comment 5 Darin Adler 2008-02-06 09:42:49 PST
Committed revision 30041.