Browse Source

LibWeb: Add PageClient::palette() for view-agnostic palette access

Andreas Kling 5 years ago
parent
commit
2ad1c2d959

+ 1 - 1
Libraries/LibWeb/Page.cpp

@@ -47,7 +47,7 @@ void Page::load(const URL& url)
 
 Gfx::Palette Page::palette() const
 {
-    return static_cast<const PageView&>(m_client).palette();
+    return m_client.palette();
 }
 
 bool Page::handle_mouseup(const Gfx::IntPoint& position, unsigned button, unsigned modifiers)

+ 1 - 0
Libraries/LibWeb/Page.h

@@ -68,6 +68,7 @@ private:
 
 class PageClient {
 public:
+    virtual Gfx::Palette palette() const = 0;
     virtual void page_did_set_document_in_main_frame(Document*) { }
     virtual void page_did_change_title(const String&) { }
     virtual void page_did_start_loading(const URL&) { }

+ 1 - 0
Libraries/LibWeb/PageView.h

@@ -91,6 +91,7 @@ private:
     virtual void did_scroll() override;
 
     // ^Web::PageClient
+    virtual Gfx::Palette palette() const override { return GUI::ScrollableWidget::palette(); }
     virtual void page_did_change_title(const String&) override;
     virtual void page_did_set_document_in_main_frame(Document*) override;
     virtual void page_did_start_loading(const URL&) override;

+ 2 - 2
Services/WebContent/PageHost.h

@@ -32,7 +32,7 @@ namespace WebContent {
 
 class ClientConnection;
 
-class PageHost : public Web::PageClient {
+class PageHost final : public Web::PageClient {
     AK_MAKE_NONCOPYABLE(PageHost);
     AK_MAKE_NONMOVABLE(PageHost);
 
@@ -50,11 +50,11 @@ public:
 
 private:
     // ^PageHost
+    virtual Gfx::Palette palette() const override;
     virtual void page_did_invalidate(const Gfx::IntRect&) override;
 
     explicit PageHost(ClientConnection&);
 
-    Gfx::Palette palette() const;
     void setup_palette();
 
     ClientConnection& m_client;