mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-07 21:59:54 +00:00
LibWeb+LibWebView+LibRequests: Reduce dependency on LibIPC includes
Let's try to include the IPC encoder/decoder stuff in fewer headers to make rebuilds more pleasant when editing these files.
This commit is contained in:
parent
62d7011f45
commit
1c45930767
Notes:
github-actions[bot]
2025-12-01 14:14:26 +00:00
Author: https://github.com/awesomekling
Commit: 1c45930767
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6982
Reviewed-by: https://github.com/gmta ✅
8 changed files with 66 additions and 45 deletions
|
|
@ -3,6 +3,7 @@ set(SOURCES
|
|||
NetworkError.h
|
||||
Request.cpp
|
||||
RequestClient.cpp
|
||||
RequestTimingInfo.cpp
|
||||
WebSocket.cpp
|
||||
)
|
||||
|
||||
|
|
|
|||
57
Libraries/LibRequests/RequestTimingInfo.cpp
Normal file
57
Libraries/LibRequests/RequestTimingInfo.cpp
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (c) 2025, Tim Flynn <trflynn89@ladybird.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <LibIPC/Decoder.h>
|
||||
#include <LibIPC/Encoder.h>
|
||||
#include <LibRequests/RequestTimingInfo.h>
|
||||
|
||||
namespace IPC {
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder& encoder, Requests::RequestTimingInfo const& timing_info)
|
||||
{
|
||||
TRY(encoder.encode(timing_info.domain_lookup_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.domain_lookup_end_microseconds));
|
||||
TRY(encoder.encode(timing_info.connect_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.connect_end_microseconds));
|
||||
TRY(encoder.encode(timing_info.secure_connect_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.request_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.response_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.response_end_microseconds));
|
||||
TRY(encoder.encode(timing_info.encoded_body_size));
|
||||
TRY(encoder.encode(timing_info.http_version_alpn_identifier));
|
||||
return {};
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<Requests::RequestTimingInfo> decode(Decoder& decoder)
|
||||
{
|
||||
auto domain_lookup_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto domain_lookup_end_microseconds = TRY(decoder.decode<i64>());
|
||||
auto connect_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto connect_end_microseconds = TRY(decoder.decode<i64>());
|
||||
auto secure_connect_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto request_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto response_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto response_end_microseconds = TRY(decoder.decode<i64>());
|
||||
auto encoded_body_size = TRY(decoder.decode<i64>());
|
||||
auto http_version_alpn_identifier = TRY(decoder.decode<Requests::ALPNHttpVersion>());
|
||||
|
||||
return Requests::RequestTimingInfo {
|
||||
.domain_lookup_start_microseconds = domain_lookup_start_microseconds,
|
||||
.domain_lookup_end_microseconds = domain_lookup_end_microseconds,
|
||||
.connect_start_microseconds = connect_start_microseconds,
|
||||
.connect_end_microseconds = connect_end_microseconds,
|
||||
.secure_connect_start_microseconds = secure_connect_start_microseconds,
|
||||
.request_start_microseconds = request_start_microseconds,
|
||||
.response_start_microseconds = response_start_microseconds,
|
||||
.response_end_microseconds = response_end_microseconds,
|
||||
.encoded_body_size = encoded_body_size,
|
||||
.http_version_alpn_identifier = http_version_alpn_identifier,
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -6,9 +6,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <AK/FlyString.h>
|
||||
#include <LibIPC/Decoder.h>
|
||||
#include <LibIPC/Encoder.h>
|
||||
#include <LibIPC/Forward.h>
|
||||
#include <LibRequests/ALPNHttpVersion.h>
|
||||
|
||||
namespace Requests {
|
||||
|
|
@ -31,47 +29,9 @@ struct RequestTimingInfo {
|
|||
namespace IPC {
|
||||
|
||||
template<>
|
||||
inline ErrorOr<void> encode(Encoder& encoder, Requests::RequestTimingInfo const& timing_info)
|
||||
{
|
||||
TRY(encoder.encode(timing_info.domain_lookup_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.domain_lookup_end_microseconds));
|
||||
TRY(encoder.encode(timing_info.connect_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.connect_end_microseconds));
|
||||
TRY(encoder.encode(timing_info.secure_connect_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.request_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.response_start_microseconds));
|
||||
TRY(encoder.encode(timing_info.response_end_microseconds));
|
||||
TRY(encoder.encode(timing_info.encoded_body_size));
|
||||
TRY(encoder.encode(timing_info.http_version_alpn_identifier));
|
||||
return {};
|
||||
}
|
||||
ErrorOr<void> encode(Encoder&, Requests::RequestTimingInfo const&);
|
||||
|
||||
template<>
|
||||
inline ErrorOr<Requests::RequestTimingInfo> decode(Decoder& decoder)
|
||||
{
|
||||
auto domain_lookup_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto domain_lookup_end_microseconds = TRY(decoder.decode<i64>());
|
||||
auto connect_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto connect_end_microseconds = TRY(decoder.decode<i64>());
|
||||
auto secure_connect_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto request_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto response_start_microseconds = TRY(decoder.decode<i64>());
|
||||
auto response_end_microseconds = TRY(decoder.decode<i64>());
|
||||
auto encoded_body_size = TRY(decoder.decode<i64>());
|
||||
auto http_version_alpn_identifier = TRY(decoder.decode<Requests::ALPNHttpVersion>());
|
||||
|
||||
return Requests::RequestTimingInfo {
|
||||
.domain_lookup_start_microseconds = domain_lookup_start_microseconds,
|
||||
.domain_lookup_end_microseconds = domain_lookup_end_microseconds,
|
||||
.connect_start_microseconds = connect_start_microseconds,
|
||||
.connect_end_microseconds = connect_end_microseconds,
|
||||
.secure_connect_start_microseconds = secure_connect_start_microseconds,
|
||||
.request_start_microseconds = request_start_microseconds,
|
||||
.response_start_microseconds = response_start_microseconds,
|
||||
.response_end_microseconds = response_end_microseconds,
|
||||
.encoded_body_size = encoded_body_size,
|
||||
.http_version_alpn_identifier = http_version_alpn_identifier,
|
||||
};
|
||||
}
|
||||
ErrorOr<Requests::RequestTimingInfo> decode(Decoder&);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
#include <AK/HashTable.h>
|
||||
#include <AK/StringBuilder.h>
|
||||
#include <LibGC/DeferGC.h>
|
||||
#include <LibIPC/Decoder.h>
|
||||
#include <LibIPC/Encoder.h>
|
||||
#include <LibJS/Runtime/FunctionObject.h>
|
||||
#include <LibRegex/Regex.h>
|
||||
#include <LibWeb/Animations/Animation.h>
|
||||
|
|
|
|||
|
|
@ -768,6 +768,7 @@ class UserActivation;
|
|||
class ValidityState;
|
||||
class VideoTrack;
|
||||
class VideoTrackList;
|
||||
class WebWorkerClient;
|
||||
class Window;
|
||||
class WindowEnvironmentSettingsObject;
|
||||
class WindowProxy;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
#include <LibWeb/Bindings/RequestPrototype.h>
|
||||
#include <LibWeb/Bindings/WorkerPrototype.h>
|
||||
#include <LibWeb/Forward.h>
|
||||
#include <LibWeb/Worker/WebWorkerClient.h>
|
||||
|
||||
namespace Web::HTML {
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
#include <LibDevTools/Forward.h>
|
||||
#include <LibImageDecoderClient/Client.h>
|
||||
#include <LibMain/Main.h>
|
||||
#include <LibRequests/RequestClient.h>
|
||||
#include <LibRequests/Forward.h>
|
||||
#include <LibURL/URL.h>
|
||||
#include <LibWeb/CSS/PreferredColorScheme.h>
|
||||
#include <LibWeb/CSS/PreferredContrast.h>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
#include <AK/LexicalPath.h>
|
||||
#include <AK/NumberFormat.h>
|
||||
#include <AK/QuickSort.h>
|
||||
#include <AK/Random.h>
|
||||
#include <LibCore/ConfigFile.h>
|
||||
#include <LibCore/DirIterator.h>
|
||||
#include <LibCore/Directory.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue