Ver Fonte

LibWeb+WebContent: Virtualize PageClient methods needed for all clients

Timothy Flynn há 2 anos atrás
pai
commit
c917a59abe

+ 3 - 0
Userland/Libraries/LibWeb/Page/Page.h

@@ -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() { }

+ 3 - 3
Userland/Services/WebContent/PageHost.h

@@ -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&);

+ 3 - 3
Userland/Utilities/headless-browser.cpp

@@ -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);