mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:48:11 +00:00
LibWeb: Use associated navigable in scrollX and scrollY in Window
If these functions are invoked from inside an iframe, we should use the navigable associated with the iframe to get the viewport.
This commit is contained in:
parent
531025465a
commit
607e4cab0a
1 changed files with 6 additions and 2 deletions
|
@ -1217,7 +1217,9 @@ double Window::scroll_x() const
|
|||
{
|
||||
// The scrollX attribute must return the x-coordinate, relative to the initial containing block origin,
|
||||
// of the left of the viewport, or zero if there is no viewport.
|
||||
return page().top_level_traversable()->viewport_scroll_offset().x().to_double();
|
||||
if (auto const navigable = associated_document().navigable())
|
||||
return navigable->viewport_rect().x().to_double();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// https://w3c.github.io/csswg-drafts/cssom-view/#dom-window-scrolly
|
||||
|
@ -1225,7 +1227,9 @@ double Window::scroll_y() const
|
|||
{
|
||||
// The scrollY attribute must return the y-coordinate, relative to the initial containing block origin,
|
||||
// of the top of the viewport, or zero if there is no viewport.
|
||||
return page().top_level_traversable()->viewport_scroll_offset().y().to_double();
|
||||
if (auto const navigable = associated_document().navigable())
|
||||
return navigable->viewport_rect().y().to_double();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// https://w3c.github.io/csswg-drafts/cssom-view/#perform-a-scroll
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue