WebContent+LibWebView: Add dumping for session storage

This commit is contained in:
Sam Atkins 2026-06-11 12:48:26 +01:00
parent ecb6c90aeb
commit 9e4cd527aa
3 changed files with 13 additions and 0 deletions

View file

@ -1547,6 +1547,7 @@ void Application::initialize_actions()
m_debug_menu->add_action(Action::create("Dump CSS Errors"sv, ActionID::DumpCSSErrors, debug_request("dump-all-css-errors"sv)));
m_debug_menu->add_action(Action::create("Dump Cookies"sv, ActionID::DumpCookies, [this]() { m_cookie_jar->dump_cookies(); }));
m_debug_menu->add_action(Action::create("Dump Local Storage"sv, ActionID::DumpLocalStorage, debug_request("dump-local-storage"sv)));
m_debug_menu->add_action(Action::create("Dump Session Storage"sv, ActionID::DumpSessionStorage, debug_request("dump-session-storage"sv)));
m_debug_menu->add_action(Action::create("Dump WASM Stats"sv, ActionID::DumpWasmStats, debug_request("dump-wasm-stats"sv)));
m_debug_menu->add_action(Action::create("Dump GC graph"sv, ActionID::DumpGCGraph, [this]() {
if (auto view = active_web_view(); view.has_value()) {

View file

@ -102,6 +102,7 @@ enum class ActionID {
DumpCSSErrors,
DumpCookies,
DumpLocalStorage,
DumpSessionStorage,
DumpGCGraph,
DumpWasmStats,
ShowLineBoxBorders,

View file

@ -508,6 +508,17 @@ void ConnectionFromClient::debug_request(u64 page_id, ByteString request, ByteSt
return;
}
if (request == "dump-session-storage") {
if (auto* document = page->page().top_level_browsing_context().active_document()) {
auto storage_or_error = document->window()->session_storage();
if (storage_or_error.is_error())
dbgln("Failed to retrieve session storage: {}", storage_or_error.release_error());
else
storage_or_error.release_value()->dump();
}
return;
}
if (request == "navigator-compatibility-mode") {
Web::NavigatorCompatibilityMode compatibility_mode;
if (argument == "chrome") {