You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

You are here: Editor project page > How to change DOM IDL specs

How to change idl specs

This document concerns how to change one of the DOM IDL specs. Unfortunately can only be done on Windows.

For most IDL, you will want to use the more cross-platform xpidl compiler. This has just recently come on-line; there is still a lot of old dom idl code in the tree which has not been converted over to xpidl (especially interfaces which really are part of the DOM). Eventually the plan is to convert all of these interfaces to xpidl, at which this document will cease to be useful.

  1. If this is a new idl spec, appropriate an iid from xpcom/src/IIDs.h
  2. Edit the idl file (e.g. dom/public/idl/range/Range.idl) to make your changes
  3. Build idlc.exe: cd dom/tools; nmake -f
  4. In the directory where the idl file lives: nmake -f
  5. After you've verified that everything still builds, you have three files to check in:
    1. dom\public\idl\...\foo\Foo.idl
    2. dom\public\xxx\nsIDOMFoo.h
    3. dom\src\xxx\nsJSFoo.cpp
    (plus any inherited classes you've changed, of course).