1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-11 10:18:15 +09:00
Commit graph

41390 commits

Author SHA1 Message Date
Liav A
6bafbd64e2 Kernel/Memory: Introduce a method to allocate TypedMapping on the heap
This will be used later on to allocate such structure on the heap when
it is necessary to do so.
2022-09-23 17:22:15 +01:00
Liav A
fe2bd8e3dd Kernel: Move x86-specific timer code handling to Arch/x86/Time directory
The APICTimer, HPET and RTC (the RTC timer is in the context of the PC
RTC here) are timers that exist only in x86 platforms, therefore, we
move the handling code and the initialization code to the Arch/x86/Time
directory. Other related code patterns in the TimeManagement singleton
and in the Random.cpp file are guarded with #ifdef to ensure they are
only compiled for x86 builds.
2022-09-23 17:22:15 +01:00
Liav A
48f3d762af Kernel/Graphics: Move x86-specific support for VGA to Arch/x86 directory
The new VGAIOArbiter class is now responsible to conduct x86-specific
instructions to control VGA hardware from the old ISA ports. This allows
us to ensure the GraphicsManagement code doesn't use x86-specific code,
thus allowing it to be compiled within non-x86 kernel builds.
2022-09-23 17:22:15 +01:00
Joel Hansen
8b9c056c5a Base: Modify Check Box emoji
Make it look more like the SerenityOS checkbox.
2022-09-23 16:03:54 +01:00
Joel Hansen
f4cea4139f Base: Add emoji
- U+1F0CF Joker 🃏
- U+1F3AB Ticket 🎫
- U+1F5DC Clamp 🗜️
- U+1F48D Ring 💍
- U+1F371 Bento Box 🍱
- U+1F380 Ribbon 🎀
- U+1F436 Dog Face 🐶
- U+1F518 Radio Button 🔘
- U+1F528 Hammer 🔨
- U+1F531 Trident Emblem 🔱
- U+1FA74 Thong Sandal 🩴
- U+2622 Radioactive ☢️
2022-09-23 16:03:54 +01:00
Liav A
36f2e85823 WindowServer: Fix mapping the correct framebuffer size
If we don't support double buffering for a certain type of hardware,
don't try to map with size calculated with (pitch * height * 2), as it
will result in trying to map more memory than is available in the
framebuffer memory range.
2022-09-23 14:04:00 +01:00
Linus Groh
76ace3629a LibWeb: Make Fetch::Infrastructure::Body::stream() const 2022-09-22 21:01:13 +01:00
Linus Groh
c7c6d7d9e1 LibWeb: Make FileAPI::Blob::create() buffer/type overload infallible 2022-09-22 21:01:13 +01:00
Linus Groh
54a987ad45 LibWeb: Update extract_body() to use BodyInit 2022-09-22 21:01:13 +01:00
Linus Groh
8f5620b5d9 LibWeb: Add BodyInit union type 2022-09-22 21:01:13 +01:00
Linus Groh
571f4e3ebb LibWeb: Move extract_body() into Fetch 2022-09-22 21:01:13 +01:00
Linus Groh
f98ce156c4 LibWeb: Remove ReadableStreamDummy in favor of ReadableStream 2022-09-22 21:01:13 +01:00
Linus Groh
87654f5b51 LibWeb: Start fleshing out the ReadableStream interface
This is so we can just assume it exists in Fetch APIs (while still
skipping functionality that relies on a full implementation, of
course).
2022-09-22 21:01:13 +01:00
Linus Groh
1ace80235b LibWeb: Move XMLHttpRequestBodyInit into Fetch
https://fetch.spec.whatwg.org/#typedefdef-xmlhttprequestbodyinit
2022-09-22 21:01:13 +01:00
thankyouverycool
1bba8589fe LibGUI: Hide unnecessary Scrollbars in ComboBox windows
And simplify rect calculations using content size.
2022-09-22 21:37:26 +02:00
thankyouverycool
7858f885fe LibGUI: Update ListView content size on relevant layout changes
Fixes incorrect content sizing when unnecessary scrollbars are hidden.
2022-09-22 21:37:26 +02:00
thankyouverycool
8b4bf96db3 LibGUI: Apply horizontal padding evenly for ListView items 2022-09-22 21:37:26 +02:00
thankyouverycool
930e5c27df ClockSettings: Increase max visible items for time zone ComboBox 2022-09-22 21:37:26 +02:00
thankyouverycool
f86c5b1fa7 LibGUI: Allow setting max visible items for ComboBoxes
This will govern the maximum number of items ComboBox windows display
before scrolling content.
2022-09-22 21:37:26 +02:00
thankyouverycool
aa8e7aba42 LibGUI: Don't show empty ComboBox windows 2022-09-22 21:37:26 +02:00
thankyouverycool
a0de3860cc LibGUI: Make ListView item_count() public 2022-09-22 21:37:26 +02:00
thankyouverycool
04a9562601 LibGUI: Don't open windows for editable ComboBoxes when typing
Fixes inability to type custom values into ComboBox editors.

