mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-08 17:19:13 +00:00
LibWeb: Only set selection focus if an associated DOM node was found
The relation from a paintable to a DOM node is not always set.
This commit is contained in:
parent
15e3db5932
commit
fd949ee3dd
Notes:
github-actions[bot]
2024-12-10 13:55:19 +00:00
Author: https://github.com/gmta
Commit: fd949ee3dd
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2844
3 changed files with 21 additions and 2 deletions
|
@ -596,9 +596,8 @@ EventResult EventHandler::handle_mousemove(CSSPixelPoint viewport_position, CSSP
|
|||
if (m_in_mouse_selection) {
|
||||
auto hit = paint_root()->hit_test(viewport_position, Painting::HitTestType::TextCursor);
|
||||
if (m_mouse_selection_target) {
|
||||
if (hit.has_value()) {
|
||||
if (hit.has_value() && hit->paintable->dom_node())
|
||||
m_mouse_selection_target->set_selection_focus(*hit->paintable->dom_node(), hit->index_in_node);
|
||||
}
|
||||
} else {
|
||||
if (start_index.has_value() && hit.has_value() && hit->dom_node()) {
|
||||
if (auto selection = document.get_selection()) {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
PASS (did not crash)
|
|
@ -0,0 +1,19 @@
|
|||
<script src="../include.js"></script>
|
||||
<style>
|
||||
div {
|
||||
font-size: 10px;
|
||||
}
|
||||
</style>
|
||||
<div contenteditable="true">a<br><br><div id="b">b</div></div>
|
||||
<script>
|
||||
test(() => {
|
||||
var bDiv = document.querySelector('div#b');
|
||||
var bBounds = bDiv.getBoundingClientRect();
|
||||
|
||||
// Drag a selection from inside the #b div to just above it.
|
||||
internals.mouseDown(bBounds.x + 2, bBounds.y + 5);
|
||||
internals.movePointerTo(bBounds.x + 2, bBounds.y - 5);
|
||||
|
||||
println('PASS (did not crash)');
|
||||
});
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue