1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:37:34 +00:00

LibWeb: Handle WebContent process crashes gracefully :^)

The OOPWV will now detect WebContent process crashes/disconnections and
simply create a new WebContent process in its place. We also generate a
little error page with a link to the crashing URL so you can reload and
try again.

This a huge step forward for OOPWV since it now has a feature that IPWV
can never replicate. :^)
This commit is contained in:
Andreas Kling 2021-01-30 18:20:40 +01:00
parent 322936115e
commit f3e85e43c7
4 changed files with 80 additions and 35 deletions

View file

@ -81,18 +81,22 @@ private:
virtual void did_scroll() override;
void request_repaint();
void handle_resize();
void create_client();
WebContentClient& client();
URL m_url;
RefPtr<WebContentClient> m_client;
RefPtr<Gfx::Bitmap> m_front_bitmap;
RefPtr<Gfx::Bitmap> m_back_bitmap;
i32 m_front_bitmap_id { -1 };
i32 m_back_bitmap_id { -1 };
i32 m_next_bitmap_id { 0 };
bool m_has_usable_bitmap { false };
struct ClientState {
RefPtr<WebContentClient> client;
RefPtr<Gfx::Bitmap> front_bitmap;
RefPtr<Gfx::Bitmap> back_bitmap;
i32 front_bitmap_id { -1 };
i32 back_bitmap_id { -1 };
i32 next_bitmap_id { 0 };
bool has_usable_bitmap { false };
} m_client_state;
};
}