Commit graph

37042 commits

Author SHA1 Message Date
Igor Pissolati 7f45a9e9c1 LibWeb: Add "which" attribute to UIEvent
This is non-standard but is supported by all major browsers.
2022-04-09 18:27:24 +02:00
Igor Pissolati 1b94b4c593 LibWeb: Bring MouseEvent a bit closer to spec 2022-04-09 18:27:24 +02:00
Igor Pissolati a2bc97a9c2 LibWeb: Skip anchor activation behavior if the click event was cancelled 2022-04-09 18:27:24 +02:00
Jelle Raaijmakers cc411b328c Kernel: Remove big lock from sys$accept4
The only thing we needed to check is whether `socket.accept()` returns
a socket, and if not, we go back to blocking again.
2022-04-09 17:53:18 +02:00
Jelle Raaijmakers 14fc05e912 Kernel: Verify mutex big lock behavior
These two methods are big lock specific, so verify our mutex' behavior.
2022-04-09 15:55:20 +02:00
Jelle Raaijmakers bb02e9a7b9 Kernel: Unblock big lock waiters correctly
If the regular exclusive and shared lists were empty (which they
always should be for the big lock), we were not unblocking any waiters.
2022-04-09 15:55:20 +02:00
Andreas Kling cc77c82383 LibWeb: Follow relaxed CSS clamping rules in flexbox layout
AFAICT, css-values-4 tells us that clamping numbers to a range where
min>max is okay. That means we can't use AK::clamp() since it will
VERIFY that max>=min.

This patch adds a css_clamp() helper (locally in FFC for now).

This fixes an issue where a bunch of sites were crashing due to the
VERIFY in AK::clamp().
2022-04-09 14:50:05 +02:00
Andreas Kling f21eb90294 LibWeb: Remove debug spam about proxy configuration lookups 2022-04-09 14:50:05 +02:00
Ali Mohammad Pur b16918ccb9 pro: Only attempt to parse a proxy url if it is provided
Otherwise we'd end up trying to parse an empty string as a proxy url
which is certainly not one.
2022-04-09 14:36:28 +02:00
Ali Mohammad Pur a42e03b01a Browser+LibWeb+WebContent: Implement per-URL-pattern proxies
...at least for SOCKS5.
2022-04-09 12:21:43 +02:00
Ali Mohammad Pur f9fc28931f pro: Accept an optional proxy to tunnel the download through
For now, this only accepts the format `socks5://ip:port` (i.e. the
hostname has to be an ipv4, and the port must be present).
2022-04-09 12:21:43 +02:00
Ali Mohammad Pur 45867435c4 RequestServer+LibProtocol: Allow users to specify a per-request proxy 2022-04-09 12:21:43 +02:00
Ali Mohammad Pur cd9d740107 LibCore+RequestServer: Add support for SOCKS5 proxies 2022-04-09 12:21:43 +02:00
Ali Mohammad Pur bd5403adf1 LibTLS: Mark the underlying stream as nonblock
LibTLS does not want to be blocked.
2022-04-09 12:21:43 +02:00
Jesse Buhagiar e2f1da8cec Ports: Add quake3 port :^) 2022-04-09 11:40:33 +02:00
Jesse Buhagiar c08dfe063a LibGL: Add stub for glCopyTexSubImage2D 2022-04-09 11:40:33 +02:00
Jesse Buhagiar 6e9ea2f21f LibGL: Implement glArrayElement 2022-04-09 11:40:33 +02:00
Jesse Buhagiar 85985e2cf4 LibGL: Implement gl_tex_parameterfv
This is the vectorized version of `gl_tex_parameter`, which sets the
parameters of a texture's sampler. We currently only support one single
pname, `GL_TEXTURE_BORDER_COLOR`, which sets the border color of a texel
for if it is sampled outside of a mip-map's range.
2022-04-09 11:40:33 +02:00
Jesse Buhagiar c509e0c73c LibGL: Add border_color to Sampler2D
We need this to plumb the per-sampler border color into the GPU's
sampler border color
2022-04-09 11:40:33 +02:00
Jesse Buhagiar b928fdc3ee LibGL: Add stub glClipPlane 2022-04-09 11:40:33 +02:00
Jesse Buhagiar c9f44c746a LibGL+LibSoftGPU: Add GL_ADD Texture Environment 2022-04-09 11:40:33 +02:00
Lady Gegga e34f199997 WebServer: Add utf-8 charset to Content-Type header for text/plain 2022-04-09 01:14:14 +02:00
Andreas Kling 45db35ad04 LibWeb: Fix double-sized box model metrics on inline replaced elements
We were mistakenly treating inline replaced elements as if they are the
start of a regular display:inline element. This meant that we collected
the horizontal start and end metrics from the box model, and then added
those to the inline-level item produced by InlineLevelIterator.

This effectively meant that <img>, <svg> and other replaced elements got
double-sized values for margin/border/padding on the left and right
sides. (Which manifested as a mysterious margin around the element.)
2022-04-08 23:12:04 +02:00
Andreas Kling 6e70670e0b LibWeb: Load fonts from style sheet once when sheet is added
Previously, we were running the "load fonts if needed" machine at the
start of every style computation. That was a lot of unnecessary work,
especially on sites with lots of style rules, since we had to traverse
every style sheet to see if any @font-face rules needed loading.

