1. A method for recovering a process in an application, the method comprising: running, within an application executing at a computing device, a guest process, the guest process storing and processing untrusted content; running, within the application and in parallel with the guest process, an embedder process, the embedder process storing and processing trusted content and a guest process state, the guest process state comprising stored or displayed values and data of the guest process for re-loading the guest process; signaling for updating the guest process state in the embedder process based on asynchronous communication between the guest process and the embedder process controlled or triggered by a user input event corresponding to an event to be handled by the guest process; signaling for adding the event to be handled to a queue for processing by the guest process, the queue comprising multiple events to be handled by the guest process; signaling for receiving, at the embedder process, an indication of an execution failure of the guest process; signaling for recovering the guest process after the execution failure based on the guest process state stored by the embedder process; signaling for handling, by the embedder process, the event added to the queue until the guest process is recovered; and if the guest process has become operational after the indication of the execution failure of the guest process, then signaling for handling, by the guest process, unprocessed events in the queue.