CaptureInput preempts typing while the ListView window is open.
For now, searching can still be done by manually opening the window.
2022-09-22 21:37:26 +02:00
thankyouverycool
7c2edd232d LibGUI: Reset Windows as visible for timer purposes on show()
Fixes scrolling timers failing to fire if a ComboBox window
had previously become occluded.
2022-09-22 21:37:26 +02:00
thankyouverycool
db2a1d3620 LibGUI: Always activate ComboBox ListView selections on MouseUp
Fixes having to doubleclick selected items to activate them if
the selection index hasn't changed since last activation.
2022-09-22 21:37:26 +02:00
thankyouverycool
7ac30f53a0 LibGUI: Block ComboBox windows from using CommandPalette 2022-09-22 21:37:26 +02:00
Andrew Kaster
8f38367d46 LibCore: Only include Account.h on Serenity in EventLoop and System
Core::Acount is only used within ``#ifdef __serenity__`` blocks in these
files, so guard the inclusion of Account.h in the same way.

This fixes the Android build of these files.
2022-09-22 11:07:21 -04:00
Andrew Kaster
d6a741af6c Meta: Don't build Core::LocalServer on Android
We won't be able to use local servers on Android without some serious
Android work to create background tasks, so just disable this for now,
as it currently relies on Core::Account to take over from SystemServer.
2022-09-22 11:07:21 -04:00
Andrew Kaster
cca54e9535 CI: Remove Android NDK Cache
This actually never worked as a cache, the build has failed since it
tried to use it. This should restore the Android nightly build.
2022-09-22 11:07:21 -04:00
Andreas Kling
a52d346839 LibWeb: Take coordinate spaces into account when clearing past floats
We were forgetting to convert to and from BFC root relative coordinates
when calculating how much clearance was needed to get past floats.

This fixes the last remaining issue on Acid1, which is now perfect. :^)
2022-09-22 17:06:49 +02:00
Andreas Kling
5efd63741f LibWeb: Perform horizontal inline alignment based on available space
Previously, we were using the full containing block width as a reference
for text-align values "right" and "center". This didn't take intruding
floats into account.
2022-09-22 17:06:48 +02:00
Andreas Kling
d43ef27761 LibWeb: Only include containing blocks in coordinate space translation
Layout box offset coordinates are always relative to their containing
block. Therefore, the functions that convert between coordinate spaces
should only visit containing blocks and apply their offsets, not *every*
box in the parent chain.