With this patch, we now load fonts once per sheet, right after adding
it to a document's style sheet list.
2022-04-08 21:27:35 +02:00
Andreas Kling 5b72a9cb11 LibWeb: Use paint tree traversal helpers in StackingContext 2022-04-08 20:58:42 +02:00
Andreas Kling dcbb83a33e LibWeb: Add some basic paint tree traversal helpers
Give the Paintable class some basic helpers for traversing the paint
tree. Note that they actually piggy-back on the layout tree for links
between nodes.
2022-04-08 20:58:42 +02:00
djwisdom 40f090c7e8 Base: Add Ataraxia Bold size 8
Basic Latin
0020-007E

Latin-1 Supplement
00A0-00FF
2022-04-08 20:47:20 +02:00
djwisdom 5142713263 Base: Add Ataraxia Light size 8
Basic Latin
0020-007E

Latin-1 Supplement
00A0-00FF
2022-04-08 20:47:20 +02:00
GeekFiftyFive 832920c003 AK+LibHTTP: Revert prior change to percent encode plus signs
A change was made prior to percent encode plus signs in order to fix an
issue with the Google cookie consent page.

Unforunately, this was treating a symptom of a problem and not the root
cause and is incorrect behavior.
2022-04-08 20:44:49 +02:00
Simon Wanner a2d89f11d1 LibWeb: Use the correct painter for painting stacking contexts
When cloning the PaintContext we should be using the painter backed by
the bitmap created for this stacking context layer.

Fixes: 54c3053bc3 ("LibWeb: Preserve paint state when painting...")
2022-04-08 20:44:23 +02:00
Simon Wanner a57bfc2f8c LibWeb: Take already computed height for flex container's auto height
Similar to BlockFormattingContext, FlexFormatting context already
handles height:auto sizing correctly and sets the content_height
correspondingly.
2022-04-08 20:44:23 +02:00
Linus Groh 62185452f0 Kernel: Query OS-enabled CPUID features again at the end of cpu_setup()
For OSPKE this is a no-op as we don't enable PKU yet, but the state of
the OSXSAVE flag might have changed if we enabled XSAVE.
2022-04-08 18:53:42 +01:00
Linus Groh 87aabb5ef7 Kernel: Rename OSPKU CPUID feature flag to OSPKE
Unlike "XSAVE enabled by OS" being indicated by the OSXSAVE flag, in
this case it's "PKU enabled by OS" being indicated by the OSPKE flag.
2022-04-08 18:53:42 +01:00
Idan Horowitz 280e99073b LibGUI: Stop dropping comments between children and end of GML objects
Any left-over comments in the pending_comments vector are now inserted
as sub object children, as these are serialized last and will therefore
show up in their expected location.
2022-04-08 19:19:37 +03:00
Idan Horowitz 40c40b7551 LibGUI: Insert parsed comments in parsing order
We were accidentally reversing the order of consecutive comments when
inserting them as children of the GML object.
2022-04-08 19:19:37 +03:00
Idan Horowitz c56bc49b70 LibGUI: Remove left-over spammy debug print 2022-04-08 19:19:37 +03:00
Tiaan Louw 678555af97 Kernel: Adjust includes after file reorganization 2022-04-08 15:06:33 +01:00
Oliver Wales 382eacc08e LibWeb: Select correct context menu when right clicking image 2022-04-08 07:59:01 -04:00
Timothy Flynn 84a81dd466 LibJS: Do not throw a TypeError when sorting a detached TypedArray
This is a normative change in the ECMA-262 spec. See:
https://github.com/tc39/ecma262/commit/e0c74e1
2022-04-08 11:15:16 +01:00
Timothy Flynn d04a683f85 test-js: Define detachArrayBuffer global function 2022-04-08 11:15:16 +01:00
Timothy Flynn 13d05403ff LibJS: Move DetachArrayBuffer implementation to the ArrayBuffer object
The spec notes that this AO is unused by ECMA-262, but is provided for
ECMAScript hosts. Move the definition to a common location to allow
test-js to also use it.
2022-04-08 11:15:16 +01:00
stelar7 ce08fae13b Meta: Add fuzzer for Poly1305 2022-04-08 14:02:02 +04:30
stelar7 c237991222 LibCrypto: Add Poly1305 2022-04-08 14:02:02 +04:30
Linus Groh e109b967a1 LibJS: Make options object const in more Temporal AOs 2022-04-08 00:43:17 +01:00
Linus Groh 2844a2c448 LibJS: Handle undefined options in MergeLargestUnitOption
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/5e161a2
2022-04-08 00:43:17 +01:00
Jelle Raaijmakers ada4f8d660 Ports: Update Composer to 2.3.4
This fixes some warnings when running with PHP 8.1.
2022-04-08 00:30:26 +01:00
Lady Gegga 3449745117 Base: Change Csilla Bold 10 from proportional-font to fixed width-font
All other Csilla fonts has a fixed width flag.
2022-04-07 23:01:25 +02:00
Sam Atkins 12b8570ce3 LibWeb: Understand the format() part of a @font-face's src
This is used to skip downloading fonts in formats that we don't support.
Currently we only support TTF as far as I am aware.

The parts of a `src` are in a fixed order, unusually, which makes the
parsing more nesty instead of loopy.
2022-04-07 21:20:14 +02:00
Sam Atkins dbb0b68175 LibWeb: Disallow global CSS keywords in @font-face font-family 2022-04-07 21:20:14 +02:00
Sam Atkins dbbd6d3508 LibWeb: Parse @font-face unicode-range descriptor 2022-04-07 21:20:14 +02:00