forked from mirrors/gecko-dev
		
	Differential Revision: https://phabricator.services.mozilla.com/D59638 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			67 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#include "nsISupports.idl"
 | 
						|
 | 
						|
interface mozIDOMWindow;
 | 
						|
interface nsIPrincipal;
 | 
						|
 | 
						|
[scriptable, uuid(9cf3b48e-361d-486a-8917-55cf8d00bb41)]
 | 
						|
interface nsIWorkerDebuggerListener : nsISupports
 | 
						|
{
 | 
						|
  void onClose();
 | 
						|
 | 
						|
  void onError(in AString filename, in unsigned long lineno,
 | 
						|
               in AString message);
 | 
						|
 | 
						|
  void onMessage(in AString 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 AString url;
 | 
						|
 | 
						|
  // If this is a dedicated worker, the window this worker or (in the case of
 | 
						|
  // nested workers) its top-level ancestral worker is associated with.
 | 
						|
  readonly attribute mozIDOMWindow window;
 | 
						|
 | 
						|
  readonly attribute nsIPrincipal principal;
 | 
						|
 | 
						|
  readonly attribute unsigned long serviceWorkerID;
 | 
						|
 | 
						|
  readonly attribute AString id;
 | 
						|
 | 
						|
  void initialize(in AString url);
 | 
						|
 | 
						|
  [binaryname(PostMessageMoz)]
 | 
						|
  void postMessage(in AString message);
 | 
						|
 | 
						|
  void addListener(in nsIWorkerDebuggerListener listener);
 | 
						|
 | 
						|
  void removeListener(in nsIWorkerDebuggerListener listener);
 | 
						|
 | 
						|
  // Indicate whether the debugger has finished initializing. By default the
 | 
						|
  // debugger will be considered initialized when the onRegister hooks in all
 | 
						|
  // nsIWorkerDebuggerManagerListener have been called.
 | 
						|
  //
 | 
						|
  // setDebuggerReady(false) can be called during an onRegister hook to mark
 | 
						|
  // the debugger as not being ready yet. This will prevent all content from
 | 
						|
  // running in the worker, including the worker's main script and any messages
 | 
						|
  // posted to it. Other runnables will still execute in the worker as normal.
 | 
						|
  //
 | 
						|
  // When the debugger is ready, setDebuggerReady(true) should then be called
 | 
						|
  // to allow the worker to begin executing content.
 | 
						|
  void setDebuggerReady(in boolean ready);
 | 
						|
};
 |