Commit graph

45313 commits

Author SHA1 Message Date
Nico Weber 1fe3ba17c0 LibCrypto: Use nested namespace specifiers in Hash/ 2023-01-05 10:54:35 +01:00
Nico Weber 27189850d8 LibGfx: Sort ICC parsing functions by spec number 2023-01-05 10:54:35 +01:00
Jelle Raaijmakers a7806d410a Kernel: Convert 2 instances of dbgln to dmesgln_pci in AC'97 2023-01-05 01:50:35 +01:00
Evan Smal 288a73ea0e Kernel: Add dmesgln_pci logging for Kernel::PCI
A virtual method named device_name() was added to
Kernel::PCI to support logging the PCI::Device name
and address using dmesgln_pci. Previously, PCI::Device
did not store the device name.

All devices inheriting from PCI::Device now use dmesgln_pci where
they previously used dmesgln.
2023-01-05 01:44:19 +01:00
Andreas Kling 6a5be5f1c5 Meta: Add Jelle Raaijmakers to list of project maintainers :^) 2023-01-05 00:32:05 +01:00
John Bundgaard badfe72b64 SystemMonitor: Update stats/graph immediately on launch
Previously the stats was only updated once the first callback from
refresh_timer fired.

It now makes an early stats update on launch, so something will appear
in the graphs.
2023-01-05 00:12:29 +01:00
Aliaksandr Kalenik f8ce211201 LibWeb: Generate missing parents for table elements
Implements 3.1 and 3.2 algorithms from:
https://www.w3.org/TR/css-tables-3/#fixup-algorithm
2023-01-05 00:07:44 +01:00
Timothy Flynn c9e331b320 SoundPlayer: Parse Main::Arguments with Core::ArgsParser
Otherwise running "SoundPlayer --help" on the terminal tries to open a
file named "--help".
2023-01-05 00:06:32 +01:00
Timothy Flynn 9d2884603e LibIPC: Remove declarations of unimplemented IPC::Encoder methods
Should have been removed in af2ae7fda1.
2023-01-04 20:13:54 +01:00
Timothy Flynn 0ae2cef8b4 LibIPC: Move most of DeprecatedString's encoder to StringView's encoder
This was a footgun waiting to happen. The StringView encoder is only
used internally within IPC::Encoder to encode DeprecatedString. It does
not encode its null state nor its length. If someone were to innocently
use the StringView encoder as it is, and then decode a DeprecatedString
on the remote end, the decoding would be corrupt.

This changes the StringView encoder to do the work the DeprecatedString
encoder is currently doing, and the latter now just forwards to it.
2023-01-04 20:13:54 +01:00
Timothy Flynn 7c6b5ed161 LibIPC+LibC: Add and use a helper to encode/decoder container sizes
While refactoring the IPC encoders and decoders for fallibility, the
inconsistency in which we transfer container sizes was a frequent thing
to trip over. We currently transfer sizes as any of i32, u32, and u64.
This adds a helper to transfer sizes in one consistent way.

Two special cases here are DeprecatedString and Vector, whose encoding
is depended upon by netdb, so that is also updated here.
2023-01-04 20:13:54 +01:00
AsciiWolf 40165f5846 Ports: Fix the libmpg123 patch 2023-01-04 20:07:53 +01:00
Nico Weber beee52dbdc LibRegex: Return StringView from get_error_string()
It just returns literals after all. Removes one use of DeprecatedString.
2023-01-04 20:05:52 +01:00
Nico Weber 5fdef94d53 LibRegex: Tweak get_error() function
- Return StringView instead of DeprecatedString from function
  returning only literals
- Remove redundant cast
- Remove "inline" -- the function is defined in a cpp file,
  so there's no need for the linkage implications of `inline`.
  And compilers know to inline static functions with a single
  use without it. (Normally I'd remove the `static` instead,
  but this is in an `extern "C"` block, and it doesn't matter
  enough to end that block before the helper function and
  reopen it enough after)
