From d1abd11b7897c215e1de6c8997bc98cb086e89f8 Mon Sep 17 00:00:00 2001 From: Jelle Raaijmakers Date: Thu, 17 Jul 2025 23:45:04 +0200 Subject: [PATCH] WebContent: Do not crash on dumping unavailable localStorage Be a bit more defensive about this so we don't crash when trying to dump unavailable local storage, such as on about:newtab. --- Services/WebContent/ConnectionFromClient.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Services/WebContent/ConnectionFromClient.cpp b/Services/WebContent/ConnectionFromClient.cpp index fa1e3224794..d88d5f6f998 100644 --- a/Services/WebContent/ConnectionFromClient.cpp +++ b/Services/WebContent/ConnectionFromClient.cpp @@ -251,6 +251,7 @@ void ConnectionFromClient::debug_request(u64 page_id, ByteString request, ByteSt if (request == "dump-session-history") { auto const& traversable = page->page().top_level_traversable(); Web::dump_tree(*traversable); + return; } if (request == "dump-display-list") { @@ -393,8 +394,13 @@ void ConnectionFromClient::debug_request(u64 page_id, ByteString request, ByteSt } if (request == "dump-local-storage") { - if (auto* document = page->page().top_level_browsing_context().active_document()) - document->window()->local_storage().release_value_but_fixme_should_propagate_errors()->dump(); + if (auto* document = page->page().top_level_browsing_context().active_document()) { + auto storage_or_error = document->window()->local_storage(); + if (storage_or_error.is_error()) + dbgln("Failed to retrieve local storage: {}", storage_or_error.release_error()); + else + storage_or_error.release_value()->dump(); + } return; }