From 2ad1c2d959019e565a641adbd80ab6cee8a2e364 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 17 Jun 2020 20:26:59 +0200 Subject: [PATCH] LibWeb: Add PageClient::palette() for view-agnostic palette access --- Libraries/LibWeb/Page.cpp | 2 +- Libraries/LibWeb/Page.h | 1 + Libraries/LibWeb/PageView.h | 1 + Services/WebContent/PageHost.h | 4 ++-- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Libraries/LibWeb/Page.cpp b/Libraries/LibWeb/Page.cpp index 94cb4bda4b..e4f9bebd16 100644 --- a/Libraries/LibWeb/Page.cpp +++ b/Libraries/LibWeb/Page.cpp @@ -47,7 +47,7 @@ void Page::load(const URL& url) Gfx::Palette Page::palette() const { - return static_cast(m_client).palette(); + return m_client.palette(); } bool Page::handle_mouseup(const Gfx::IntPoint& position, unsigned button, unsigned modifiers) diff --git a/Libraries/LibWeb/Page.h b/Libraries/LibWeb/Page.h index 290dac5676..32a2e57d7c 100644 --- a/Libraries/LibWeb/Page.h +++ b/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&) { } diff --git a/Libraries/LibWeb/PageView.h b/Libraries/LibWeb/PageView.h index 4b534442f6..756022f10d 100644 --- a/Libraries/LibWeb/PageView.h +++ b/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; diff --git a/Services/WebContent/PageHost.h b/Services/WebContent/PageHost.h index ef4c74843e..c46f7a4012 100644 --- a/Services/WebContent/PageHost.h +++ b/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;