blob: 2c4a11e846471867387b90af67969c31e8a05e52 [file] [log] [blame]
/*
* Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
module window {
// You can't cache the Window object in the global object because it *is* the global object.
// For the same reason, there's no need to.
interface [LegacyParent=KJS::Window, DoNotCache] DOMWindow {
// DOM Level 2 AbstractView Interface
readonly attribute Document document;
// DOM Level 2 Style Interface
CSSStyleDeclaration getComputedStyle(in Element element,
in DOMString pseudoElement);
// WebKit extensions
CSSRuleList getMatchedCSSRules(in Element element,
in DOMString pseudoElement,
in [Optional] boolean authorOnly);
readonly attribute double devicePixelRatio;
// Global constructors
attribute CSSPrimitiveValueConstructor CSSPrimitiveValue;
attribute CSSRuleConstructor CSSRule;
attribute CSSStyleDeclarationConstructor CSSStyleDeclaration;
attribute CSSValueConstructor CSSValue;
attribute DocumentConstructor Document;
attribute DocumentFragmentConstructor DocumentFragment;
attribute DOMParserConstructor DOMParser;
attribute ElementConstructor Element;
attribute EventConstructor Event;
// FIXME: Implement the commented-out global constructors for elements listed in DOM Level 2 HTML specification.
attribute HTMLElementConstructor HTMLElement;
attribute HTMLAnchorElementConstructor HTMLAnchorElement;
attribute HTMLAppletElementConstructor HTMLAppletElement;
attribute HTMLAreaElementConstructor HTMLAreaElement;
attribute HTMLBaseElementConstructor HTMLBaseElement;
attribute HTMLBaseFontElementConstructor HTMLBaseFontElement;
attribute HTMLBodyElementConstructor HTMLBodyElement;
attribute HTMLBRElementConstructor HTMLBRElement;
attribute HTMLButtonElementConstructor HTMLButtonElement;
attribute HTMLDirectoryElementConstructor HTMLDirectoryElement;
attribute HTMLDivElementConstructor HTMLDivElement;
attribute HTMLDListElementConstructor HTMLDListElement;
attribute HTMLFieldSetElementConstructor HTMLFieldSetElement;
attribute HTMLFontElementConstructor HTMLFontElement;
attribute HTMLFormElementConstructor HTMLFormElement;
// attribute HTMLFrameElementConstructor HTMLFrameElement;
// attribute HTMLFrameSetElementConstructor HTMLFrameSetElement;
attribute HTMLHeadElementConstructor HTMLHeadElement;
attribute HTMLHeadingElementConstructor HTMLHeadingElement;
attribute HTMLHRElementConstructor HTMLHRElement;
attribute HTMLHtmlElementConstructor HTMLHtmlElement;
// attribute HTMLIFrameElementConstructor HTMLIFrameElement;
attribute HTMLImageElementConstructor HTMLImageElement;
attribute HTMLInputElementConstructor HTMLInputElement;
attribute HTMLIsIndexElementConstructor HTMLIsIndexElement;
attribute HTMLLabelElementConstructor HTMLLabelElement;
attribute HTMLLegendElementConstructor HTMLLegendElement;
attribute HTMLLIElementConstructor HTMLLIElement;
attribute HTMLLinkElementConstructor HTMLLinkElement;
attribute HTMLMapElementConstructor HTMLMapElement;
attribute HTMLMenuElementConstructor HTMLMenuElement;
attribute HTMLMetaElementConstructor HTMLMetaElement;
attribute HTMLModElementConstructor HTMLModElement;
// attribute HTMLObjectElementConstructor HTMLObjectElement;
attribute HTMLOListElementConstructor HTMLOListElement;
attribute HTMLOptGroupElementConstructor HTMLOptGroupElement;
attribute HTMLOptionElementConstructor HTMLOptionElement;
attribute HTMLParagraphElementConstructor HTMLParagraphElement;
attribute HTMLParamElementConstructor HTMLParamElement;
attribute HTMLPreElementConstructor HTMLPreElement;
attribute HTMLQuoteElementConstructor HTMLQuoteElement;
attribute HTMLScriptElementConstructor HTMLScriptElement;
attribute HTMLSelectElementConstructor HTMLSelectElement;
attribute HTMLStyleElementConstructor HTMLStyleElement;
// attribute HTMLTableCaptionElementConstructor HTMLTableCaptionElement;
// attribute HTMLTableCellElementConstructor HTMLTableCellElement;
// attribute HTMLTableColElementConstructor HTMLTableColElement;
// attribute HTMLTableElementConstructor HTMLTableElement;
// attribute HTMLTableRowElementConstructor HTMLTableRowElement;
// attribute HTMLTableSectionElementConstructor HTMLTableSectionElement;
attribute HTMLTextAreaElementConstructor HTMLTextAreaElement;
attribute HTMLTitleElementConstructor HTMLTitleElement;
attribute HTMLUListElementConstructor HTMLUListElement;
attribute HTMLCanvasElementConstructor HTMLCanvasElement;
attribute HTMLDocumentConstructor HTMLDocument;
attribute MutationEventConstructor MutationEvent;
attribute NodeConstructor Node;
attribute NodeFilterConstructor NodeFilter;
attribute RangeConstructor Range;
attribute RangeExceptionConstructor RangeException;
// Mozilla has a separate XMLDocument object for XML documents.
// We just use Document for this.
attribute DocumentConstructor XMLDocument;
attribute XMLSerializerConstructor XMLSerializer;
#if ENABLE_XPATH
attribute XPathEvaluatorConstructor XPathEvaluator;
attribute XPathResultConstructor XPathResult;
#endif
};
}