// ----------------------------------------------------------------------------- // DOM // ----------------------------------------------------------------------------- [Exposed=(Window,Worker)] interface EventTarget { void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false); void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false); boolean dispatchEvent(Event event); }; callback interface EventListener { void handleEvent(Event event); }; // ----------------------------------------------------------------------------- // HTML // ----------------------------------------------------------------------------- [TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event); typedef EventHandlerNonNull? EventHandler; [TreatNonCallableAsNull] callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long column, optional any error); typedef OnErrorEventHandlerNonNull? OnErrorEventHandler; [Exposed=Worker] interface WorkerGlobalScope : EventTarget { readonly attribute WorkerGlobalScope self; readonly attribute WorkerLocation location; void close(); attribute OnErrorEventHandler onerror; attribute EventHandler onlanguagechange; attribute EventHandler onoffline; attribute EventHandler ononline; }; [Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker] /*sealed*/ interface DedicatedWorkerGlobalScope : WorkerGlobalScope { void postMessage(any message, optional sequence transfer); attribute EventHandler onmessage; }; //[Exposed=Worker] partial interface WorkerGlobalScope { // not obsolete void importScripts(DOMString... urls); readonly attribute WorkerNavigator navigator; }; WorkerGlobalScope implements WindowTimers; WorkerGlobalScope implements WindowBase64; [NoInterfaceObject, Exposed=(Window,Worker)] interface WindowTimers { long setTimeout(Function handler, optional long timeout = 0, any... arguments); long setTimeout(DOMString handler, optional long timeout = 0, any... arguments); void clearTimeout(optional long handle = 0); long setInterval(Function handler, optional long timeout = 0, any... arguments); long setInterval(DOMString handler, optional long timeout = 0, any... arguments); void clearInterval(optional long handle = 0); }; [NoInterfaceObject, Exposed=(Window,Worker)] interface WindowBase64 { DOMString btoa(DOMString btoa); DOMString atob(DOMString atob); }; [Exposed=Worker] interface WorkerNavigator {}; WorkerNavigator implements NavigatorID; WorkerNavigator implements NavigatorLanguage; WorkerNavigator implements NavigatorOnLine; [NoInterfaceObject, Exposed=(Window,Worker)] interface NavigatorID { readonly attribute DOMString appCodeName; // constant "Mozilla" readonly attribute DOMString appName; readonly attribute DOMString appVersion; readonly attribute DOMString platform; readonly attribute DOMString product; // constant "Gecko" readonly attribute DOMString userAgent; }; [NoInterfaceObject, Exposed=(Window,Worker)] interface NavigatorLanguage { readonly attribute DOMString? language; readonly attribute DOMString[] languages; }; [NoInterfaceObject, Exposed=(Window,Worker)] interface NavigatorOnLine { readonly attribute boolean onLine; }; [Exposed=Worker] interface WorkerLocation { stringifier readonly attribute USVString href; readonly attribute USVString origin; readonly attribute USVString protocol; readonly attribute USVString host; readonly attribute USVString hostname; readonly attribute USVString port; readonly attribute USVString pathname; readonly attribute USVString search; readonly attribute USVString hash; };