/* * Copyright (c) 2024, Aliaksandr Kalenik * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace Web::Painting { ScrollFrame::ScrollFrame(PaintableBox const& paintable_box, size_t id, bool sticky, RefPtr parent) : m_paintable_box(paintable_box) , m_id(id) , m_sticky(sticky) , m_parent(move(parent)) { } RefPtr ScrollFrame::nearest_scrolling_ancestor() const { for (auto ancestor = m_parent; ancestor; ancestor = ancestor->parent()) { if (!ancestor->is_sticky()) return ancestor; } return nullptr; } }