Bug 67273

Summary: Remove INSTANTIATE_ALL_EVENT_INITIALIZING_CONSTRUCTORS from EventConstructors.h
Product: WebKit Reporter: Kentaro Hara <haraken>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: ap, dominicc, mitz, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 67824    
Attachments:
Description Flags
Patch none

Description Kentaro Hara 2011-08-31 01:44:21 PDT
Using INSTANTIATE_ALL_EVENT_INITIALIZING_CONSTRUCTORS in EventConstructors.h means that the set of constructors implemented in JSC and in V8 must be synchronized. In other words, if we add a constructor to JSC, then we need to add it to V8 at the same time, which makes it difficult to add constructors to JSC and to V8 separately. 

We should remove INSTANTIATE_ALL_EVENT_INITIALIZING_CONSTRUCTORS from EventConstructors.h and describe INSTANTIATE_INITIALIZING_CONSTRUCTOR_FOR_* in JSEventConstructors.cpp and V8EventConstructors.cpp.
Comment 1 Kentaro Hara 2011-08-31 01:51:22 PDT
Created attachment 105761 [details]
Patch
Comment 2 Alexey Proskuryakov 2011-08-31 16:27:25 PDT
> In other words, if we add a constructor to JSC, then we need to add it to V8 at the same time, which makes it difficult to add constructors to JSC and to V8 separately. 

Keeping various WebKit based browsers compatible is a good thing. Why would it be good to add constructors separately even without a feature define?
Comment 3 Kentaro Hara 2011-08-31 17:26:41 PDT
(In reply to comment #2)
> > In other words, if we add a constructor to JSC, then we need to add it to V8 at the same time, which makes it difficult to add constructors to JSC and to V8 separately. 
> 
> Keeping various WebKit based browsers compatible is a good thing. Why would it be good to add constructors separately even without a feature define?

Yeah, I do agree that we should synchronize constructors for JSC and V8. What I wanted to mean is that using that macro makes it impossible to add a constructor to JSC and to V8 _as_a_separate_patch_. In fact, recently Sam and I have been adding constructors for JSC and V8 in separate patches step by step. 

However, it may be now OK to decide that we must implement a constructor for JSC and V8 in one patch.
Comment 4 Sam Weinig 2011-09-08 18:48:30 PDT
I don't think this is a good idea.  I add the ALL variant to keep the two implementations in line.
Comment 5 Kentaro Hara 2011-09-09 09:37:06 PDT
(In reply to comment #4)
> I don't think this is a good idea.  I add the ALL variant to keep the two implementations in line.

OK. Let's keep ALL. However, I would like to commit patches for JSC and V8 separately in order to reduce the size of each patch. So, until all events are implemented, I will use ALL for JSC but will not use ALL for V8.