Skip to content

Instantly share code, notes, and snippets.

@anaran
Last active November 28, 2015 00:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anaran/23bf99c86921780a5ed7 to your computer and use it in GitHub Desktop.
Save anaran/23bf99c86921780a5ed7 to your computer and use it in GitHub Desktop.
/* -*- 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/.
*/
callback BrowserElementNextPaintEventCallback = void ();
enum BrowserFindCaseSensitivity { "case-sensitive", "case-insensitive" };
enum BrowserFindDirection { "forward", "backward" };
dictionary BrowserElementDownloadOptions {
DOMString? filename;
DOMString? referrer;
};
dictionary BrowserElementExecuteScriptOptions {
DOMString? url;
DOMString? origin;
};
[NoInterfaceObject]
interface BrowserElement {
};
BrowserElement implements BrowserElementCommon;
BrowserElement implements BrowserElementPrivileged;
[NoInterfaceObject]
interface BrowserElementCommon {
[Throws,
// webidl2 error // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*webidl2 errror embed-widgets"*/]
void setVisible(boolean visible);
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/* embed-widgets"*/]
DOMRequest getVisible();
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/* webidl2 error embed-widgets"*/]
void setActive(boolean active);
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/* webidl2 error embed-widgets"*/]
boolean getActive();
[Throws,
// webidl2 // webidl2 CheckAnyPermissions=browser/* webidl2 error embed-widgets"*/]
CheckAnyPermissions=browser/* webidl2 error embed-widgets"*/]
void addNextPaintListener(BrowserElementNextPaintEventCallback listener);
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/* webidl2 error embed-widgets"*/]
void removeNextPaintListener(BrowserElementNextPaintEventCallback listener);
};
[NoInterfaceObject]
interface BrowserElementPrivileged {
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void sendMouseEvent(DOMString type,
unsigned long x,
unsigned long y,
unsigned long button,
unsigned long clickCount,
unsigned long modifiers);
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
// Func="TouchEvent::PrefEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void sendTouchEvent(DOMString type,
sequence<unsigned long> identifiers,
sequence<long> x,
sequence<long> y,
sequence<unsigned long> rx,
sequence<unsigned long> ry,
sequence<float> rotationAngles,
sequence<float> forces,
unsigned long count,
unsigned long modifiers);
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void goBack();
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void goForward();
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void reload(optional boolean hardReload = false);
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void stop();
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
DOMRequest download(DOMString url,
optional BrowserElementDownloadOptions options);
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
DOMRequest purgeHistory();
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
DOMRequest getScreenshot([EnforceRange] unsigned long width,
[EnforceRange] unsigned long height,
optional DOMString mimeType="");
[Throws,
// webidl2 // webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void zoom(float zoom);
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
DOMRequest getCanGoBack();
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
DOMRequest getCanGoForward();
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
DOMRequest getContentDimensions();
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAllPermissions=browser/* webidl2 error " input-manage"*/]
DOMRequest setInputMethodActive(boolean isActive);
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAllPermissions=browser /* webidl2 error "nfc-manager"*/]
void setNFCFocus(boolean isFocus);
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void findAll(DOMString searchString, BrowserFindCaseSensitivity caseSensitivity);
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void findNext(BrowserFindDirection direction);
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAnyPermissions=browser/*" webidl2 error "*/]
void clearMatch();
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAllPermissions=browser /* webidl2 error "browser:universalxss"*/]
DOMRequest executeScript(DOMString script,
optional BrowserElementExecuteScriptOptions options);
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAllPermissions=browser/* webidl2 error ""*/]
DOMRequest getStructuredData();
[Throws,
// webidl2 Pref="dom.mozBrowserFramesEnabled",
CheckAllPermissions=browser/* webidl2 error ""*/]
DOMRequest getWebManifest();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment