Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Proprietary / Non-Inteoperable IE APIs no longer in Microsoft Edge
interface AesGcmEncryptResult {
readonly attribute ArrayBuffer ciphertext;
readonly attribute ArrayBuffer tag;
interface BookmarkCollection {
readonly attribute long length;
any item(unsigned long index);
interface ControlRangeCollection {
readonly attribute long length;
void add(Element item);
void addElement(Element item);
boolean execCommand(DOMString cmdID, boolean showUI, any value);
Element item(unsigned long index);
boolean queryCommandEnabled(DOMString cmdID);
boolean queryCommandIndeterm(DOMString cmdID);
boolean queryCommandState(DOMString cmdID);
boolean queryCommandSupported(DOMString cmdID);
DOMString queryCommandText(DOMString cmdID);
any queryCommandValue(DOMString cmdID);
void remove(long index);
void scrollIntoView(any varargStart);
void select();
interface CryptoOperation {
readonly attribute Algorithm algorithm;
readonly attribute Key key;
attribute EventHandler onabort;
attribute EventHandler oncomplete;
attribute EventHandler onerror;
attribute EventHandler onprogress;
readonly attribute any result;
void abort();
void finish();
void process(ArrayBufferView buffer);
interface ErrorEventHandler {
void handleWindowError(Event event, DOMString source, long fileno, long columnNumber);
interface EventException {
const unsigned short DISPATCH_REQUEST_ERR = 1;
const unsigned short UNSPECIFIED_EVENT_TYPE_ERR = 0;
readonly attribute unsigned short code;
readonly attribute DOMString message;
readonly attribute DOMString name;
DOMString toString();
interface EventListener {
void handleEvent(Event evt);
interface FrameRequestCallback {
void sample(DOMHighResTimeStamp time);
interface HTMLBGSoundElement : HTMLElement {
attribute any balance;
attribute unsigned long loop;
attribute DOMString src;
attribute any volume;
interface HTMLDDElement : HTMLElement {
attribute boolean noWrap;
interface HTMLDTElement : HTMLElement {
attribute boolean noWrap;
interface HTMLIsIndexElement : HTMLElement {
attribute DOMString action;
readonly attribute HTMLFormElement form;
attribute DOMString prompt;
interface HTMLNextIdElement : HTMLElement {
attribute DOMString n;
interface Key {
readonly attribute Algorithm algorithm;
readonly attribute boolean extractable;
readonly attribute sequence<DOMString> keyUsage;
readonly attribute DOMString type;
interface KeyOperation {
attribute EventHandler oncomplete;
attribute EventHandler onerror;
readonly attribute any result;
interface KeyPair {
attribute Key privateKey;
attribute Key publicKey;
interface MSAppView {
readonly attribute unsigned long viewId;
void close();
void postMessage(any message, DOMString targetOrigin, any ports);
interface MSBehaviorUrnsCollection {
readonly attribute long length;
DOMString item(long index);
interface MSCSSProperties : CSSStyleDeclaration {
attribute DOMString accelerator;
attribute DOMString backgroundPositionX;
attribute DOMString backgroundPositionY;
attribute DOMString behavior;
attribute DOMString filter;
attribute DOMString imeMode;
attribute DOMString layoutFlow;
attribute DOMString layoutGrid;
attribute DOMString layoutGridChar;
attribute DOMString layoutGridLine;
attribute DOMString layoutGridMode;
attribute DOMString layoutGridType;
attribute DOMString lineBreak;
attribute DOMString msBlockProgression;
attribute DOMString msInterpolationMode;
attribute DOMString scrollbar3dLightColor;
attribute DOMString scrollbarArrowColor;
attribute DOMString scrollbarBaseColor;
attribute DOMString scrollbarDarkShadowColor;
attribute DOMString scrollbarFaceColor;
attribute DOMString scrollbarHighlightColor;
attribute DOMString scrollbarShadowColor;
attribute DOMString scrollbarTrackColor;
attribute DOMString styleFloat;
attribute DOMString textAutospace;
attribute DOMString textJustifyTrim;
attribute DOMString textKashida;
attribute DOMString textKashidaSpace;
attribute DOMString writingMode;
attribute DOMString zoom;
any getAttribute(DOMString attributeName, long flags);
boolean removeAttribute(DOMString attributeName, long flags);
void setAttribute(DOMString attributeName, any AttributeValue, long flags);
interface MSCSSRuleList {
readonly attribute long length;
CSSStyleRule item(unsigned long index);
interface MSCompatibleInfo {
readonly attribute DOMString userAgent;
readonly attribute DOMString version;
interface MSCompatibleInfoCollection {
readonly attribute unsigned long length;
MSCompatibleInfo item(unsigned long index);
interface MSCurrentStyleCSSProperties : MSCSSProperties {
readonly attribute DOMString blockDirection;
readonly attribute DOMString clipBottom;
readonly attribute DOMString clipLeft;
readonly attribute DOMString clipRight;
readonly attribute DOMString clipTop;
readonly attribute DOMString hasLayout;
interface MSEventObj {
readonly attribute DOMString actionURL;
attribute Boolean altKey;
attribute Boolean altLeft;
readonly attribute long behaviorCookie;
readonly attribute long behaviorPart;
attribute BookmarkCollection bookmarks;
attribute HTMLCollection boundElements;
attribute long button;
readonly attribute long buttonID;
attribute Boolean cancelBubble;
attribute long clientX;
attribute long clientY;
readonly attribute Boolean contentOverflow;
attribute Boolean ctrlKey;
attribute Boolean ctrlLeft;
attribute DOMString data;
attribute DOMString dataFld;
readonly attribute DataTransfer dataTransfer;
attribute Element fromElement;
attribute long keyCode;
readonly attribute DOMString nextPage;
attribute long offsetX;
attribute long offsetY;
attribute DOMString origin;
attribute DOMString propertyName;
attribute DOMString qualifier;
attribute long reason;
attribute object recordset;
attribute Boolean repeat;
attribute any returnValue;
attribute long screenX;
attribute long screenY;
attribute Boolean shiftKey;
attribute Boolean shiftLeft;
readonly attribute Window source;
attribute Element srcElement;
attribute object srcFilter;
attribute DOMString srcUrn;
attribute Element toElement;
attribute DOMString type;
attribute DOMString url;
readonly attribute long wheelDelta;
attribute long x;
attribute long y;
any getAttribute(DOMString strAttributeName, long lFlags);
boolean removeAttribute(DOMString strAttributeName, long lFlags);
void setAttribute(DOMString strAttributeName, any AttributeValue, long lFlags);
interface MSExecAtPriorityFunctionCallback {
any callback(any args);
interface MSLaunchUriCallback {
void callback();
interface MSMimeTypesCollection {
readonly attribute long length;
interface MSNamespaceInfo {
readonly attribute DOMString name;
attribute EventHandler onreadystatechange;
readonly attribute DOMString readyState;
readonly attribute DOMString urn;
void doImport(DOMString implementationUrl);
interface MSNamespaceInfoCollection {
readonly attribute long length;
object add(DOMString namespace, DOMString urn, any implementationUrl);
object item(any index);
interface MSPluginsCollection {
readonly attribute long length;
void refresh(boolean reload);
interface MSPointerEvent{
readonly attribute long pointerId;
readonly attribute double width;
readonly attribute double height;
readonly attribute float pressure;
readonly attribute long tiltX;
readonly attribute long tiltY;
readonly attribute long pointerType;
readonly attribute boolean isPrimary;
interface MSPopupWindow {
readonly attribute Document document;
readonly attribute boolean isOpen;
void hide();
void show(long x, long y, long w, long h, any element);
interface MSScriptHost {
interface MSSelection {
readonly attribute DOMString type;
readonly attribute DOMString typeDetail;
void clear();
TextRange createRange();
TextRangeCollection createRangeCollection();
void empty();
interface MSStyleCSSProperties : MSCSSProperties {
attribute long pixelBottom;
attribute long pixelHeight;
attribute long pixelLeft;
attribute long pixelRight;
attribute long pixelTop;
attribute long pixelWidth;
attribute float posBottom;
attribute float posHeight;
attribute float posLeft;
attribute float posRight;
attribute float posTop;
attribute float posWidth;
attribute boolean textDecorationBlink;
attribute boolean textDecorationLineThrough;
attribute boolean textDecorationNone;
attribute boolean textDecorationOverline;
attribute boolean textDecorationUnderline;
interface MSUnsafeFunctionCallback {
any callback();
interface MediaQueryListListener {
void handleChange(MediaQueryList mql);
interface MutationCallback {
void callback(sequence<MutationRecord> mutations, MutationObserver observer);
interface PositionCallback {
void handleEvent(Position position);
interface PositionErrorCallback {
void handleEvent(PositionError error);
interface RangeException {
const unsigned short BAD_BOUNDARYPOINTS_ERR = 1;
const unsigned short INVALID_NODE_TYPE_ERR = 2;
readonly attribute unsigned short code;
readonly attribute DOMString message;
readonly attribute DOMString name;
DOMString toString();
interface SVGException {
const unsigned short SVG_INVALID_VALUE_ERR = 1;
const unsigned short SVG_MATRIX_NOT_INVERTABLE = 2;
const unsigned short SVG_WRONG_TYPE_ERR = 0;
attribute unsigned short code;
readonly attribute DOMString message;
readonly attribute DOMString name;
DOMString toString();
interface TextRange {
readonly attribute long boundingHeight;
readonly attribute long boundingLeft;
readonly attribute long boundingTop;
readonly attribute long boundingWidth;
readonly attribute DOMString htmlText;
readonly attribute long offsetLeft;
readonly attribute long offsetTop;
attribute DOMString text;
void collapse(boolean start);
long compareEndPoints(DOMString how, TextRange sourceRange);
TextRange duplicate();
boolean execCommand(DOMString cmdID, boolean showUI, any value);
boolean execCommandShowHelp(DOMString cmdID);
boolean expand(DOMString Unit);
boolean findText(DOMString string, long count, long flags);
DOMString getBookmark();
ClientRect getBoundingClientRect();
ClientRectList getClientRects();
boolean inRange(TextRange range);
boolean isEqual(TextRange range);
long move(DOMString unit, long count);
long moveEnd(DOMString unit, long count);
long moveStart(DOMString unit, long count);
boolean moveToBookmark(DOMString bookmark);
void moveToElementText(Element element);
void moveToPoint(long x, long y);
Element parentElement();
void pasteHTML(DOMString html);
boolean queryCommandEnabled(DOMString cmdID);
boolean queryCommandIndeterm(DOMString cmdID);
boolean queryCommandState(DOMString cmdID);
boolean queryCommandSupported(DOMString cmdID);
DOMString queryCommandText(DOMString cmdID);
any queryCommandValue(DOMString cmdID);
void scrollIntoView(boolean fStart);
void select();
void setEndPoint(DOMString how, TextRange SourceRange);
interface TextRangeCollection {
readonly attribute long length;
TextRange item(unsigned long index);
interface XDomainRequest {
readonly attribute DOMString contentType;
attribute EventHandler onerror;
attribute EventHandler onload;
attribute EventHandler onprogress;
attribute EventHandler ontimeout;
readonly attribute DOMString responseText;
attribute long timeout;
void abort();
XDomainRequest create();
void open(DOMString method, DOMString url);
void send(any data);
Copy link

channy commented May 6, 2015

Great job!

Copy link

tetsuharuohzeki commented May 6, 2015

interface EventListener {
   void handleEvent(Event evt);


Will EventListener.handleEvent be removed really it?

It's specified in whatwg DOM living standard, W3C DOM4, and also DOM2.

(I confirmed it is worked on Project Spartan 0.11.10074.0 build. Does this means EventListener.handleEvent will be removed in near future build?)

Copy link

phistuck commented May 7, 2015

I second @saneyuki - I know this is being actively used by iScroll, for example.
Those rely on the handleEvent property of this (the iScroll constructor and prototype), introduced in -

Copy link

phistuck commented May 7, 2015

Also, please, make it clear whether the entire interface is removed, or only the mentioned attributes/methods/events.

Copy link

phistuck commented May 7, 2015

Why do you remove CSSStyleDeclaration.filter?

I guess this is an omission that later re-added as CSS filters are already implemented in a preview release.

Copy link

jacobrossi commented May 8, 2015

@phistuck @saneyuki looks like we did some work on callbacks like handleEvent that tripped up my differ. I'll get this updated.

Also, I think this was run without about:flags features enabled (where CSS Filters is atm). So yes, this property will come back with CSS Filters.

Copy link

Mouvedia commented Jun 12, 2016

@MSEdge You should add back background-position-x and background-position-y since they are part of the CSS Backgrounds and Borders Module Level 4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment