Commit graph

441 commits

Author SHA1 Message Date
Hugh Davenport 486c562c7e Taskbar: Use name of Ladybird as default QuickLaunch
As the name of the Browser app is now titled Ladybird this was resulting in a
double up if installed fresh then rebooted (or likely after an upgrade). This
change corrects this by using the Ladybird title
2024-01-03 21:30:14 +01:00
Andrew Kaster 124c378472 LibWeb+WebWorker: Move worker execution into a new WebWorker process
We now create a WorkerAgent for the parent context, which is currently
only a Window. Note that Workers can have Workers per the spec.

The WorkerAgent spawns a WebWorker process to hold the actual
script execution of the Worker. This is modeled with the
DedicatedWorkerHost object in the WebWorker process.
A start_dedicated_worker IPC method in the WebWorker IPC creates the
WorkerHost object. Future different worker types may use different IPC
messages to create their WorkerHost instance.

This implementation cannot yet postMessage between the parent and the
child processes.

Co-Authored-By: Andreas Kling <kling@serenityos.org>
2023-11-15 12:56:33 +01:00
david072 13b98d01c0 Taskbar/QuickLaunchWidget: Properly save Quick Launch Entries
The entries in the QuickLaunchWidget are now saved properly. This means
that the format with which they are saved needed to be changed, since we
now also need to store the order of the entries. To do this, the entries
are now saved using the following value format: "<index>:<path>". When
loading, we simply parse this structure out and sort by the index,
before parsing the path into `QuickLaunchEntry`s.
2023-11-09 23:35:52 +01:00
Timothy Flynn e8d921820a Browser+BrowserSettings: Migrate to LibWebView for search engines 2023-10-23 12:12:36 -04:00
Andrew Kaster 424eca24ba Base: Only do a boot/shutdown smoke-test for aarch64 for CI testing
Instead of managing a large list of tests to skip as we break aarch64,
simply don't run any userspace tests. We need to keep a smoke test going
so that we don't break aarch64 boot with new Kernel changes and new
drivers.
2023-10-17 11:02:25 -06:00
Bastiaan van der Plaat aed25991e6 Maps: Add MapsSettings with multiple tile providers options 2023-09-18 12:46:41 -06:00
Bastiaan van der Plaat 258a6cb126 FileManager: Use new window remember state 2023-08-30 06:49:51 -04:00
Jelle Raaijmakers bf927344fb Base: Teach ImageViewer and PixelPaint to open JXL, TGA images 2023-08-09 14:40:26 +02:00
MacDue 7a0e3474d6 Base: Setup file associations for .tvg 2023-07-03 23:54:51 +02:00
Kim Kulak 63fc36d00d Base: Add "Wiby.me" To "SearchEngines.json" 2023-07-01 23:37:04 +01:00
kleines Filmröllchen 03fac609ee AudioServer+Userland: Separate audio IPC into normal client and manager
This is a sensible separation of concerns that mirrors the WindowServer
IPC split. On the one hand, there is the "normal" audio interface, used
for clients that play audio, which is the primary service of
AudioServer. On the other hand, there is the management interface,
which, like the WindowManager endpoint, provides higher-level control
over clients and the server itself.

The reasoning for this split are manifold, as mentioned we are mirroring
the WindowServer split. Another indication to the sensibility of the
split is that no single audio client used the APIs of both interfaces.
Also, useless audio queues are no longer created for managing clients
(since those don't even exist, just like there's no window backing
bitmap for window managing clients), eliminating any bugs that may occur
there as they have in the past.

Implementation-wise, we just move all the APIs and implementations from
the old AudioServer into the AudioManagerServer (and respective clients,
of course). There is one point of duplication, namely the hardware
sample rate. This will be fixed in combination with per-client sample
rate, eliminating client-side resampling and the related update bugs.
For now, we keep one legacy API to simplify the transition.

The new AudioManagerServer also gains a hardware sample rate change
callback to have exact symmetry on the main server parameters (getter,
setter, and callback).
2023-06-25 00:16:44 +02:00
Andreas Kling 5ef29364db Base: Add some browser content filters for common ads and trackers
Just some things I kept seeing again and again while browsing
newspaper websites. Also sorted the file.
2023-06-19 13:21:15 +02:00
Ben Wiederhake 3f1cc7125c CI: Don't run known-failing tests on Aarch
These might be the cause of CI failures.
2023-06-08 10:03:35 +02:00
Daniel Bertalan e77ce26ff1 run-tests: Unlink coredumps in self-test mode
This ensures that the RAM does not fill up with already processed
coredumps when many tests crash (as is the case on AArch64). We only
do this in self-test mode so as to avoid racing CrashDaemon.
2023-06-01 09:04:20 +02:00
thankyouverycool 7fa8fae786 FontEditor: Allow application to launch without a font
Since LibFSAC requires a reified window before loading a font, it
makes sense to have a safe null state for the app.

This lets us stay alive after a failed file request on startup,
handle failure at any point during initialization, and claw back
memory from all our font RefPtrs.

A default startup font or none at all can now be set in FontEditor.ini
2023-05-13 12:53:49 +02:00
Caoimhe d7b067e8f7 Base: Run SpiceAgent as a user service
This allows it to read/write to the user's clipboard properly. Prior to
this, it would be writing to the Clipboard server running under the
window user, which doesn't impact other users (like anon).

Co-authored-by: Daniel Bertalan <dani@danielbertalan.dev>
2023-05-12 17:47:16 +01:00
Cubic Love 240a56d9ce Base+CatDog: Move assets from /icons/ to /graphics/
The graphics directory is a more suitable home for demo assets.
Also, update the example presenter file which uses a CatDog sprite.
2023-05-05 11:52:33 +01:00
Andreas Kling 9fa51987f8 Userland+Base: Treat ".webp" files as images :^) 2023-05-01 11:10:56 +02:00
Andreas Kling c756e021a7 Userland: Remove "Inspector" program and related utilities
This program has never lived up to its original idea, and has been
broken for years (property editing, etc). It's also unmaintained and
off-by-default since forever.

At this point, Inspector is more of a maintenance burden than a feature,
so this commit removes it from the system, along with the mechanism in
Core::EventLoop that enables it.

If we decide we want the feature again in the future, it can be
reimplemented better. :^)
2023-04-25 14:48:40 +02:00
Timothy Flynn 65283d6879 BrowserSettings: Add a tab to control the Browser's autoplay settings
This adds a checkbox to enable autoplay on all websites (disabled by
default) and a website list to enable autoplay on individual websites
(set to file:// URLs only by default).
2023-04-18 16:30:02 +02:00
Kyle Lanmon fcda397136 Presenter: Support multiple frames per slide 2023-03-22 10:32:02 +01:00
kleines Filmröllchen 61bb9103c2 Base+Userland: Add support for QOA files everywhere
This adds MIME type sniffing,
`file` support,
LaunchServer support to open QOA in SoundPlayer,
and audio icons
2023-03-10 04:07:14 -07:00
Timothy Flynn b52d6c2539 Base: Add Norwegian NO-23 Trøndelag flag to emoji-serenity.txt
This was missed in 2f7873d427.
2023-03-03 17:09:58 +00:00
Timothy Flynn 4212010ebd Base: Add a trailing newline to emoji-serenity.txt
We currently aren't parsing the last line of emoji-serenity.txt because
Core::Stream does not think the last line is readable. We should, of
course, fix Core::Stream. But keeping a trailing newline here is nice
anyways.
2023-02-24 19:48:47 +01:00
Ali Mohammad Pur eb20fbe145 Everywhere: Use /bin/Shell as the shebang for Shell scripts 2023-02-13 23:00:15 +03:30
Karol Kosek a85c18d3c4 Base: Add .ico file association to Image Viewer and Pixel Paint 2023-02-04 18:02:03 -07:00
Xexxa c55a5add0f Base: Add more emoji
🔗💥 - U+1F517_U+200D_U+1F4A5 BROKEN CHAIN
🍄🟫 - U+1F344_U+200D_U+1F7EB MUSHROOM (NON-POISONOUS)
🙂‍↕ - U+1F642_U+200D_U+2195 NODDING FACE
🙂‍↔ - U+1F642_U+200D_U+2194 SHAKING FACE
🍋🟩 - U+1F34B_U+200D_U+1F7E9 LIME
🐦🔥 - U+1F426_U+200D_U+1F525 PHOENIX
🧑🧒 - U+1F9D1_U+200D_U+1F9D2 FAMILY: ADULT, CHILD
🧑🧑🧒 - U+1F9D1_U+200D_U+1F9D1_U+200D_U+1F9D2
FAMILY: ADULT, ADULT, CHILD
🧑🧒🧒 - U+1F9D1_U+200D_U+1F9D2_U+200D_U+1F9D2
FAMILY: ADULT, CHILD, CHILD
🧑🧑🧒🧒 - U+1F9D1_U+200D_U+1F9D1_U+200D_U+1F9D2_U+200D_U+1F9D2
FAMILY: ADULT, ADULT, CHILD, CHILD
2023-01-28 15:22:14 +00:00
Xexxa 816b557460 Base: Remove U+FE0F from emoji-serenity.txt 2023-01-28 15:22:14 +00:00
Sam Atkins 1910dc8976 Tests: Move test PDF files into Tests/LibPDF
Let's put test files with the tests themselves, instead of a random user
directory. (But still copy them so they appear in the user directory
for convenience.)
2023-01-19 11:50:10 +00:00
Tom Needham 761b89c28e Base: Add ImageViewer as the default app to open TGA files :^)
This patch allows .tga files to be opened by ImageViewer automatically
when selected in FileManager
2023-01-15 12:43:03 +01:00
Florian Cramer 379e4a2432 Browser: Escape question marks for google.com urls in content filter
This makes it possible to load today''s doodle, which is loaded from
http://www.google.com/logos/doodles/...
2022-12-27 07:28:25 +03:30
Tim Schumacher ceb118e1fa Base: Reenable the disabled LibCore::Stream tests 2022-12-13 11:34:38 +01:00
Andrew Kaster bee31d2f90 Base: Add extra sync to run-tests-and-shutdown.sh
This shouldn't be necessary but reproducing the odd corrupted profile
data from the nightly Azure runs is proving tricky locally. Hopefully
this will mitigate the issue.
2022-12-10 11:51:16 +00:00
Xexxa 23b07b3408 Base: Add emoji flags for French subdivisions
🏴󠁦󠁲󠁢󠁲󠁥󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E0062 U+E0072 U+E0065 U+E007F FR-BRE
Bretagne
🏴󠁦󠁲󠁯󠁣󠁣󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E006F U+E0063 U+E0063 U+E007F FR-OCC
Occitanie
🏴󠁦󠁲󠁮󠁡󠁱󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E006E U+E0061 U+E0071 U+E007F FR-NAQ
Nouvelle-Aquitaine
🏴󠁦󠁲󠁰󠁡󠁣󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E0070 U+E0061 U+E0063 U+E007F FR-PAC
Provence-Alpes-Côte-d’Azur
🏴󠁦󠁲󠁮󠁯󠁲󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E006E U+E006F U+E0072 U+E007F FR-NOR
Normandie
🏴󠁦󠁲󠁰󠁤󠁬󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E0070 U+E0064 U+E006C U+E007F FR-PDL
Pays-de-la-Loire
🏴󠁦󠁲󠁣󠁯󠁲󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E0063 U+E006F U+E0072 U+E007F FR-COR
Corse
🏴󠁦󠁲󠁡󠁲󠁡󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E0061 U+E0072 U+E0061 U+E007F FR-ARA
Auvergne-Rhône-Alpes
🏴󠁦󠁲󠁣󠁶󠁬󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E0063 U+E0076 U+E006C U+E007F FR-CVL
Centre-Val de Loire
🏴󠁦󠁲󠁢󠁦󠁣󠁿 -
U+1F3F4 U+E0066 U+E0072 U+E0062 U+E0066 U+E0063 U+E007F FR-BFC
Bourgogne-Franche-Comté
2022-12-09 18:50:52 +00:00
Sam Atkins fc86ea7e5b Base: Use spaces instead of underscores to separate emoji codepoints
This broke the build, oops!
2022-11-30 12:24:52 +00:00
Xexxa 01653bd94b Base: Add emoji flags for provinces in Liberia
🏴󠁬󠁲󠁢󠁭󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0062_U+E006D_U+E007F LR-BM
Bomi
🏴󠁬󠁲󠁢󠁧󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0062_U+E0067_U+E007F LR-BG
Bong
🏴󠁬󠁲󠁧󠁰󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0067_U+E0070_U+E007F LR-GP
Gbarpolu
🏴󠁬󠁲󠁧󠁢󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0067_U+E0062_U+E007F LR-GB
Grand Bassa
🏴󠁬󠁲󠁣󠁭󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0063_U+E006D_U+E007F LR-CM
Grand Cape Mount
🏴󠁬󠁲󠁧󠁧󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0067_U+E0067_U+E007F LR-GG
Grand Gedeh
🏴󠁬󠁲󠁧󠁫󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0067_U+E006B_U+E007F LR-GK
Grand Kru
🏴󠁬󠁲󠁬󠁯󠁿 - U+1F3F4_U+E006C_U+E0072_U+E006C_U+E006F_U+E007F LR-LO
Lofa
🏴󠁬󠁲󠁭󠁧󠁿 - U+1F3F4_U+E006C_U+E0072_U+E006D_U+E0067_U+E007F LR-MG
Margibi
🏴󠁬󠁲󠁭󠁯󠁿 - U+1F3F4_U+E006C_U+E0072_U+E006D_U+E006F_U+E007F LR-MO
Montserrado
🏴󠁬󠁲󠁭󠁹󠁿 - U+1F3F4_U+E006C_U+E0072_U+E006D_U+E0079_U+E007F LR-MY
Maryland
🏴󠁬󠁲󠁮󠁩󠁿 - U+1F3F4_U+E006C_U+E0072_U+E006E_U+E0069_U+E007F LR-NI
Nimba
🏴󠁬󠁲󠁲󠁩󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0072_U+E0069_U+E007F LR-RI
Rivercess
🏴󠁬󠁲󠁲󠁧󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0072_U+E0067_U+E007F LR-RG
River Gee
🏴󠁬󠁲󠁳󠁩󠁿 - U+1F3F4_U+E006C_U+E0072_U+E0073_U+E0069_U+E007F LR-SI
Sinoe
2022-11-30 12:13:13 +00:00
kleines Filmröllchen 66c903424c Base: Add an example presentation
This contains CatDog and uses most of the currently supported features.
2022-11-25 14:28:33 -07:00
Xexxa 2f7873d427 Base: Add emoji for current and former Norwegian subdivisions
🏴󠁮󠁯󠀰󠀱󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0031 U+E007F NO-01
Østfold
🏴󠁮󠁯󠀰󠀳󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0033 U+E007F NO-03
Oslo
🏴󠁮󠁯󠀰󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0034 U+E007F NO-04
Hedmark
🏴󠁮󠁯󠀰󠀵󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0035 U+E007F NO-05
Oppland
🏴󠁮󠁯󠀰󠀶󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0036 U+E007F NO-06
Buskerud
🏴󠁮󠁯󠀰󠀹󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0039 U+E007F NO-09
Aust-Agder
🏴󠁮󠁯󠀱󠀰󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0030 U+E007F NO-10
Vest-Agder
🏴󠁮󠁯󠀱󠀲󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0032 U+E007F NO-12
Hordaland
🏴󠁮󠁯󠀱󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0034 U+E007F NO-14
Fjordane
🏴󠁮󠁯󠀱󠀵󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0035 U+E007F NO-15
Møre og Romsdal
🏴󠁮󠁯󠀱󠀶󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0036 U+E007F NO-16
Sør-Trøndelag
🏴󠁮󠁯󠀱󠀷󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0037 U+E007F NO-17
Nord-Trøndelag
🏴󠁮󠁯󠀱󠀸󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0038 U+E007F NO-18
Nordland
🏴󠁮󠁯󠀱󠀹󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0039 U+E007F NO-19
Troms
🏴󠁮󠁯󠀲󠀱󠁿 - U+1F3F4 U+E006E U+E006F U+E0032 U+E0031 U+E007F NO-21
Svalbard
🏴󠁮󠁯󠀲󠀲󠁿 - U+1F3F4 U+E006E U+E006F U+E0032 U+E0032 U+E007F NO-22
Jan Mayen
🏴󠁮󠁯󠀲󠀳󠁿 - U+1F3F4 U+E006E U+E006F U+E0032 U+E0033 U+E007F NO-23
Trøndelag
🏴󠁮󠁯󠀳󠀰󠁿 - U+1F3F4 U+E006E U+E006F U+E0033 U+E0030 U+E007F NO-30
Viken
🏴󠁮󠁯󠀳󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0033 U+E0034 U+E007F NO-34
Innlandet
🏴󠁮󠁯󠀴󠀲󠁿 - U+1F3F4 U+E006E U+E006F U+E0034 U+E0032 U+E007F NO-42
Agder
🏴󠁮󠁯󠀴󠀶󠁿 - U+1F3F4 U+E006E U+E006F U+E0034 U+E0036 U+E007F NO-46
Vestland
🏴󠁮󠁯󠀵󠀰󠁿 - U+1F3F4 U+E006E U+E006F U+E0035 U+E0030 U+E007F NO-50
Trøndelag
🏴󠁮󠁯󠀵󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0035 U+E0034 U+E007F NO-54
Troms og Finnmark
2022-11-24 10:06:42 +00:00
Xexxa 2c8e161f2d Base: Add more emoji subdivision flags
🏴󠁮󠁯󠀰󠀲󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0032 U+E007F NO-02
Akershus
🏴󠁮󠁯󠀰󠀷󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0037 U+E007F NO-07
Vestfold
🏴󠁮󠁯󠀰󠀸󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0038 U+E007F NO-08
Telemark
🏴󠁮󠁯󠀱󠀱󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0031 U+E007F NO-11
Rogaland
🏴󠁮󠁯󠀲󠀰󠁿 - U+1F3F4 U+E006E U+E006F U+E0032 U+E0030 U+E007F NO-20
Finnmark
🏴󠁮󠁯󠀳󠀸󠁿 - U+1F3F4 U+E006E U+E006F U+E0033 U+E0038 U+E007F NO-38
Vestfold og Telemark
🏴󠁺󠁷󠁨󠁡󠁿 - U+1F3F4 U+E007A U+E0077 U+E0068 U+E0061 U+E007F ZW-HA
Harare
2022-11-16 21:43:33 +00:00
Xexxa 4e3498c388 Base: Add new yaks to emoji-serenity.txt
􌴤 - U+10CD24 Yakslow
􌴥 - U+10CD25 Buffyak
􌴦 - U+10CD26 Yaktrap
􌵪 - U+10CD6A Yakthink
􌵫 - U+10CD6B Hyperyakkie
2022-11-16 21:43:33 +00:00
Julian Offenhäuser e8bdd885a3 Base: Add a PDF document to test Adobe Type 1 font rendering
It also tests a subset of PDF version 1.5 functionality, such as
compressed object streams.
2022-10-16 17:44:54 +02:00
Lucas CHOLLET 99cd6f66cf Base: Launch CrashDaemon at session start-up 2022-10-14 11:37:11 +02:00
Lucas CHOLLET 3197c1793a Base: Launch Clipboard at session start-up
The clipboard service hasn't been ported to user-based portals with
others services as it is needed at `GUI::Application` creation and thus
before the first login, as the `LoginServer` needs one.

This problem as been solved thanks to session-based portals, a clipboard
portal is now created at boot for the "login" session and another for
each "user" session.

With a user-based portal, the "login" portal would have needed to be
created for the `root` user, exposing us to security issues. It now, can
be owned by the `window` user.
2022-10-14 11:37:11 +02:00
Peter Elliott 7af5eef0dd SystemServer+LoginServer+Userland: Switch to sid-based sockets
This commit does three things atomically:
- switch over Core::Account+SystemServer+LoginServer to sid based socket
  names.
- change socket names with %uid to %sid.
- add/update necessary pledges and unveils.

Userland: Switch over servers to sid based sockets

Userland: Properly pledge and unveil for sid based sockets
2022-10-03 11:11:29 +02:00
thankyouverycool 12b9c0ce7f Welcome: Add new tips 2022-10-01 13:39:10 +03:30
Luke Wilde 1cff5fe2ff Base: Add ~200 more ads and trackers to the default content filter list 2022-09-30 15:51:39 +01:00
Luke Wilde 55d1e84e0b Base: Change 6sc.io in default content filter to 6sc.co
This was simply a typo, it's `co` instead of `io`.
2022-09-30 15:51:39 +01:00
Sam Atkins 76f524c1d6 Base: Skip Shell tests
We have a high random failure rate on Shell tests, even with two of them
already manually disabled for being flaky. For now, let's skip them in
automated/CI testing so that "real" failures are more obvious.

Two of the tests have early-exits to disable them, which I wanted to
remove, but that makes `Meta/lint-shell-scripts.sh` very cross, so I'll
leave them.
2022-09-13 13:14:59 -04:00
Ryan Liptak 221d9089e9 Meta: Generate emoji.txt at build time from Unicode's emoji-test.txt
Instead of manually updating emoji.txt whenever new emoji are added,
we use Unicode's emoji-test.txt to generate emoji.txt on each build,
including only the emojis that Serenity supports at that time.

By using emoji-test.txt, we can also include all forms of each emoji
(fully-qualified, minimally-qualified, and unqualified) which can be
helpful when double-checking how certain forms are handled.
2022-08-22 08:42:54 +01:00
Ryan Liptak 8f4317e207 Base: Move Serenity-specific emoji from emoji.txt to emoji-serenity.txt 2022-08-22 08:42:54 +01:00