Commit graph

42355 commits

Author SHA1 Message Date
Moustafa Raafat
b1c8029c2b LibJS: Require that NanosecondsToDays doesn't flip sign
This is an normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/e13c52d
2022-10-22 19:14:14 +02:00
Moustafa Raafat
cfd684dc2f LibCrypto: Add SignedBigInteger::is_positive() 2022-10-22 19:14:14 +02:00
Sam Atkins
e5a25171fe LibGfx: Mark AffineTransform<T>::map() as only working for numeric T
The implementations for these methods is manually defined in the .cpp
file for `int` and `float`, meaning that other `T` values would fail -
but only once we got to the linking stage. This patch makes the error
happen much earlier, so it's more obvious.
2022-10-22 18:17:58 +02:00
Sam Atkins
732aa2c5c7 LibGfx: Make Rect<T> methods work when T is not int or float
Putting the implementations in the .cpp file meant that they only
existed for `IntRect` and `FloatRect`, since those were instantiated at
the bottom of the file. Now they work for other types. :^)

A couple of places in WindowServer had to be modified to disambiguate
between the two `Rect::intersected()` overloads.

Co-authored-by: davidot <davidot@serenityos.org>
2022-10-22 18:17:58 +02:00
Smrtnyk
ae950816b5 Base: Add SameSite cookie test cases 2022-10-22 18:17:01 +02:00
Smrtnyk
cb480fa3dc Browser: Show SameSite attribute in cookie storage inspector 2022-10-22 18:17:01 +02:00
Smrtnyk
b08ae57b23 LibWeb: Parse SameSite cookie attribute 2022-10-22 18:17:01 +02:00
Tobias Christiansen
a534e61b44 WebDriver: Implement GET /session/{id}/element/{id}/name endpoint 2022-10-22 13:44:49 +02:00
Tobias Christiansen
be6bbdaa3b WebContent+Friends: Add get_element_tag_name IPC and plumbing 2022-10-22 13:44:49 +02:00
Daniel Bertalan
f1f6c4c0b6 Meta: Detect Homebrew clang-format
Homebrew does not add upstream LLVM's install location to $PATH so as
not to conflict with XCode tools, so we need to run `brew --prefix llvm`
to figure out its install path.
2022-10-22 12:53:03 +02:00
Liav A
e52f0a991b Base: Rename jp(1) manual page to json(1) 2022-10-22 10:39:05 +02:00
Maxwell Trussell
b80c24f57f Utilities: Rename jp to json
With the scope of `jp` expanding beyond just printing JSON (e.g.
querying JSON), `json` seems to be a more fitting name.
2022-10-22 00:47:05 +02:00
Maxwell Trussell
424033be44 Utilities: Add jq-like json query functionality to jp 2022-10-22 00:47:05 +02:00
Xexxa
d80472b8f4 Snake: Add more emoji as in-game food graphics 2022-10-21 23:50:50 +02:00
Tim Schumacher
335fd20c34 Toolchain: Keep LLVM from using shm_open and friends
I originally missed this while handling the upgrade to LLVM 15 (as it
only affects the on-serenity port), so the patch gets to be here with a
bit of a delay.

Co-Authored-By: sin-ack <sin-ack@users.noreply.github.com>
2022-10-21 20:15:34 +02:00
Tim Schumacher
ed5996184b Ports/llvm: Add a dependency on zstd 2022-10-21 20:15:34 +02:00
Mykola
dcfaee8d6c Base: Add cool emoji
Added:
	1F32B      # 🌫 E0.7 fog
	1F361      # 🍡 E0.6 dango
	1F3A3      # 🎣 E0.6 fishing pole
	1F3B4      # 🎴 E0.6 flower playing cards
	1F413      # 🐓 E1.0 rooster
	1F456      # 👖 E0.6 jeans
	1F45C      # 👜 E0.6 handbag
	1F5EF      # 🗯 E0.7 right anger bubble
	1F6B0      # 🚰 E1.0 potable water
	1F6B1      # 🚱 E1.0 non-potable water
	1F6FB      # 🛻 E13.0 pickup truck
	1F9C6      # 🧆 E12.0 falafel
	1F9F4      # 🧴 E11.0 lotion bottle
	1FAB0      # 🪰 E13.0 fly
	1FAB1      # 🪱 E13.0 worm
	1FAD4      # 🫔 E13.0 tamale
	2618       # ☘ E1.0 shamrock
	1F684      # 🚄 E0.6 high-speed train
	1F685      # 🚅 E0.6 bullet train
	1F686      # 🚆 E1.0 train