2023-01-04 20:04:57 +01:00
Nico Weber a96f307af1 Everywhere: Make global inline functions not static
`inline` already assigns vague linkage, so there's no need to
also assign per-TU linkage. Allows the linker to dedup these
functions across TUs (and is almost always just the Right Thing
to do in C++ -- this ain't C).
2023-01-04 20:04:57 +01:00
Nico Weber 0a3cc10bb6 Everywhere: Remove some redundant inline keywords
Functions defined inside class bodies (including static functions)
are implicitly inline, no need to type it out.
2023-01-04 20:04:57 +01:00
Simon Danner 5fa8068580 LibPDF: Fix calculation of encryption key
Before this patch, the generation of the encryption key was not working
correctly since the lifetime of the underlying data was too short,
same inputs would give random encryption keys.

Fixes #16668
2023-01-04 11:10:37 -05:00
implicitfield 51f41ea997 LibWeb: Support more presentational hints from the HTML spec
Specifically, this adds support for the align attribute when applied to
heading, paragraph and caption elements.
2023-01-04 11:50:03 +01:00
implicitfield 25af1b33f6 LibWeb: Add spec-mandated rules for embedded content to Default.css 2023-01-04 11:50:03 +01:00
implicitfield e75eb21a54 LibWeb: Support "start" and "end" values for justify-content 2023-01-04 11:50:03 +01:00
Timothy Flynn 4819ebe831 LibIPC: Remove now-unused stream operator from IPC::Encoder
The fallible encoders are now the only option to encode values.
2023-01-04 11:49:15 +01:00
Timothy Flynn 8b7b03b369 IPCCompiler+LibIPC: Propagate IPC encoder errors
This propagates errors from user-defined encoders up to IPC::Connection.
There, we currently just log the error, as we aren't in a position to
propagate it further (i.e. we are inside a deferred invocation).
2023-01-04 11:49:15 +01:00
Timothy Flynn ab99ed5fba LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr
In doing so, this removes all uses of the Encoder's stream operator,
except for where it is currently still used in the generated IPC code.
So the stream operator currently discards any errors, which is the
existing behavior. A subsequent commit will propagate the errors.
2023-01-04 11:49:15 +01:00
Timothy Flynn d0f3f3d5ff LibIPC: Add a Dictionary for-each method for fallible callbacks
Similar to a similar change to JsonObject (13b18a1).
2023-01-04 11:49:15 +01:00
Timothy Flynn af2ae7fda1 LibIPC: Replace Encoder::encode methods with IPC::encode specializations
Currently, the stream operator overload hides most encoding errors. In
an effort to make IPC encoding fallible, this first replaces the Encoder
overloads with IPC::encode specializations. The return type is still a
boolean, a future commit will change it to ErrorOr.

Note that just like in the analogous decoder commit (9b48362), these
specializations must be defined at the namespace scope. Further, all
arithmetic specializations are now in one method.
2023-01-04 11:49:15 +01:00
Taj Morton 31eeea08ba Kernel/FileSystem: Fix handling of FAT names that don't fill an entry
* Fix bug where last character of a filename or extension would be
   truncated (HELLO.TXT -> HELL.TX).
 * Fix bug where additional NULL characters would be added to long
   filenames that did not completely fill one of the Long Filename Entry
   character fields.
2023-01-04 09:02:13 +00:00
Taj Morton f2253d11e5 Documentation: Add how to update build to use SerenityOS-provided CMake 2023-01-04 09:02:13 +00:00
Taj Morton a91fc697bb Kernel/FileSystem: Remove FIXME about old/new path being the same
Added comment after confirming that Linux and OpenBSD implenment the
same behavior.
2023-01-04 09:02:13 +00:00
Jelle Raaijmakers d57e9b53a0 LibGL: Implement GL_BLEND_DST and GL_BLEND_SRC
These context parameters are used to retrieve the active blend
functions.
2023-01-03 19:49:31 -05:00
Jelle Raaijmakers 215d68baf6 Ports: Remove gltron patch for glext.h
This is no longer necessary since we have resolved most conflicts with
SDL2's version of the GL constants.
2023-01-03 19:48:16 -05:00
Jelle Raaijmakers c2b3a7a524 Ports: Unbreak ScummVM icon pack generation
The ScummVM icon repository no longer accepts "1970-01-01" as a valid
start date for the icon pack generation. We now use the oldest commit
date in the repository which _is_ accepted.
2023-01-03 19:47:29 -05:00
djwisdom c1d4fc2d0b Ports: Update serenity-theming use latest commit 7a39b7d 2023-01-03 16:13:54 -08:00
Tim Schumacher 77ea609cd3 Lagom: Fix up a missed usage of Compress::Zlib in the fuzzers 2023-01-03 23:26:45 +01:00
MacDue c7ab6daf26 LibGUI: Stop duplicating mouse events of cursor tracking widget
Previously we didn't always return when there was an automatic cursor
tracking widget. This meant for certain events e.g. a MouseUp over
the tracking widget, the event would be fired twice on the same widget
(once on `m_automatic_cursor_tracking_widget` then again on
`result.widget` outside the if).

Fixes #16737
2023-01-03 21:25:08 +01:00
martinfalisse 25a60f988a LibWeb: Conditionally draw borders for table elements
When the border-collapse property is given for a table with the
`collapse` property, only the inner borders should be drawn.
2023-01-03 20:02:47 +01:00
martinfalisse d467a0a730 LibWeb: Use the layout_state border values when drawing borders
This will be useful for conditionally drawing borders in the
TableFormattingContext.
2023-01-03 20:02:47 +01:00
martinfalisse ba5e0607fd Base: Add test page for table 2023-01-03 20:02:47 +01:00
martinfalisse 64c353f11c LibWeb: Parse border-collapse property for HTML table 2023-01-03 20:02:47 +01:00
martinfalisse 25f612f32b LibWeb: Prevent column sizing errors for html table
Previously when there was no difference between the sum of the
max and min-widths of all columns of a table, it would result in a NaN
value being set as the column's width as there was a division by 0.

This would result in 2+ column tables being reduced to only 1 column.
2023-01-03 20:02:47 +01:00
Timothy Flynn c88aa21302 Meta: Mark myself a CODEOWNER of some paths to be alerted of related PRs 2023-01-03 19:51:49 +01:00
Linus Groh b9913f9441 LibGfx: Fix typos in ICC spec comments 2023-01-03 18:53:20 +01:00
yyny fb2be937ac Kernel: Allow sending SIGCONT to processes in the same group
Allow sending `SIGCONT` to processes that share the same `pgid`.
This is allowed in Linux aswell.

Also fixes a FIXME :^)
2023-01-03 18:13:11 +01:00
yyny 9ca979846c Kernel: Add sid and pgid to Credentials
There are places in the kernel that would like to have access
to `pgid` credentials in certain circumstances.

