LibWeb: Make Paintable ref-counted

This will allow us to use a protective NonnullRefPtr to keep paintables
alive while running arbitrary JavaScript in response to events.
This commit is contained in:
Andreas Kling 2022-03-10 22:38:08 +01:00
commit ed84fbce47
Notes: sideshowbarker 2024-07-17 17:34:43 +09:00
58 changed files with 94 additions and 75 deletions

View file

@ -4,13 +4,16 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/HTML/BrowsingContext.h>
#include <LibWeb/Layout/Label.h>
#include <LibWeb/Page/EventHandler.h>
#include <LibWeb/Painting/TextPaintable.h>
namespace Web::Painting {
NonnullOwnPtr<TextPaintable> TextPaintable::create(Layout::TextNode const& layout_node)
NonnullRefPtr<TextPaintable> TextPaintable::create(Layout::TextNode const& layout_node)
{
return adopt_own(*new TextPaintable(layout_node));
return adopt_ref(*new TextPaintable(layout_node));
}
TextPaintable::TextPaintable(Layout::TextNode const& layout_node)