2022-10-21 20:02:17 +02:00
Jelle Besseling
5de4507b6f Base: Add WC emoji and other blue block ones
Added:
    1F6BE   # 🚾 E1.0 Water closet
    1F6C2   # 🛂 E1.0 Passport control
    1F6C3   # 🛃 E1.0 Customs
    1F6C4   # 🛄 E1.0 Baggage claim
    1F6C5   # 🛅 E1.0 Left luggage
    1F6B9   # 🚹 E1.0 Men's room
    1F6D7   # 🛗 E13.0 Elevator
2022-10-21 20:01:31 +02:00
Jelle Besseling
1fa8aaca83 Base: Add some clock emoji
Added:
    23F0    #  E1.0 Alarm Clock
    23F1    # ⏱️ E1.0 Stopwatch
    23F2    # ⏲️ E1.0 Timer Clock
2022-10-21 20:01:20 +02:00
Sam Atkins
607767fd10 WebDriver: Extract repeated "check for window or return error" code
If `TRY()` doesn't solve your problems, you're not using enough of it.
2022-10-21 19:59:03 +02:00
Sam Atkins
851bece9fc Browser: Hide WebDriver debug messages behind WEBDRIVER_DEBUG 2022-10-21 19:59:03 +02:00
Sam Atkins
3232622255 WebDriver: Use WebDriverError::from_code() for all error creation 2022-10-21 19:59:03 +02:00
Sam Atkins
9393904073 WebDriver: Introduce WebDriver::ErrorCode enum
To avoid having to duplicate error text and http codes over and over,
and potentially make mistakes, let's put them all in one place.
2022-10-21 19:59:03 +02:00
Sam Atkins
89c3e0b567 WebDriver: Rename HttpError -> WebDriverError 2022-10-21 19:59:03 +02:00
crpz1
87a9462b7f Magnifier: Increase window size
The help menu was not visible prior to this.
2022-10-21 17:16:01 +01:00
crpz1
466e0c4846 Magnifier: Add Always on Top 2022-10-21 17:16:01 +01:00
Jelle Raaijmakers
e47ca2db0a Ports: Update Composer to 2.4.3 2022-10-21 14:31:32 +02:00
Jelle Raaijmakers
e70e4c132b Ports: Support Serenity install root in PHP's libtool
PHP's libtool does not have sysroot support; this is the minimum change
to get PHP to build.
2022-10-21 14:31:32 +02:00
Jelle Raaijmakers
684c038af0 Ports: Update PHP to 8.1.11 2022-10-21 14:31:32 +02:00
Andreas Kling
8ebbb6a2f3 Revert "LibWeb: Prevent world leak when activating event handler"
This reverts commit 8875cd0c83.

It broke Twitter (tweets would no longer load). Reverting until we can
understand why. :^(
2022-10-21 13:32:13 +02:00
Xexxa
0968501b62 Base: Add more emoji
🐕 - U+1F415 DOG
🐩 - U+1F429 POODLE
🦌 - U+1F98C DEER
🐖 - U+1F416 PIG
🐁 - U+1F401 MOUSE
🐀 - U+1F400 RAT
🐇 - U+1F407 RABBIT
🐿️ - U+1F43F CHIPMUNK
🦥 - U+1F9A5 SLOTH
🐣 - U+1F423 HATCHING CHICK
🐥 - U+1F425 FRONT-FACING BABY CHICK
🦎 - U+1F98E LIZARD
🦗 - U+1F997 CRICKET
🪳 - U+1FAB3 COCKROACH
🧮 - U+1F9EE ABACUS
2022-10-21 12:18:50 +02:00
Linus Groh
950d2fccf0 LibWeb: Remove workaround for nested BodyInit IDL union type 2022-10-21 12:11:24 +02:00
Linus Groh
775c12f60f LibIDL: Resolve typedefs in UnionType members recursively 2022-10-21 12:11:24 +02:00
Timon Kruiper
cede752cd1 Kernel/aarch64: Stub enough functions to build Random.cpp
Also update Random.cpp such that it builds for aarch64.
2022-10-20 23:26:32 +02:00
Timon Kruiper
a998bba73b Kernel/aarch64: Store a pointer to the current Thread on Processor
And also implemented and update the related functions.
2022-10-20 23:26:32 +02:00
Timon Kruiper
8fe3c50b30 Kernel/aarch64: Force kmalloc to return 16 byte aligned pointers
KUBSAN complained about a misaligned address when trying to construct
the Thread class.
2022-10-20 23:26:32 +02:00
Timon Kruiper
179cb7b2d0 Kernel/aarch64: Stub enough functions to build Process.cpp
ProcessProcFSTraits.cpp is also added the CMakeLists.
2022-10-20 23:26:32 +02:00
Timon Kruiper
84158a18d5 Kernel/aarch64: Stub WaitQueueBlocker::unblock to build WaitQueue.cpp 2022-10-20 23:26:32 +02:00
Timon Kruiper
b69a3ad51a Kernel/aarch64: Stub more functions to build Thread.cpp 2022-10-20 23:26:32 +02:00
grxnola
2c64f7f900 Toolchain: Fix nix-shell; fuse2fs is now part of e2fsprogs derivation 2022-10-20 22:51:11 +02:00
Linus Groh
3b2e5b08d9 LibWeb: Remove dbgln FIXME spam from BindingsGenerator 2022-10-20 22:34:55 +02:00
Sam Atkins
4d9c0c7b22 Browser: Add ability to delete cookies from Storage Inspector
Adds actions to delete either a single cookie, or all of them.

This looks weird, because the GUI doesn't update until you "Inspect >
Open Storage Inspector", but it does function. :^)
2022-10-20 21:52:44 +02:00
Tobias Christiansen
c11462f40e WebDriver: Introduce a WebDriverEndpoints class
This holds the Functions used by the WebDriver to not clutter up the
`Tab.h` file.
2022-10-20 21:48:12 +02:00
Tobias Christiansen
354a845d65 WebDriver: Implement GET /session/{id}/element/{id}/css/{name} 2022-10-20 21:26:10 +02:00
Tobias Christiansen
202b2be1f2 WebContent+Friends: Add IPC and plumbing for WebDriver endpoint
To use the `GET /session/{id}/element/{id}/css/{property name}`
WebDriver endpoint, two new IPC calls through the Browser are
implemented:
    - get_active_documents_type returns the type of the active document,
      which is either "xml" or "html"
    - get_computed_value_for_element returns the computed CSS value (as
      String) for the given element and CSS property name
2022-10-20 21:26:10 +02:00
Andreas Kling
eda566d112 LibWeb: Add GC finalizer to DOM::NodeIterator
It's potentially unsafe to access `m_root` in the destructor since it
may have been swept, so move unregistration of the NodeIterator into a
GC finalizer instead.
2022-10-20 19:46:39 +02:00
Andreas Kling
e7da96acaf LibWeb: Call superclass GC finalizer in DOM::Node::finalize()
There isn't actually anything important happening in the superclasses
right now, but let's be good citizens and call up.
2022-10-20 19:45:17 +02:00
Andreas Kling
1885fe529f LibWeb: Add GC finalizer to Layout::ImageBox
It's not safe to unregister ImageBox from the browsing context in the
destructor (since the browsing context may have already been swept and
destroyed).
2022-10-20 19:36:59 +02:00
Andreas Kling
c877eb47a2 LibWeb: Add GC finalizer for DOM::Node
Now that the layout tree is also GC-allocated, we can't be messing with
it from the DOM::Node destructor. Move everything to a GC finalizer
so we know it runs before the GC sweep phase.
2022-10-20 19:36:59 +02:00
Andreas Kling
07a36c8f80 LibJS: Add a finalization pass to the garbage collector
Doing things in the destructor of a GC-allocated object isn't always
safe, in case it involves accessing other GC-allocated objects.
If they were already swept by GC, we'd be poking into freed memory.

This patch adds a separate finalization pass where GC calls finalize()
on every unmarked cell that's about to be deleted.

It's safe to access other GC objects in finalize(), even if they're
also unmarked.
2022-10-20 19:36:59 +02:00