mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-20 23:19:44 +00:00
LibWebView+UI: Generate the application debug menu
By migrating the debug menu to LibWebView, the AppKit and Qt UIs are now in sync - the AppKit UI was previously missing some actions. Further, this inadvertently fixes bugs around applying debug settings to new web views, especially across site-isolated processes. We were previously not applying settings appropriately; this now "just works" in the LibWebView infra.
This commit is contained in:
parent
5d8d9b337a
commit
9c99c48f47
Notes:
github-actions[bot]
2025-09-11 18:25:07 +00:00
Author: https://github.com/trflynn89
Commit: 9c99c48f47
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6062
15 changed files with 212 additions and 632 deletions
|
@ -149,6 +149,44 @@ static void initialize_native_control(WebView::Action& action, QAction& qaction,
|
|||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/audio-volume-high.png"sv));
|
||||
break;
|
||||
|
||||
case WebView::ActionID::DumpSessionHistoryTree:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/history.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::DumpDOMTree:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/browser/dom-tree.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::DumpLayoutTree:
|
||||
case WebView::ActionID::DumpPaintTree:
|
||||
case WebView::ActionID::DumpDisplayList:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/layout.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::DumpStackingContextTree:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/layers.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::DumpStyleSheets:
|
||||
case WebView::ActionID::DumpStyles:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/filetype-css.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::DumpCSSErrors:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/error.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::DumpCookies:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/browser/cookie.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::DumpLocalStorage:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/browser/local-storage.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::ShowLineBoxBorders:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/box.png"sv));
|
||||
break;
|
||||
case WebView::ActionID::CollectGarbage:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/16x16/trash-can.png"sv));
|
||||
qaction.setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_G));
|
||||
break;
|
||||
case WebView::ActionID::ClearCache:
|
||||
qaction.setIcon(load_icon_from_uri("resource://icons/browser/clear-cache.png"sv));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -166,6 +204,11 @@ static void add_items_to_menu(QMenu& menu, QWidget& parent, Span<WebView::Menu::
|
|||
[&](NonnullRefPtr<WebView::Action>& action) {
|
||||
auto* qaction = create_application_action(parent, action);
|
||||
menu.addAction(qaction);
|
||||
|
||||
if (action->id() == WebView::ActionID::SpoofUserAgent || action->id() == WebView::ActionID::NavigatorCompatibilityMode) {
|
||||
if (menu.icon().isNull())
|
||||
menu.setIcon(load_icon_from_uri("resource://icons/16x16/spoof.png"sv));
|
||||
}
|
||||
},
|
||||
[&](NonnullRefPtr<WebView::Menu> const& submenu) {
|
||||
auto* qsubmenu = new QMenu(qstring_from_ak_string(submenu->title()), &menu);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue