Bug 32569

Summary: [V8] Switch all indexers to be generated.
Product: WebKit Reporter: Dimitri Glazkov (Google) <dglazkov>
Component: WebCore JavaScriptAssignee: Dimitri Glazkov (Google) <dglazkov>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, eric, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 32616, 33031    
Bug Blocks: 32455    
Attachments:
Description Flags
Remove moar indexers. none

Dimitri Glazkov (Google)
Reported 2009-12-15 12:08:22 PST
Another brick in the wall. Not sure if it's the wall. More like a pillow. But pillows don't have bricks. If they did, they'd be very uncomfortable. But then again, V8 bindings are pretty uncomfortable.
Attachments
Remove moar indexers. (9.64 KB, patch)
2009-12-16 11:10 PST, Dimitri Glazkov (Google)
no flags
Dimitri Glazkov (Google)
Comment 1 2009-12-16 11:10:20 PST
Created attachment 44997 [details] Remove moar indexers.
WebKit Review Bot
Comment 2 2009-12-16 11:10:50 PST
style-queue ran check-webkit-style on attachment 44997 [details] without any errors.
Adam Barth
Comment 3 2009-12-16 12:04:03 PST
Comment on attachment 44997 [details] Remove moar indexers. I can hardly resist a patch of all minus lines that doesn't break any tests!
Dimitri Glazkov (Google)
Comment 4 2009-12-16 12:16:01 PST
"Remove moar indexers" patch landed as http://trac.webkit.org/changeset/52213. This still leaves 6 indexers hand-set, but we'll have to come back to this from a different angle. Leaving the bug open for that reason.
Adam Barth
Comment 5 2009-12-16 13:08:06 PST
Comment on attachment 44997 [details] Remove moar indexers. I'd prefer to use one patch per bug, but if you're going to keep this bug open, you need to clear the flags so this patch won't show up as needing to be committed.
Dimitri Glazkov (Google)
Comment 6 2009-12-16 13:11:53 PST
I'll use this a master bug to keep my sanity intact. No new patches will go here.
Dimitri Glazkov (Google)
Comment 7 2009-12-16 13:20:01 PST
// getter: needs to know its parent has a getter // setter: easy descriptor->InstanceTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(HTMLOptionsCollection), USE_INDEXED_PROPERTY_SETTER(HTMLOptionsCollection)); // getter: easy // setter: easy // enumerator: ?? descriptor->InstanceTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(HTMLSelectElement), USE_INDEXED_PROPERTY_SETTER(HTMLSelectElement), 0, 0, nodeCollectionIndexedPropertyEnumerator<HTMLSelectElement>, v8::Integer::New(V8ClassIndex::NODE)); // will have to stay custom descriptor->InstanceTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(HTMLPlugInElement), USE_INDEXED_PROPERTY_SETTER(HTMLPlugInElement)); // getter: easy // enumerator: ?? instanceTemplate->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(NamedNodeMap), 0, 0, 0, collectionIndexedPropertyEnumerator<NamedNodeMap>, v8::Integer::New(V8ClassIndex::NODE)); // getter: no indication? must assume if has setItem, must have item? // setter: setItem -> HasCustomIndexSetter descriptor->InstanceTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(Storage), USE_INDEXED_PROPERTY_SETTER(Storage), 0, USE_INDEXED_PROPERTY_DELETER(Storage)); // stays custom descriptor->PrototypeTemplate()->SetIndexedPropertyHandler(USE_INDEXED_PROPERTY_GETTER(DOMWindow));
Dimitri Glazkov (Google)
Comment 8 2009-12-30 08:56:57 PST
It is done.
Note You need to log in before you can comment on or make changes to this bug.