Despite my best attempts, we still need 3 special cases for named property handling: 1) DOMWindow, because JS API in V8 is different from JSC. In V8, we have SetAccessCheckCallbacks method, which allows us to create special-purpose security checks. In JSC, we just use deleter and enumerator. 2) HTMLOptionsCollection, because it inherits from HTMLCollection. In JSC, named property handling comes free since JSHTMLOptionsCollection is generated to inherit from JSHTMLCollection. In V8, the generated classes are flat with static methods and thus don't provide this capability. The good news is that HTMLOptionsCollection shouldn't inherit from HTMLCollection per spec (http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#HTMLOptionsCollection), which means that this special-casing is temporary. 3) HTMLDocument, because the handling of document.all is completely different between JSC and V8. We really should fix this, but not as part of this patch.
Created attachment 45577 [details] Generate all configuring of named property handlers, v1.
style-queue ran check-webkit-style on attachment 45577 [details] without any errors.
When committing, I'll need to add an extra line break to DerivedSourcesAllInOne.cpp to ensure that IncrediBuild-based builds (i.e. all Chromium/Win build bots) won't bork. Also: * Created bug 32997 to fix HTMLOptionsCollection. * Created bug 32999 for document.all issue.
Comment on attachment 45577 [details] Generate all configuring of named property handlers, v1. CodeGeneratorV8.pm still mystifies me, but this change looks reasonable.
Landed as http://trac.webkit.org/changeset/52661.