1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 19:27:35 +00:00

Userland: Get rid of the OwnPtr<...> boilerplate code for IPC handlers

This commit is contained in:
Gunnar Beutner 2021-05-02 04:39:36 +02:00 committed by Andreas Kling
parent 1a015dc379
commit 7cf2839a26
33 changed files with 389 additions and 385 deletions

View file

@ -48,13 +48,18 @@ public:
}
void post_message(const Message& message)
{
post_message(message.encode());
}
// FIXME: unnecessary copy
void post_message(MessageBuffer buffer)
{
// NOTE: If this connection is being shut down, but has not yet been destroyed,
// the socket will be closed. Don't try to send more messages.
if (!m_socket->is_open())
return;
auto buffer = message.encode();
// Prepend the message size.
uint32_t message_size = buffer.data.size();
buffer.data.prepend(reinterpret_cast<const u8*>(&message_size), sizeof(message_size));

View file

@ -16,6 +16,7 @@ class BufferStream;
namespace IPC {
class Message;
class MessageBuffer;
class Endpoint {
public:
@ -23,7 +24,7 @@ public:
virtual u32 magic() const = 0;
virtual String name() const = 0;
virtual OwnPtr<Message> handle(const Message&) = 0;
virtual OwnPtr<MessageBuffer> handle(const Message&) = 0;
protected:
Endpoint();

View file

@ -83,13 +83,13 @@ void RequestClient::handle(const Messages::RequestClient::HeadersBecameAvailable
}
}
OwnPtr<Messages::RequestClient::CertificateRequestedResponse> RequestClient::handle(const Messages::RequestClient::CertificateRequested& message)
Messages::RequestClient::CertificateRequestedResponse RequestClient::handle(const Messages::RequestClient::CertificateRequested& message)
{
if (auto request = const_cast<Request*>(m_requests.get(message.request_id()).value_or(nullptr))) {
request->did_request_certificates({});
}
return make<Messages::RequestClient::CertificateRequestedResponse>();
return {};
}
}

View file

@ -35,7 +35,7 @@ private:
virtual void handle(const Messages::RequestClient::RequestProgress&) override;
virtual void handle(const Messages::RequestClient::RequestFinished&) override;
virtual OwnPtr<Messages::RequestClient::CertificateRequestedResponse> handle(const Messages::RequestClient::CertificateRequested&) override;
virtual Messages::RequestClient::CertificateRequestedResponse handle(const Messages::RequestClient::CertificateRequested&) override;
virtual void handle(const Messages::RequestClient::HeadersBecameAvailable&) override;
HashMap<i32, RefPtr<Request>> m_requests;

View file

@ -147,22 +147,20 @@ void WebContentClient::handle(const Messages::WebContentClient::DidJSConsoleOutp
m_view.notify_server_did_js_console_output(message.method(), message.line());
}
OwnPtr<Messages::WebContentClient::DidRequestAlertResponse> WebContentClient::handle(const Messages::WebContentClient::DidRequestAlert& message)
Messages::WebContentClient::DidRequestAlertResponse WebContentClient::handle(const Messages::WebContentClient::DidRequestAlert& message)
{
m_view.notify_server_did_request_alert({}, message.message());
return make<Messages::WebContentClient::DidRequestAlertResponse>();
return {};
}
OwnPtr<Messages::WebContentClient::DidRequestConfirmResponse> WebContentClient::handle(const Messages::WebContentClient::DidRequestConfirm& message)
Messages::WebContentClient::DidRequestConfirmResponse WebContentClient::handle(const Messages::WebContentClient::DidRequestConfirm& message)
{
auto result = m_view.notify_server_did_request_confirm({}, message.message());
return make<Messages::WebContentClient::DidRequestConfirmResponse>(result);
return m_view.notify_server_did_request_confirm({}, message.message());
}
OwnPtr<Messages::WebContentClient::DidRequestPromptResponse> WebContentClient::handle(const Messages::WebContentClient::DidRequestPrompt& message)
Messages::WebContentClient::DidRequestPromptResponse WebContentClient::handle(const Messages::WebContentClient::DidRequestPrompt& message)
{
auto result = m_view.notify_server_did_request_prompt({}, message.message(), message.default_());
return make<Messages::WebContentClient::DidRequestPromptResponse>(result);
return m_view.notify_server_did_request_prompt({}, message.message(), message.default_());
}
void WebContentClient::handle(const Messages::WebContentClient::DidChangeFavicon& message)
@ -174,10 +172,9 @@ void WebContentClient::handle(const Messages::WebContentClient::DidChangeFavicon
m_view.notify_server_did_change_favicon(*message.favicon().bitmap());
}
OwnPtr<Messages::WebContentClient::DidRequestCookieResponse> WebContentClient::handle(const Messages::WebContentClient::DidRequestCookie& message)
Messages::WebContentClient::DidRequestCookieResponse WebContentClient::handle(const Messages::WebContentClient::DidRequestCookie& message)
{
auto result = m_view.notify_server_did_request_cookie({}, message.url(), static_cast<Cookie::Source>(message.source()));
return make<Messages::WebContentClient::DidRequestCookieResponse>(result);
return m_view.notify_server_did_request_cookie({}, message.url(), static_cast<Cookie::Source>(message.source()));
}
void WebContentClient::handle(const Messages::WebContentClient::DidSetCookie& message)

View file

@ -53,10 +53,10 @@ private:
virtual void handle(const Messages::WebContentClient::DidGetSource&) override;
virtual void handle(const Messages::WebContentClient::DidJSConsoleOutput&) override;
virtual void handle(const Messages::WebContentClient::DidChangeFavicon&) override;
virtual OwnPtr<Messages::WebContentClient::DidRequestAlertResponse> handle(const Messages::WebContentClient::DidRequestAlert&) override;
virtual OwnPtr<Messages::WebContentClient::DidRequestConfirmResponse> handle(const Messages::WebContentClient::DidRequestConfirm&) override;
virtual OwnPtr<Messages::WebContentClient::DidRequestPromptResponse> handle(const Messages::WebContentClient::DidRequestPrompt&) override;
virtual OwnPtr<Messages::WebContentClient::DidRequestCookieResponse> handle(const Messages::WebContentClient::DidRequestCookie&) override;
virtual Messages::WebContentClient::DidRequestAlertResponse handle(const Messages::WebContentClient::DidRequestAlert&) override;
virtual Messages::WebContentClient::DidRequestConfirmResponse handle(const Messages::WebContentClient::DidRequestConfirm&) override;
virtual Messages::WebContentClient::DidRequestPromptResponse handle(const Messages::WebContentClient::DidRequestPrompt&) override;
virtual Messages::WebContentClient::DidRequestCookieResponse handle(const Messages::WebContentClient::DidRequestCookie&) override;
virtual void handle(const Messages::WebContentClient::DidSetCookie&) override;
OutOfProcessWebView& m_view;