LibWeb+WebContent: Virtualize PageClient methods needed for all clients

This commit is contained in:
Timothy Flynn 2022-11-21 15:22:26 -05:00 committed by Linus Groh
parent 1f08cb7020
commit c917a59abe
Notes: sideshowbarker 2024-07-17 04:11:13 +09:00
3 changed files with 9 additions and 6 deletions

View file

@ -133,10 +133,13 @@ private:
class PageClient {
public:
virtual Page& page() = 0;
virtual Page const& page() const = 0;
virtual bool is_connection_open() const = 0;
virtual Gfx::Palette palette() const = 0;
virtual Gfx::IntRect screen_rect() const = 0;
virtual CSS::PreferredColorScheme preferred_color_scheme() const = 0;
virtual void paint(Gfx::IntRect const&, Gfx::Bitmap&) = 0;
virtual void page_did_change_title(String const&) { }
virtual void page_did_start_loading(const AK::URL&) { }
virtual void page_did_create_main_document() { }

View file

@ -23,10 +23,10 @@ public:
static NonnullOwnPtr<PageHost> create(ConnectionFromClient& client) { return adopt_own(*new PageHost(client)); }
virtual ~PageHost();
Web::Page& page() { return *m_page; }
Web::Page const& page() const { return *m_page; }
virtual Web::Page& page() override { return *m_page; }
virtual Web::Page const& page() const override { return *m_page; }
void paint(Gfx::IntRect const& content_rect, Gfx::Bitmap&);
virtual void paint(Gfx::IntRect const& content_rect, Gfx::Bitmap&) override;
void set_palette_impl(Gfx::PaletteImpl const&);
void set_viewport_rect(Gfx::IntRect const&);

View file

@ -55,8 +55,8 @@ public:
return adopt_own(*new HeadlessBrowserPageClient());
}
Web::Page& page() { return *m_page; }
Web::Page const& page() const { return *m_page; }
virtual Web::Page& page() override { return *m_page; }
virtual Web::Page const& page() const override { return *m_page; }
Web::Layout::InitialContainingBlock* layout_root()
{
@ -71,7 +71,7 @@ public:
page().load(url);
}
void paint(Gfx::IntRect const& content_rect, Gfx::Bitmap& target)
virtual void paint(Gfx::IntRect const& content_rect, Gfx::Bitmap& target) override
{
Gfx::Painter painter(target);