IMO [Conditional=XXX] does not generate correct output (only tried JSC). It 
adds top many header includes.

Example with DOMWindow.idl:
The line
attribute [Conditional=DATABASE] SQLExceptionConstructor SQLException;
adds #include "JSSQLException.h" independently of ENABLE_DATABASE.

The lines 
#if defined(ENABLE_DATABASE) && ENABLE_DATABASE
attribute SQLExceptionConstructor SQLException;
#endif
generate the #include only if ENABLE_DATABSE is true.

If we add "JSSQLException.h" unconditionally we also need to generate the 
corresponding IDL all the time.

I see three possible solutions:
1) Always generate all IDL files.
2) Change all [Conditional=XXX] to #if define(ENABLE_XXX).
3) Add the correct #if ENABLE(XXX) around the header includes.

BTW: Should we unify the #if defined(ENABLE_XXX) and [Conditional=XX] in all 
IDL files?

- Patrick
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to