gecko-dev/dom/webidl/HTMLImageElement.webidl

114 lines
3.9 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://www.whatwg.org/specs/web-apps/current-work/#htmlimageelement
* http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
* © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
* Opera Software ASA. You are granted a license to use, reproduce
* and create derivative works of this document.
*/
interface imgINotificationObserver;
interface imgIRequest;
interface URI;
interface MozChannel;
interface nsIStreamListener;
[NamedConstructor=Image(optional unsigned long width, optional unsigned long height)]
interface HTMLImageElement : HTMLElement {
[SetterThrows]
attribute DOMString alt;
[SetterThrows]
attribute DOMString src;
[SetterThrows, Pref="dom.image.srcset.enabled"]
attribute DOMString srcset;
[SetterThrows]
attribute DOMString? crossOrigin;
[SetterThrows]
attribute DOMString useMap;
[SetterThrows, Pref="network.http.enablePerElementReferrer"]
attribute DOMString referrerPolicy;
[SetterThrows]
attribute boolean isMap;
[SetterThrows]
attribute unsigned long width;
[SetterThrows]
attribute unsigned long height;
readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight;
readonly attribute boolean complete;
};
// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
partial interface HTMLImageElement {
[SetterThrows]
attribute DOMString name;
[SetterThrows]
attribute DOMString align;
[SetterThrows]
attribute unsigned long hspace;
[SetterThrows]
attribute unsigned long vspace;
[SetterThrows]
attribute DOMString longDesc;
[TreatNullAs=EmptyString,SetterThrows] attribute DOMString border;
};
// [Update me: not in whatwg spec yet]
// http://picture.responsiveimages.org/#the-img-element
partial interface HTMLImageElement {
[SetterThrows, Pref="dom.image.picture.enabled"]
attribute DOMString sizes;
[Pref="dom.image.srcset.enabled"]
readonly attribute DOMString currentSrc;
};
// Mozilla extensions.
partial interface HTMLImageElement {
attribute DOMString lowsrc;
// These attributes are offsets from the closest view (to mimic
// NS4's "offset-from-layer" behavior).
readonly attribute long x;
readonly attribute long y;
};
[NoInterfaceObject]
interface MozImageLoadingContent {
// Mirrored chrome-only nsIImageLoadingContent methods. Please make sure
// to update this list if nsIImageLoadingContent changes.
[ChromeOnly]
const long UNKNOWN_REQUEST = -1;
[ChromeOnly]
const long CURRENT_REQUEST = 0;
[ChromeOnly]
const long PENDING_REQUEST = 1;
[ChromeOnly]
attribute boolean loadingEnabled;
[ChromeOnly]
readonly attribute short imageBlockingStatus;
[ChromeOnly]
void addObserver(imgINotificationObserver aObserver);
[ChromeOnly]
void removeObserver(imgINotificationObserver aObserver);
[ChromeOnly,Throws]
imgIRequest? getRequest(long aRequestType);
[ChromeOnly,Throws]
long getRequestType(imgIRequest aRequest);
[ChromeOnly,Throws]
readonly attribute URI? currentURI;
[ChromeOnly,Throws]
nsIStreamListener? loadImageWithChannel(MozChannel aChannel);
[ChromeOnly,Throws]
void forceReload(optional boolean aNotify);
[ChromeOnly]
void forceImageState(boolean aForce, unsigned long long aState);
};
HTMLImageElement implements MozImageLoadingContent;