This fixes an issue where some floating boxes were unexpectedly far away
from their containing block.
2022-09-22 16:54:12 +02:00
Andreas Kling
54fb5af9ee LibWeb: Use entire margin box of floats when testing for intrusions 2022-09-22 16:54:12 +02:00
Andreas Kling
389f47f6fe LibWeb: Check both top and bottom of float position when looking for fit
We have to check that there's enough space at both the top and bottom of
the float's margin box, otherwise we risk overlapping existing content.
2022-09-22 16:54:12 +02:00
Timothy Flynn
82e730eba1 LibJS: Change default time display options to "always" for digital style
This is a normative change in the Intl.DurationFormat proposal. See:
d28076b
2022-09-22 14:39:24 +01:00
Xexxa
5f4c59e2c1 Base: Add and improve more emoji flags
🇨🇾 - U+1F1E8 U+1F1FE FLAG: CYPRUS
🇫🇮 - U+1F1EB U+1F1EE FLAG: FINLAND
🇬🇲 - U+1F1EC U+1F1F2 FLAG: GAMBIA
🇬🇺 - U+1F1EC U+1F1FA FLAG: GUAM
🇮🇪 - U+1F1EE U+1F1EA FLAG: IRELAND
🇰🇮 - U+1F1F0 U+1F1EE FLAG: KIRIBATI
🇰🇼 - U+1F1F0 U+1F1FC FLAG: KUWAIT
🇱🇸 - U+1F1F1 U+1F1F8 FLAG: LESOTHO
🇲🇦 - U+1F1F2 U+1F1E6 FLAG: MOROCCO
🇲🇭 - U+1F1F2 U+1F1ED FLAG: MARSHALL ISLANDS
🇲🇶 - U+1F1F2 U+1F1F6 FLAG: MARTINIQUE
🇲🇹 - U+1F1F2 U+1F1F9 FLAG: MALTA
🇴🇲 - U+1F1F4 U+1F1F2 FLAG: OMAN
🇵🇸 - U+1F1F5 U+1F1F8 FLAG: PALESTINIAN TERRITORIES
🇸🇪 - U+1F1F8 U+1F1EA FLAG: SWEDEN
🇸🇻 - U+1F1F8 U+1F1FB FLAG: EL SALVADOR
🇿🇼 - U+1F1FF U+1F1FC FLAG: ZIMBABWE
2022-09-22 08:15:27 -04:00
Xexxa
721e70e1df Base: Make some emoji flag 10px high
🇦🇨 - U+1F1E6 U+1F1E8 FLAG: ASCENSION ISLAND
🇦🇩 - U+1F1E6 U+1F1E9 FLAG: ANDORRA
🇦🇫 - U+1F1E6 U+1F1EB FLAG: AFGHANISTAN
🇦🇮 - U+1F1E6 U+1F1EE FLAG: ANGUILLA
🇦🇱 - U+1F1E6 U+1F1F1 FLAG: ALBANIA
🇦🇷 - U+1F1E6 U+1F1F7 FLAG: ARGENTINA
🇦🇸 - U+1F1E6 U+1F1F8 FLAG: AMERICAN SAMOA
🇧🇱 - U+1F1E7 U+1F1F1 FLAG: ST. BARTHÉLEMY
🇧🇲 - U+1F1E7 U+1F1F2 FLAG: BERMUDA
🇧🇳 - U+1F1E7 U+1F1F3 FLAG: BRUNEI
🇧🇶 - U+1F1E7 U+1F1F6 FLAG: CARIBBEAN NETHERLANDS
🇧🇿 - U+1F1E7 U+1F1FF FLAG: BELIZE
🇨🇨 - U+1F1E8 U+1F1E8 FLAG: COCOS (KEELING) ISLANDS
🇨🇰 - U+1F1E8 U+1F1F0 FLAG: COOK ISLANDS
🇨🇻 - U+1F1E8 U+1F1FB FLAG: CAPE VERDE
🇨🇽 - U+1F1E8 U+1F1FD FLAG: CHRISTMAS ISLAND
🇩🇬 - U+1F1E9 U+1F1EC FLAG: DIEGO GARCIA
🇩🇲 - U+1F1E9 U+1F1F2 FLAG: DOMINICA
🇩🇿 - U+1F1E9 U+1F1FF FLAG: ALGERIA
🇪🇨 - U+1F1EA U+1F1E8 FLAG: ECUADOR
🇪🇷 - U+1F1EA U+1F1F7 FLAG: ERITREA
🇪🇹 - U+1F1EA U+1F1F9 FLAG: ETHIOPIA
🇫🇯 - U+1F1EB U+1F1EF FLAG: FIJI
🇫🇰 - U+1F1EB U+1F1F0 FLAG: FALKLAND ISLANDS
🇬🇩 - U+1F1EC U+1F1E9 FLAG: GRENADA
🇬🇪 - U+1F1EC U+1F1EA FLAG: GEORGIA
🇬🇮 - U+1F1EC U+1F1EE FLAG: GIBRALTAR
🇬🇵 - U+1F1EC U+1F1F5 FLAG: GUADELOUPE
🇬🇶 - U+1F1EC U+1F1F6 FLAG: EQUATORIAL GUINEA
🇬🇸 - U+1F1EC U+1F1F8 FLAG: SOUTH GEORGIA & SOUTH SANDWICH ISLANDS
🇮🇴 - U+1F1EE U+1F1F4 FLAG: BRITISH INDIAN OCEAN TERRITORY
🇰🇾 - U+1F1F0 U+1F1FE FLAG: CAYMAN ISLANDS
🇲🇸 - U+1F1F2 U+1F1F8 FLAG: MONTSERRAT
🇳🇺 - U+1F1F3 U+1F1FA FLAG: NIUE
🇳🇿 - U+1F1F3 U+1F1FF FLAG: NEW ZEALAND
🇵🇳 - U+1F1F5 U+1F1F3 FLAG: PITCAIRN ISLANDS
🇸🇭 - U+1F1F8 U+1F1ED FLAG: ST. HELENA
🇹🇦 - U+1F1F9 U+1F1E6 FLAG: TRISTAN DA CUNHA
🇹🇨 - U+1F1F9 U+1F1E8 FLAG: TURKS & CAICOS ISLANDS
🇻🇬 - U+1F1FB U+1F1EC FLAG: BRITISH VIRGIN ISLANDS
2022-09-22 08:15:27 -04:00
Timothy Flynn
73fcaaeda4 Taskbar: Add a context menu to open clock settings from the clock widget 2022-09-22 11:46:53 +01:00
Sam Atkins
c64a5ccf29 LibWeb: Avoid unnecessary copies in CSS Parser 2022-09-22 02:04:23 +02:00
Sam Atkins
a211c06e99 LibWeb: Use llroundf() when rounding floats 2022-09-22 02:04:23 +02:00
Sam Atkins
188d9f1326 LibWeb: Resolve some trivial clang-tidy warnings in the CSS Parser
Issues resolved:
- Unnecessary `move()`s
- `else` after `return`
- `auto&` that could be `auto const&`

