michael@0: /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: */ michael@0: michael@0: [OverrideBuiltins] michael@0: interface HTMLDocument : Document { michael@0: [Throws] michael@0: attribute DOMString? domain; michael@0: [Throws] michael@0: attribute DOMString cookie; michael@0: // DOM tree accessors michael@0: [Throws] michael@0: getter object (DOMString name); michael@0: [Pure, SetterThrows] michael@0: attribute HTMLElement? body; michael@0: [Pure] michael@0: readonly attribute HTMLHeadElement? head; michael@0: [Pure] michael@0: readonly attribute HTMLCollection images; michael@0: [Pure] michael@0: readonly attribute HTMLCollection embeds; michael@0: [Pure] michael@0: readonly attribute HTMLCollection plugins; michael@0: [Pure] michael@0: readonly attribute HTMLCollection links; michael@0: [Pure] michael@0: readonly attribute HTMLCollection forms; michael@0: [Pure] michael@0: readonly attribute HTMLCollection scripts; michael@0: NodeList getElementsByName(DOMString elementName); michael@0: NodeList getItems(optional DOMString typeNames = ""); // microdata michael@0: michael@0: // dynamic markup insertion michael@0: [Throws] michael@0: Document open(optional DOMString type = "text/html", optional DOMString replace = ""); michael@0: [Throws] michael@0: WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace = false); michael@0: [Throws] michael@0: void close(); michael@0: [Throws] michael@0: void write(DOMString... text); michael@0: [Throws] michael@0: void writeln(DOMString... text); michael@0: michael@0: [SetterThrows] michael@0: attribute DOMString designMode; michael@0: [Throws] michael@0: boolean execCommand(DOMString commandId, optional boolean showUI = false, michael@0: optional DOMString value = ""); michael@0: [Throws] michael@0: boolean queryCommandEnabled(DOMString commandId); michael@0: [Throws] michael@0: boolean queryCommandIndeterm(DOMString commandId); michael@0: [Throws] michael@0: boolean queryCommandState(DOMString commandId); michael@0: boolean queryCommandSupported(DOMString commandId); michael@0: [Throws] michael@0: DOMString queryCommandValue(DOMString commandId); michael@0: michael@0: [TreatNullAs=EmptyString] attribute DOMString fgColor; michael@0: [TreatNullAs=EmptyString] attribute DOMString linkColor; michael@0: [TreatNullAs=EmptyString] attribute DOMString vlinkColor; michael@0: [TreatNullAs=EmptyString] attribute DOMString alinkColor; michael@0: [TreatNullAs=EmptyString] attribute DOMString bgColor; michael@0: michael@0: [Pure] michael@0: readonly attribute HTMLCollection anchors; michael@0: [Pure] michael@0: readonly attribute HTMLCollection applets; michael@0: michael@0: void clear(); michael@0: michael@0: [Throws] michael@0: readonly attribute object all; michael@0: michael@0: // https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#selections michael@0: [Throws] michael@0: Selection? getSelection(); michael@0: michael@0: // @deprecated These are old Netscape 4 methods. Do not use, michael@0: // the implementation is no-op. michael@0: // XXXbz do we actually need these anymore? michael@0: void captureEvents(); michael@0: void releaseEvents(); michael@0: };