1. Create a custom V8 binding that executes another V8 function using the frame context. 2. Call that V8 binding from the body onunload event. In some cases V8Proxy::retrieveFrameForCallingContext() will return 0 causing the following code in retrieveFrameForCallingContext() to crash: DOMWindow* source = V8Proxy::retrieveFrameForCallingContext()->domWindow(); The 0 result is caused by the "frame->domWindow() == window" check failing in V8Proxy::retrieveFrame() likely due to the context already being detached from the frame.