diff --git a/Services/WebContent/ConnectionFromClient.cpp b/Services/WebContent/ConnectionFromClient.cpp index 24468a15ab4..66a2135e656 100644 --- a/Services/WebContent/ConnectionFromClient.cpp +++ b/Services/WebContent/ConnectionFromClient.cpp @@ -253,6 +253,14 @@ void ConnectionFromClient::debug_request(u64 page_id, ByteString request, ByteSt Web::dump_tree(*traversable); } + if (request == "dump-display-list") { + if (auto* doc = page->page().top_level_browsing_context().active_document()) { + auto display_list_dump = doc->dump_display_list(); + dbgln("{}", display_list_dump); + } + return; + } + if (request == "dump-dom-tree") { if (auto* doc = page->page().top_level_browsing_context().active_document()) Web::dump_tree(*doc); diff --git a/UI/AppKit/Application/ApplicationDelegate.mm b/UI/AppKit/Application/ApplicationDelegate.mm index e0a9c5b219d..d6b2e4163ac 100644 --- a/UI/AppKit/Application/ApplicationDelegate.mm +++ b/UI/AppKit/Application/ApplicationDelegate.mm @@ -640,6 +640,9 @@ [submenu addItem:[[NSMenuItem alloc] initWithTitle:@"Dump Stacking Context Tree" action:@selector(dumpStackingContextTree:) keyEquivalent:@""]]; + [submenu addItem:[[NSMenuItem alloc] initWithTitle:@"Dump Display List" + action:@selector(dumpDisplayList:) + keyEquivalent:@""]]; [submenu addItem:[[NSMenuItem alloc] initWithTitle:@"Dump Style Sheets" action:@selector(dumpStyleSheets:) keyEquivalent:@""]]; diff --git a/UI/AppKit/Interface/TabController.mm b/UI/AppKit/Interface/TabController.mm index fce0b37330b..836921562cd 100644 --- a/UI/AppKit/Interface/TabController.mm +++ b/UI/AppKit/Interface/TabController.mm @@ -346,6 +346,11 @@ static NSString* const TOOLBAR_TAB_OVERVIEW_IDENTIFIER = @"ToolbarTabOverviewIde [self debugRequest:"dump-dom-tree" argument:""]; } +- (void)dumpDisplayList:(id)sender +{ + [self debugRequest:"dump-display-list" argument:""]; +} + - (void)dumpLayoutTree:(id)sender { [self debugRequest:"dump-layout-tree" argument:""]; diff --git a/UI/Qt/BrowserWindow.cpp b/UI/Qt/BrowserWindow.cpp index c4a84aa1fae..f84496af5de 100644 --- a/UI/Qt/BrowserWindow.cpp +++ b/UI/Qt/BrowserWindow.cpp @@ -402,6 +402,13 @@ BrowserWindow::BrowserWindow(Vector const& initial_urls, IsPopupWindow debug_request("dump-stacking-context-tree"); }); + auto* dump_display_list = new QAction("Dump Display List", this); + dump_display_list->setIcon(load_icon_from_uri("resource://icons/16x16/layout.png"sv)); + debug_menu->addAction(dump_display_list); + QObject::connect(dump_display_list, &QAction::triggered, this, [this] { + debug_request("dump-display-list"); + }); + auto* dump_style_sheets_action = new QAction("Dump &Style Sheets", this); dump_style_sheets_action->setIcon(load_icon_from_uri("resource://icons/16x16/filetype-css.png"sv)); debug_menu->addAction(dump_style_sheets_action);