Commit graph

10 commits

Author SHA1 Message Date
Linus Groh
5a5c4f079b Ladybird: Update for AK::{String => DeprecatedString} rename 2022-12-25 07:58:58 -07:00
Andreas Kling
bc6a6190d8 Ladybird: Disable HTTP2 as it's significantly slower
The slowdown is sometimes 5x, possibly more.

This is trivially confirmed by adding a large JS file to a page and
comparing the load time with a simple wget.
2022-12-25 07:58:58 -07:00
Andreas Kling
6d1db6801c Ladybird/RequestManagerQt: Unwrap multiple cookies masquerading as one
Qt can wrap any number of cookies into a single Set-Cookie header in the
network responses it gives us. We now use the QNetworkReply::header()
API to get a "cooked" list of the cookies, and then rewrap them in a
format suitable for LibWeb.

Sites that send multiple Set-Cookie headers in one response now work
a lot better. :^)
2022-12-25 07:58:58 -07:00
networkException
f1c7ee2810 Ladybird/Everywhere: Replace "protocol" with "scheme" url helpers
See 4230dbbb21
2022-12-25 07:58:58 -07:00
Andreas Kling
11e5be050f Ladybird: Enable HTTP pipelining 2022-12-25 07:58:58 -07:00
Andreas Kling
9073d60f00 Ladybird: Actually add request headers to outgoing HTTP requests 2022-12-25 07:58:58 -07:00
Daniel Bertalan
af5250b2cb Ladybird: Fix compilation on macOS/Clang
- Silences the -Wuser-defined-literals warning which is triggered by our
  use of the `sv` suffix for StringView
- Removes an unused captured `this` pointer [-Wunused-lambda-capture]
- Changes a JSONArray.h include to JSONObject.h to get the definition
  for `JSONValue::serialize`. This is needed because template functions
  are not exported for dylibs on macOS. This is a hack; the JSON headers
  should be refactored so that each one includes the definition of
  the template functions it sees. -- Maybe we should build with
  -fvisibility-inlines-hidden on Linux to catch issues like this?
2022-12-25 07:58:58 -07:00
Andreas Kling
bfc9057638 Ladybird: Tell Qt to let us manage HTTP redirects ourselves 2022-12-25 07:58:58 -07:00
Andreas Kling
2bbf2dfb9a Ladybird: Update for removal of StringView(char const*) 2022-12-25 07:58:58 -07:00
Andreas Kling
419d3ec646 Ladybird: Use QtNetwork for HTTP and HTTPS requests
Until we can get our own RequestServer infrastructure up and running,
running the TLS and HTTP code in-process was causing lots of crashes
due to unexpected reentrancy via nested event loops.

This patch adds a simple backend for HTTP and HTTPS requests that simply
funnels them through QNetworkAccessManager.
2022-12-25 07:58:58 -07:00