I noticed a call to ```Inspector.disconnect()``` may never do anything if the socket === undefined or it's readyState != "OPEN" if it waits for the promise to be resolved or rejected.  Could the Inspector's call to ```window.close()``` prior to calling ```Inspector.disconnect()``` in ```_doInspectorDisconnect()```be forcing Chrome to change the debug socket's state prematurely?