LibWebView+UI: Remove history traversal WebView callbacks
Some checks are pending
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
CI / Lagom (false, FUZZ, ubuntu-22.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, macOS, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-22.04, Linux, Linux-x86_64) (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-22.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-22.04, Linux, Clang) (push) Waiting to run

We can handle these entirely within LibWebView.
This commit is contained in:
Timothy Flynn 2024-09-22 13:29:27 -04:00 committed by Tim Flynn
parent 9e21e44841
commit 76662d2f01
Notes: github-actions[bot] 2024-09-22 18:12:13 +00:00
5 changed files with 10 additions and 58 deletions

View file

@ -554,30 +554,6 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_
[self updateViewportRect:Ladybird::WebViewBridge::ForResize::Yes];
};
m_web_view_bridge->on_navigate_back = [weak_self]() {
LadybirdWebView* self = weak_self;
if (self == nil) {
return;
}
[self navigateBack];
};
m_web_view_bridge->on_navigate_forward = [weak_self]() {
LadybirdWebView* self = weak_self;
if (self == nil) {
return;
}
[self navigateForward];
};
m_web_view_bridge->on_refresh = [weak_self]() {
LadybirdWebView* self = weak_self;
if (self == nil) {
return;
}
[self reload];
};
m_web_view_bridge->on_request_tooltip_override = [weak_self](auto, auto const& tooltip) {
LadybirdWebView* self = weak_self;
if (self == nil) {

View file

@ -330,18 +330,6 @@ Tab::Tab(BrowserWindow* window, RefPtr<WebView::WebContentClient> parent_client,
view().request_style_sheet_source(identifier);
};
view().on_navigate_back = [this]() {
back();
};
view().on_navigate_forward = [this]() {
forward();
};
view().on_refresh = [this]() {
reload();
};
view().on_restore_window = [this]() {
m_window->showNormal();
};

View file

@ -431,13 +431,10 @@ void WebContentView::mouseReleaseEvent(QMouseEvent* event)
{
enqueue_native_event(Web::MouseEvent::Type::MouseUp, *event);
if (event->button() == Qt::MouseButton::BackButton) {
if (on_navigate_back)
on_navigate_back();
} else if (event->button() == Qt::MouseButton::ForwardButton) {
if (on_navigate_forward)
on_navigate_forward();
}
if (event->button() == Qt::MouseButton::BackButton)
traverse_the_history_by_delta(-1);
else if (event->button() == Qt::MouseButton::ForwardButton)
traverse_the_history_by_delta(1);
}
void WebContentView::wheelEvent(QWheelEvent* event)

View file

@ -171,9 +171,6 @@ public:
Function<void(URL::URL const&, bool)> on_load_start;
Function<void(URL::URL const&)> on_load_finish;
Function<void(ByteString const& path, i32)> on_request_file;
Function<void()> on_navigate_back;
Function<void()> on_navigate_forward;
Function<void()> on_refresh;
Function<void(Gfx::Bitmap const&)> on_favicon_change;
Function<void(Gfx::StandardCursor)> on_cursor_change;
Function<void(Gfx::IntPoint, ByteString const&)> on_request_tooltip_override;

View file

@ -102,26 +102,20 @@ void WebContentClient::did_find_in_page(u64 page_id, size_t current_match_index,
void WebContentClient::did_request_navigate_back(u64 page_id)
{
if (auto view = view_for_page_id(page_id); view.has_value()) {
if (view->on_navigate_back)
view->on_navigate_back();
}
if (auto view = view_for_page_id(page_id); view.has_value())
view->traverse_the_history_by_delta(-1);
}
void WebContentClient::did_request_navigate_forward(u64 page_id)
{
if (auto view = view_for_page_id(page_id); view.has_value()) {
if (view->on_navigate_forward)
view->on_navigate_forward();
}
if (auto view = view_for_page_id(page_id); view.has_value())
view->traverse_the_history_by_delta(1);
}
void WebContentClient::did_request_refresh(u64 page_id)
{
if (auto view = view_for_page_id(page_id); view.has_value()) {
if (view->on_refresh)
view->on_refresh();
}
if (auto view = view_for_page_id(page_id); view.has_value())
view->reload();
}
void WebContentClient::did_request_cursor_change(u64 page_id, i32 cursor_type)