mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-11 02:13:56 +09:00
LibWeb: Pass link target to HtmlView's on_link_click callback
This commit is contained in:
parent
95b51e857d
commit
061205b3b3
Notes:
sideshowbarker
2024-07-19 07:20:47 +09:00
Author: https://github.com/linusg
Commit: 061205b3b3
Pull-request: https://github.com/SerenityOS/serenity/pull/1939
5 changed files with 5 additions and 4 deletions
|
@ -133,7 +133,7 @@ Tab::Tab()
|
|||
update_bookmark_button(url.to_string());
|
||||
};
|
||||
|
||||
m_html_widget->on_link_click = [this](auto& url) {
|
||||
m_html_widget->on_link_click = [this](auto& url, auto&) {
|
||||
if (url.starts_with("#")) {
|
||||
m_html_widget->scroll_to_anchor(url.substring_view(1, url.length() - 1));
|
||||
} else {
|
||||
|
|
|
@ -151,7 +151,7 @@ int main(int argc, char* argv[])
|
|||
open_page(path);
|
||||
};
|
||||
|
||||
html_view.on_link_click = [&](const String& href) {
|
||||
html_view.on_link_click = [&](const String& href, auto&) {
|
||||
char* current_path = strdup(history.current().characters());
|
||||
char* dir_path = dirname(current_path);
|
||||
char* path = realpath(String::format("%s/%s", dir_path, href.characters()).characters(), nullptr);
|
||||
|
|
|
@ -36,6 +36,7 @@ public:
|
|||
virtual ~HTMLAnchorElement() override;
|
||||
|
||||
String href() const { return attribute("href"); }
|
||||
String target() const { return attribute("target"); }
|
||||
};
|
||||
|
||||
template<>
|
||||
|
|
|
@ -238,7 +238,7 @@ void HtmlView::mousedown_event(GUI::MouseEvent& event)
|
|||
run_javascript_url(link->href());
|
||||
} else {
|
||||
if (on_link_click)
|
||||
on_link_click(link->href());
|
||||
on_link_click(link->href(), link->target());
|
||||
}
|
||||
} else {
|
||||
if (event.button() == GUI::MouseButton::Left) {
|
||||
|
|
|
@ -57,7 +57,7 @@ public:
|
|||
|
||||
void set_should_show_line_box_borders(bool value) { m_should_show_line_box_borders = value; }
|
||||
|
||||
Function<void(const String&)> on_link_click;
|
||||
Function<void(const String& href, const String& target)> on_link_click;
|
||||
Function<void(const String&)> on_link_hover;
|
||||
Function<void(const String&)> on_title_change;
|
||||
Function<void(const URL&)> on_load_start;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue