2012-12-31 22:48:55 +04:00
|
|
|
/* -*- 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.
|
|
|
|
*/
|
|
|
|
|
2013-01-02 23:30:02 +04:00
|
|
|
interface imgINotificationObserver;
|
|
|
|
interface imgIRequest;
|
|
|
|
interface URI;
|
|
|
|
interface nsIStreamListener;
|
|
|
|
|
2016-11-17 12:34:42 +03:00
|
|
|
[HTMLConstructor,
|
|
|
|
NamedConstructor=Image(optional unsigned long width, optional unsigned long height)]
|
2012-12-31 22:48:55 +04:00
|
|
|
interface HTMLImageElement : HTMLElement {
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute DOMString alt;
|
2017-12-21 01:43:18 +03:00
|
|
|
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute DOMString src;
|
2017-12-21 01:43:18 +03:00
|
|
|
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
|
2014-03-20 01:18:24 +04:00
|
|
|
attribute DOMString srcset;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2014-09-06 06:42:33 +04:00
|
|
|
attribute DOMString? crossOrigin;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute DOMString useMap;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2015-12-01 03:13:03 +03:00
|
|
|
attribute DOMString referrerPolicy;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute boolean isMap;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute unsigned long width;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute unsigned long height;
|
|
|
|
readonly attribute unsigned long naturalWidth;
|
|
|
|
readonly attribute unsigned long naturalHeight;
|
|
|
|
readonly attribute boolean complete;
|
2013-01-10 19:49:07 +04:00
|
|
|
};
|
2012-12-31 22:48:55 +04:00
|
|
|
|
|
|
|
// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
|
|
|
|
partial interface HTMLImageElement {
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute DOMString name;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute DOMString align;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute unsigned long hspace;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute unsigned long vspace;
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2012-12-31 22:48:55 +04:00
|
|
|
attribute DOMString longDesc;
|
|
|
|
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, TreatNullAs=EmptyString,SetterThrows] attribute DOMString border;
|
2013-03-04 23:08:24 +04:00
|
|
|
};
|
2013-01-02 23:30:02 +04:00
|
|
|
|
2014-05-14 01:21:15 +04:00
|
|
|
// [Update me: not in whatwg spec yet]
|
|
|
|
// http://picture.responsiveimages.org/#the-img-element
|
|
|
|
partial interface HTMLImageElement {
|
2017-06-29 17:26:00 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2014-03-20 01:18:57 +04:00
|
|
|
attribute DOMString sizes;
|
2015-03-05 07:12:00 +03:00
|
|
|
readonly attribute DOMString currentSrc;
|
2014-05-14 01:21:15 +04:00
|
|
|
};
|
|
|
|
|
2013-06-02 19:38:25 +04:00
|
|
|
// Mozilla extensions.
|
|
|
|
partial interface HTMLImageElement {
|
2017-07-14 06:45:56 +03:00
|
|
|
[CEReactions, SetterThrows]
|
2013-06-02 19:38:25 +04:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2013-03-04 23:08:24 +04:00
|
|
|
[NoInterfaceObject]
|
|
|
|
interface MozImageLoadingContent {
|
2013-01-02 23:30:02 +04:00
|
|
|
// 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;
|
2018-01-19 22:19:39 +03:00
|
|
|
/**
|
|
|
|
* Same as addNativeObserver but intended for scripted observers or observers
|
|
|
|
* from another or without a document.
|
|
|
|
*/
|
2013-01-02 23:30:02 +04:00
|
|
|
[ChromeOnly]
|
|
|
|
void addObserver(imgINotificationObserver aObserver);
|
2018-01-19 22:19:39 +03:00
|
|
|
/**
|
|
|
|
* Same as removeNativeObserver but intended for scripted observers or
|
|
|
|
* observers from another or without a document.
|
|
|
|
*/
|
2013-01-02 23:30:02 +04:00
|
|
|
[ChromeOnly]
|
|
|
|
void removeObserver(imgINotificationObserver aObserver);
|
|
|
|
[ChromeOnly,Throws]
|
|
|
|
imgIRequest? getRequest(long aRequestType);
|
|
|
|
[ChromeOnly,Throws]
|
|
|
|
long getRequestType(imgIRequest aRequest);
|
|
|
|
[ChromeOnly,Throws]
|
|
|
|
readonly attribute URI? currentURI;
|
2017-11-14 13:20:03 +03:00
|
|
|
// Gets the final URI of the current request, if available.
|
|
|
|
// Otherwise, returns null.
|
|
|
|
[ChromeOnly]
|
|
|
|
readonly attribute URI? currentRequestFinalURI;
|
2018-01-19 22:19:39 +03:00
|
|
|
/**
|
|
|
|
* forceReload forces reloading of the image pointed to by currentURI
|
|
|
|
*
|
|
|
|
* @param aNotify request should notify
|
|
|
|
* @throws NS_ERROR_NOT_AVAILABLE if there is no current URI to reload
|
|
|
|
*/
|
2013-01-02 23:30:02 +04:00
|
|
|
[ChromeOnly,Throws]
|
2018-01-19 22:19:39 +03:00
|
|
|
void forceReload(optional boolean aNotify = true);
|
2013-01-02 23:30:02 +04:00
|
|
|
[ChromeOnly]
|
|
|
|
void forceImageState(boolean aForce, unsigned long long aState);
|
2012-12-31 22:48:55 +04:00
|
|
|
};
|
2013-03-04 23:08:24 +04:00
|
|
|
|
|
|
|
HTMLImageElement implements MozImageLoadingContent;
|