mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-28 23:39:02 +00:00
LibHTML+Browser: Show target URL of hovered links in Browser statusbar
HtmlView will now invoke the on_link_hover hook when the cursor enters or leaves a DOM node that has an enclosing link element. This patch also updates the meaning of Node::enclosing_link_element() to find the nearest HTMLAnchorElementAncestor *with an href attribute*.
This commit is contained in:
parent
73af2f8d02
commit
884ae80699
Notes:
sideshowbarker
2024-07-19 11:37:36 +09:00
Author: https://github.com/awesomekling
Commit: 884ae80699
6 changed files with 31 additions and 4 deletions
|
@ -21,7 +21,11 @@ Node::~Node()
|
|||
|
||||
const HTMLAnchorElement* Node::enclosing_link_element() const
|
||||
{
|
||||
return first_ancestor_of_type<HTMLAnchorElement>();
|
||||
for (auto* node = this; node; node = node->parent()) {
|
||||
if (is<HTMLAnchorElement>(*node) && to<HTMLAnchorElement>(*node).has_attribute("href"))
|
||||
return to<HTMLAnchorElement>(node);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const HTMLElement* Node::enclosing_html_element() const
|
||||
|
@ -76,3 +80,11 @@ void Node::invalidate_style()
|
|||
});
|
||||
document().schedule_style_update();
|
||||
}
|
||||
|
||||
bool Node::is_link() const
|
||||
{
|
||||
auto* enclosing_link = enclosing_link_element();
|
||||
if (!enclosing_link)
|
||||
return false;
|
||||
return enclosing_link->has_attribute("href");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue