#include "nsISupports.idl" interface mozIDOMWindow; interface nsIPrincipal; [scriptable, uuid(9cf3b48e-361d-486a-8917-55cf8d00bb41)] interface nsIWorkerDebuggerListener : nsISupports { void onClose(); void onError(in DOMString filename, in unsigned long lineno, in DOMString message); void onMessage(in DOMString message); }; [scriptable, builtinclass, uuid(22f93aa3-8a05-46be-87e0-fa93bf8a8eff)] interface nsIWorkerDebugger : nsISupports { const unsigned long TYPE_DEDICATED = 0; const unsigned long TYPE_SHARED = 1; const unsigned long TYPE_SERVICE = 2; readonly attribute bool isClosed; readonly attribute bool isChrome; readonly attribute bool isInitialized; readonly attribute nsIWorkerDebugger parent; readonly attribute unsigned long type; readonly attribute DOMString url; readonly attribute mozIDOMWindow window; readonly attribute nsIPrincipal principal; readonly attribute unsigned long serviceWorkerID; [implicit_jscontext] void initialize(in DOMString url); [implicit_jscontext, binaryname(PostMessageMoz)] void postMessage(in DOMString message); void addListener(in nsIWorkerDebuggerListener listener); void removeListener(in nsIWorkerDebuggerListener listener); };