I haven't found any use cases for `sid` yet, but `sid` and `pgid` are
both changed with `sys$setpgid`, so it seemed sensical to add it.

In Linux, `man 7 credentials` also mentions both the session id and
process group id, so this isn't unprecedented.
2023-01-03 18:13:11 +01:00
Jelle Raaijmakers 456a8436b5 LibGL: Remove i686 data types in favor of 64-bit types 2023-01-03 18:11:37 +01:00
Jelle Raaijmakers 62092a329d LibGL: Make GLsizeiptr signed
The Khronos description of a "non-negative binary integer" does not mean
an unsigned type, just that it should not be negative.
2023-01-03 18:11:37 +01:00
Linus Groh e7627af555 Meta: Add CODEOWNERS file
These are the areas of the system where I'd like GitHub to inform me
about changes, other maintainers are of course free to add themselves.

Subscribing to all notifications and using email filters is no longer
practical :^)

https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
2023-01-03 12:10:56 -05:00
Srikavin Ramkumar 56efd60755 LibWeb: Add stub reset algorithm for HTMLOutputElement 2023-01-03 18:09:40 +01:00
Srikavin Ramkumar 119e58a8c1 LibWeb: Add stub reset algorithm for HTMLTextAreaElement 2023-01-03 18:09:40 +01:00
Srikavin Ramkumar b55c9f36dc LibWeb: Implement reset algorithm for HTMLSelectElement 2023-01-03 18:09:40 +01:00
Srikavin Ramkumar de44e0faf5 LibWeb: Implement reset algorithm for HTMLInputElement 2023-01-03 18:09:40 +01:00