1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
/* -*- 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 nsIStreamListener;
[LegacyFactoryFunction=Image(optional unsigned long width, optional unsigned long height),
Exposed=Window]
interface HTMLImageElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, SetterThrows]
attribute DOMString alt;
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
attribute DOMString src;
[CEReactions, SetterNeedsSubjectPrincipal=NonSystem, SetterThrows]
attribute DOMString srcset;
[CEReactions, SetterThrows]
attribute DOMString? crossOrigin;
[CEReactions, SetterThrows]
attribute DOMString useMap;
[CEReactions, SetterThrows]
attribute DOMString referrerPolicy;
[CEReactions, SetterThrows]
attribute boolean isMap;
[CEReactions, SetterThrows]
attribute unsigned long width;
[CEReactions, SetterThrows]
attribute unsigned long height;
[CEReactions, SetterThrows]
attribute DOMString decoding;
[CEReactions, SetterThrows]
attribute DOMString loading;
[Pref="network.fetchpriority.enabled", CEReactions]
attribute DOMString fetchPriority;
readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight;
readonly attribute boolean complete;
[NewObject]
Promise<undefined> decode();
[NewObject, ChromeOnly]
Promise<sequence<ImageText>> recognizeCurrentImageText();
};
// http://www.whatwg.org/specs/web-apps/current-work/#other-elements,-attributes-and-apis
partial interface HTMLImageElement {
[CEReactions, SetterThrows]
attribute DOMString name;
[CEReactions, SetterThrows]
attribute DOMString align;
[CEReactions, SetterThrows]
attribute unsigned long hspace;
[CEReactions, SetterThrows]
attribute unsigned long vspace;
[CEReactions, SetterThrows]
attribute DOMString longDesc;
[CEReactions, SetterThrows] attribute [LegacyNullToEmptyString] DOMString border;
};
// [Update me: not in whatwg spec yet]
// http://picture.responsiveimages.org/#the-img-element
partial interface HTMLImageElement {
[CEReactions, SetterThrows]
attribute DOMString sizes;
readonly attribute DOMString currentSrc;
};
// Mozilla extensions.
partial interface HTMLImageElement {
[CEReactions, SetterThrows]
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;
};
interface mixin 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;
/**
* Same as addNativeObserver but intended for scripted observers or observers
* from another or without a document.
*/
[ChromeOnly]
undefined addObserver(imgINotificationObserver aObserver);
/**
* Same as removeNativeObserver but intended for scripted observers or
* observers from another or without a document.
*/
[ChromeOnly]
undefined removeObserver(imgINotificationObserver aObserver);
[ChromeOnly,Throws]
imgIRequest? getRequest(long aRequestType);
[ChromeOnly,Throws]
long getRequestType(imgIRequest aRequest);
[ChromeOnly]
readonly attribute URI? currentURI;
// Gets the final URI of the current request, if available.
// Otherwise, returns null.
[ChromeOnly]
readonly attribute URI? currentRequestFinalURI;
/**
* 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
*/
[ChromeOnly,Throws]
undefined forceReload(optional boolean aNotify = true);
};
HTMLImageElement includes MozImageLoadingContent;
|