Why yes, I did just get clang-tidy set up. :^)
2022-09-22 02:04:23 +02:00
Ben Wiederhake
48062b3cca Meta: Remove 'time' invocation in lint-ci
Some systems don't have /usr/bin/time available, and during most runs
of lint-ci we don't actually care that much about the exact timing.
Therefore, let's just remove it. It's easy enough to add back in, if
someone wants to investigate an issue.
2022-09-22 00:45:10 +02:00
Linus Groh
edfef8e2f5 Everywhere: Rename WrapperGenerator to BindingsGenerator
This code generator no longer creates JS wrappers for platform objects
in the old sense, instead they're JS objects internally themselves.
Most of what we generate now are prototypes - which can be seen as
bindings for the internal C++ methods implementing getters, setters, and
methods - as well as object constructors, i.e. bindings for the internal
create_with_global_object() method.

Also tweak the naming of various CMake glue code existing around this.
2022-09-21 23:06:08 +01:00
Linus Groh
4270ede7c4 LibWeb: Remove WRAPPER_HACK() macro
We no longer access Bindings::FooWrapper anywhere for a Foo platform
object, so these can be removed :^)
2022-09-21 21:12:24 +01:00
Linus Groh
6055b0e850 LibWeb: Remove no-op impl() methods from the WEB_PLATFORM_OBJECT macro
These are leftovers from when wrapper objects still had an internal
implementation, which is no longer the case.
2022-09-21 21:12:24 +01:00
Linus Groh
2cab2a8e8f LibWeb: Turn is_platform_object() ifs into an Array 2022-09-21 21:12:24 +01:00
Linus Groh
464368f94a LibWeb: Rename is_wrappable_type() to is_platform_object()
This name more accurately reflects what we are checking. Also add an
explanatory note that only a hand-curated subset of platform object
types is checked in the absence of a full generated list.
2022-09-21 21:12:24 +01:00
Linus Groh
daf0a8dd91 LibWeb: Remove impl_is_wrapper() check from WrapperGenerator
This concept no longer applies to GC'd platform objects. The only place
where this was still used can use is_wrappable_type() instead.
2022-09-21 21:12:24 +01:00
Linus Groh
64a1992040 LibWeb: Remove support for RefPtr types in idl_type_name_to_cpp_type()
This is not used anymore.
2022-09-21 21:12:24 +01:00
Linus Groh
38b3ce8f03 LibIDL+LibWeb: Remove stale references to "wrapper class" concept
There are no wrappers for the platform object types anymore :^)
2022-09-21 21:12:24 +01:00
Sam Atkins
fb2e1c4611 headless-browser: Install EventLoop and Font plugins so it doesn't crash 2022-09-21 20:42:36 +01:00