Summary: | ObjC autogeneration needs safe-guards against easily modifying the public API | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Timothy Hatcher <timothy> | ||||
Component: | WebKit API | Assignee: | Timothy Hatcher <timothy> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Major | ||||||
Priority: | P2 | ||||||
Version: | 420+ | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.4 | ||||||
Attachments: |
|
Description
Timothy Hatcher
2006-09-03 13:29:41 PDT
I have a working patch for this that I am cleaning up. Created attachment 10397 [details]
Fixes this along with some other tweaks
- New PublicDOMInterfaces.h file is consulted when generating
the ObjC DOM files. All public DOM class interfaces, properties
and methods need to be in this file. Anything not in the file will
be generated into the appropriate private header file. During
generation if something changed or is missing in the public API
a build error will occur. New interfaces added to the IDLs files
will now not automatically be reflected in the public ObjC API.
Methods commented out in PublicDOMInterfaces.h are pending public
and will be uncommented once approved.
- Removed most of the Exclude=ObjC uses from the IDL files. This
attribute was mostly used to prevent changes to the public headers.
- Make a new parameter name if the original conflicts with a property name.
- Simplified the generation code for dealing with exceptions.
- Moved file opens to WriteData. Files are unlinked before
being opened to work around a Leopard file truncation bug.
- Fixed #imports for DOMImplementation to be DOMDOMImplementation.h
Comment on attachment 10397 [details]
Fixes this along with some other tweaks
r=me
|