forked from mirrors/gecko-dev
		
	 8558f8dcb0
			
		
	
	
		8558f8dcb0
		
	
	
	
	
		
			
			MozReview-Commit-ID: JsA0Y943egB --HG-- extra : rebase_source : 1087aa8a1b56330bdb1b5ed32ebeeb3b2bb1defb
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			1,007 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1,007 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| var self = this;
 | |
| 
 | |
| self.onmessage = function (event) {
 | |
|   if (event.data !== "resolve") {
 | |
|     return;
 | |
|   }
 | |
|   // This then-handler should be executed inside the top-level event loop,
 | |
|   // within the context of the debugger's global.
 | |
|   Promise.resolve().then(function () {
 | |
|     var dbg = new Debugger(global);
 | |
|     dbg.onDebuggerStatement = function () {
 | |
|       self.onmessage = function (event) {
 | |
|         if (event.data !== "resume") {
 | |
|           return;
 | |
|         }
 | |
|         // This then-handler should be executed inside the nested event loop,
 | |
|         // within the context of the debugger's global.
 | |
|         Promise.resolve().then(function () {
 | |
|           postMessage("resumed");
 | |
|           leaveEventLoop();
 | |
|         });
 | |
|       };
 | |
|       // Test bug 1392540 where DOM Promises from debugger principal
 | |
|       // where frozen while hitting a worker breakpoint.
 | |
|       Promise.resolve().then(() => {
 | |
|         postMessage("paused");
 | |
|       });
 | |
|       enterEventLoop();
 | |
|     };
 | |
|     postMessage("resolved");
 | |
|   });
 | |
| };
 |