sig
  class type style =
    object
      method _get_color : string
      method _get_display : string
      method _get_maxWidth : string
      method _get_visibility : string
      method _get_width : string
      method _set_color : string -> unit
      method _set_display : string -> unit
      method _set_maxWidth : string -> unit
      method _set_visibility : string -> unit
      method _set_width : string -> unit
    end
  class type event =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_bubbles : bool
      method _get_cancelable : bool
      method _get_eventPhase : int
      method _get_timeStamp : float
      method _get_type : string
      method initEvent : string -> bool -> bool -> unit
      method preventDefault : unit
      method stopPropagation : unit
    end
  class type eventTarget =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
    end
  class type node =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
    end
  class type element =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : Mozilla.DOM.style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type document =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_defaultView : XPCOM.dOMAbstractView
      method _get_firstChild : XPCOM.dOMNode
      method _get_lastChild : XPCOM.dOMNode
      method _get_location : XPCOM.dOMLocation
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method createEvent : string -> #XPCOM.dOMEvent
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method evaluate :
        string ->
        #XPCOM.dOMNode ->
        #XPCOM.dOMXPathNSResolver ->
        int -> #XPCOM.supports -> #XPCOM.supports
      method getElementById : string -> #XPCOM.dOMElement
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
    end
  class type a =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_href : string
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type area =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type uRI =
    object
      method _get_host : string
      method _get_spec : string
      method _set_host : string -> unit
      method _set_spec : string -> unit
      method resolve : string -> string
    end
  class type browser =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_contentDocument : Mozilla.DOM.document
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method goBack : unit
      method loadURI : string -> Mozilla.DOM.uRI -> string -> unit
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
      method stop : unit -> unit
    end
  class type button =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_disabled : bool
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_label : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_disabled : bool -> unit
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_label : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type deck =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_selectedIndex : int
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_selectedIndex : int -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type dialog =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type form =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_action : string
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_method : string
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_action : string -> unit
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_method : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
      method submit : unit
    end
  class type input =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type input_text =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _get_value : string
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_value : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type input_image =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method click : unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type label =
    object method _get_value : string method _set_value : string -> unit end
  class type map =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_areas : Mozilla.DOM.area array
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type menuItem =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type menuList =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_selectedIndex : int
      method _get_style : style
      method _get_value : string
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_selectedIndex : int -> unit
      method _set_value : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type keyEvent =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_bubbles : bool
      method _get_cancelable : bool
      method _get_eventPhase : int
      method _get_timeStamp : float
      method _get_type : string
      method initEvent : string -> bool -> bool -> unit
      method initKeyEvent :
        string ->
        bool ->
        bool ->
        #XPCOM.dOMAbstractView -> bool -> bool -> bool -> bool -> int -> int
      method initUIEvent :
        string -> bool -> bool -> #XPCOM.dOMAbstractView -> int -> unit
      method preventDefault : unit
      method stopPropagation : unit
    end
  class type mouseEvent =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_altKey : bool
      method _get_bubbles : bool
      method _get_button : int
      method _get_cancelable : bool
      method _get_clientX : int
      method _get_clientY : int
      method _get_ctrlKey : bool
      method _get_eventPhase : int
      method _get_metaKey : bool
      method _get_relatedTarget : #XPCOM.dOMEventTarget
      method _get_screenX : int
      method _get_screenY : int
      method _get_shiftKey : bool
      method _get_timeStamp : float
      method _get_type : string
      method initEvent : string -> bool -> bool -> unit
      method initMouseEvent :
        string ->
        bool ->
        bool ->
        #XPCOM.dOMAbstractView ->
        int ->
        int ->
        int ->
        int ->
        int ->
        bool -> bool -> bool -> bool -> int -> #XPCOM.dOMEventTarget -> unit
      method initUIEvent :
        string -> bool -> bool -> #XPCOM.dOMAbstractView -> int -> unit
      method preventDefault : unit
      method stopPropagation : unit
    end
  class type option =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _get_text : string
      method _get_value : string
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type radio =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_selected : int
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_selected : int -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type select =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_options : Mozilla.DOM.option array
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_selectedIndex : int
      method _get_style : style
      method _get_value : string
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_selectedIndex : int -> unit
      method _set_value : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type statusBarPanel =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type stringBundle = object method getString : string -> string end
  class type tab =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_linkedBrowser : Mozilla.DOM.browser
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type tabBrowser =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_selectedTab : Mozilla.DOM.tab
      method _get_style : style
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_selectedTab : #Mozilla.DOM.tab -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method addTab : string -> Mozilla.DOM.tab
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method removeTab : Mozilla.DOM.tab -> unit
      method setAttribute : string -> string -> unit
    end
  class type textBox =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_firstChild : XPCOM.dOMNode
      method _get_hidden : bool
      method _get_innerHTML : string
      method _get_lastChild : XPCOM.dOMNode
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method _get_style : style
      method _get_value : string
      method _set_hidden : bool -> unit
      method _set_innerHTML : string -> unit
      method _set_value : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getAttribute : string -> string
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setAttribute : string -> string -> unit
    end
  class type window =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_arguments : 'b array
      method _get_document : XPCOM.dOMDocument
      method _get_location : string
      method _set_location : string -> unit
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method alert : string -> unit
      method back : unit
      method clearInterval : int -> unit
      method clearTimeout : int -> unit
      method close : unit
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method getBrowser : Mozilla.DOM.tabBrowser
      method openDialog : string -> string -> string -> unit
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method setInterval : (unit -> unit) -> float -> int
      method setTimeout : (unit -> unit) -> float -> int
    end
  class type xMLDocument =
    object
      method _QueryInterface : 'XPCOM.interface -> 'a
      method _get_childNodes : XPCOM.dOMNode array
      method _get_defaultView : XPCOM.dOMAbstractView
      method _get_firstChild : XPCOM.dOMNode
      method _get_lastChild : XPCOM.dOMNode
      method _get_location : XPCOM.dOMLocation
      method _get_nextSibling : XPCOM.dOMNode
      method _get_nodeName : string
      method _get_nodeType : int
      method _get_nodeValue : string
      method _get_parentNode : XPCOM.dOMNode
      method _get_previousSibling : XPCOM.dOMNode
      method addEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method addEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
      method createEvent : string -> #XPCOM.dOMEvent
      method dispatchEvent : #XPCOM.dOMEvent -> bool
      method evaluate :
        string ->
        #XPCOM.dOMNode ->
        #XPCOM.dOMXPathNSResolver ->
        int -> #XPCOM.supports -> #XPCOM.supports
      method getElementById : string -> #XPCOM.dOMElement
      method removeEventListener :
        string -> #XPCOM.dOMEventListener -> bool -> unit
      method removeEventListener_fun_ :
        string -> (#XPCOM.dOMEvent -> unit) -> bool -> unit
    end
  class type xPathResult =
    object
      method _get_ANY_TYPE : int
      method _get_FIRST_ORDERED_NODE_TYPE : int
      method _get_ORDERED_NODE_ITERATOR_TYPE : int
      method _get_singleNodeValue : #XPCOM.dOMNode
      method iterateNext : #XPCOM.dOMNode
    end
  val document : Mozilla.DOM.document
  val window : Mozilla.DOM.window
end