WorkerDebugger_promise_debugger.js (999B)
1 "use strict"; 2 3 var self = this; 4 5 self.onmessage = function (event) { 6 if (event.data !== "resolve") { 7 return; 8 } 9 // This then-handler should be executed inside the top-level event loop, 10 // within the context of the debugger's global. 11 Promise.resolve().then(function () { 12 var dbg = new Debugger(global); 13 dbg.onDebuggerStatement = function () { 14 self.onmessage = function (e) { 15 if (e.data !== "resume") { 16 return; 17 } 18 // This then-handler should be executed inside the nested event loop, 19 // within the context of the debugger's global. 20 Promise.resolve().then(function () { 21 postMessage("resumed"); 22 leaveEventLoop(); 23 }); 24 }; 25 // Test bug 1392540 where DOM Promises from debugger principal 26 // where frozen while hitting a worker breakpoint. 27 Promise.resolve().then(() => { 28 postMessage("paused"); 29 }); 30 enterEventLoop(); 31 }; 32 postMessage("resolved"); 33 }); 34 };