Commit graph

45668 commits

Author SHA1 Message Date
Aliaksandr Kalenik
7d2a72d748 LibWeb: Move rows heights calculation in separate function in TFC 2023-01-09 15:06:27 +01:00
Andreas Kling
a915fee5f3 LibWeb: Only log HTML parser errors when HTML_PARSER_DEBUG is enabled
At this point, the parser is reliable enough that we don't need to spam
the debug log about minor parsing issues on every websites.
2023-01-09 14:00:26 +01:00
Jelle Raaijmakers
4ee40aeefd Meta: Add GMTA to CODEOWNERS 2023-01-09 07:07:47 -05:00
Jelle Raaijmakers
9398e308fe Ports: Use sha256 hash for libmpg123 2023-01-09 12:56:46 +01:00
Jelle Raaijmakers
44d679ba7e LibSoftGPU: Remove workaround for i686 depth comparison 2023-01-09 12:55:41 +01:00
Aliaksandr Kalenik
577c552209 LibWeb: Remove unused TableCellBox::next_cell() 2023-01-09 11:47:31 +01:00
Aliaksandr Kalenik
6c5ba10bb0 LibWeb: Remove redundant check for empty anonymous blocks
It is incorrect to skip anonymous block containers without
line boxes during block auto height calculation because there
might be table roots wrapped in anonymous table boxes after fixup
and their height should be taken in account so leaving just
condition to skip child boxes which margins are "collapsed
through" (`border_box_height() == 0`) sufficient to skip
anonymous blocks without lines but still consider table wrappers.
2023-01-09 11:47:31 +01:00
Aliaksandr Kalenik
57940f4370 LibWeb: Wrap table roots in anonymous block boxes
According to table fixup algorithm:
https://www.w3.org/TR/css-tables-3/#fixup-algorithm
around every table-root should be generated anonymous
box wrapper.

Also this patch implements important part of CSS 2.2
spec that is currently not present in CSS Tables 3
spec draft: https://www.w3.org/TR/CSS22/tables.html#model
that portion of computed properties should be moved
from table-root to table wrapper box. Without having
this part implemented height of absolutely positioned
table with `height: auto` won't be computed correctly.
2023-01-09 11:47:31 +01:00
Aliaksandr Kalenik
e107c83a57 LibWeb: Remove inheritance of TableBox from BlockContainer
Fixup rule that table roots need to be wrapped in anonymous
block boxes need to be implemeted instead of having `TableBox`
inherited from `BlockContainer`.
2023-01-09 11:47:31 +01:00
Aliaksandr Kalenik
c8337e9ee8 LibWeb: Remove inheritance of TableRowGroupBox from BlockContainer
Having `TableRowGroupBox` not inherited from `BlockContainer`
allows to write more simpler layout code.
2023-01-09 11:47:31 +01:00
Hendiadyoin1
1bdc4e6b29 AK: Reorder AK/Math after the removal of i686
Without i686 we can remove some implementations for sqrt and round_to.
2023-01-09 11:36:21 +01:00
martinfalisse
ce0f41b9fb LibWeb+WebContent: Use new String class in CSS::StyleValue
Converts uses of DeprecatedString to String in StyleValue, and patches
surrounding files that depend on these functions.
2023-01-09 11:09:31 +01:00
Srikavin Ramkumar
1c2e7b1e47 LibWeb: Run object representation steps on specified attribute updates 2023-01-09 10:58:22 +01:00
Srikavin Ramkumar
83cb35b60f LibWeb: Run object representation steps on element creation
Prior to this change, fallback content inside an object tag would not
be rendered on page load.
2023-01-09 10:58:22 +01:00
Karol Kosek
166f7e0b96 LibWeb: Respect box-sizing: content-box inside inline-blocks 2023-01-09 10:54:20 +01:00
Tim Ledbetter
61074b6b5c Help: Update browse view when opening a new help page
The browse view now always tracks the currently open help page.
2023-01-09 09:55:02 +01:00
Karol Kosek
41691a7fcb LibGUI: Make CommonLocationsProvider::load_from_json() failable
... and additionally port it to Core::Stream. :^)
2023-01-09 09:45:26 +01:00
Ben Wiederhake
493658423a fortunes: Fix broken links to now-defunct freenode.logbot.info
On the page https://archive.logbot.info/ , the old data is still easily
accessible. Even if it goes down, there will 'always' be a backup of the
serenityos content at my backup site, as a gzipped text file:
https://benwiederhake.github.io/freenode-serenity-archive/index.html

Long live fortunes(1)!
2023-01-09 09:13:48 +01:00
Nico Weber
b8bfefd130 LibGfx: Add initializer for ICC::DistinctFourCC
These are currently only used in Optional<>s, so this is no effective
behavior change.
2023-01-08 23:41:14 +01:00
Nico Weber
db02cf2aa8 LibGfx: Add initializers for ICCProfile enum class fields 2023-01-08 23:41:14 +01:00
Nico Weber
1a907aa305 LibGfx: Add initializer for ICCProfile::m_creation_timestamp 2023-01-08 23:41:14 +01:00
Nico Weber
7ae97c9fc4 LibGfx+icc: Look at profile_size field
This trims the input bytes to the profile size stored in the file.
Alternatively, we could reject files where the stored size doesn't
match the handed in size. But ICC profiles can be embedded in other
files, and those could conceivably pad the ICC profile data some.
2023-01-08 23:41:14 +01:00
Nico Weber
7d4ec4fecf LibGfx: Rename ICC::DateTimeNumber::hour to hours to match spec 2023-01-08 23:41:14 +01:00
Andreas Kling
33fd9ea5b3 LibGUI: Prevent "hide unnecessary scrollbars" from showing unwanted bars
When using this mode on an AbstractScrollWidget, it was not honoring the
related "scrollbars enabled" setting.

If scrollbars are disabled, they should never be made visible by the
"unnecessary scrollbars" logic.
2023-01-08 23:01:16 +01:00
EWouters
06d24be8c9 Ports/timidity: Use fresh config.guess for timidity 2023-01-08 22:54:19 +01:00
Liav A
29a46f400d Documentation: Remove references to the removed NE2000 driver 2023-01-08 21:51:59 +01:00
Liav A
73525ef31d Documentation: Update the BareMetalInstallation document
Update it to reflect the current status of the bare metal situation now.
2023-01-08 21:51:59 +01:00
Liav A
c876412b1b Kernel: Remove the NE2000 PCI network adapter driver
Nobody tests this network card as the person who added it, Jean-Baptiste
Boric (known as boricj) is not an active contributor in the project now.
After a discussion with him on the Discord server, we agreed it's for
the best to remove the driver, as for two reasons:
- The original author (boricj) agreed to do this, stating that he will
  not be able to test the driver anymore after his Athlon XP machine is
  no longer supported after the removal of the i686 port.
- It was agreed that the NE2000 network card family is far from the
  ideal hardware we would want to support, similarly to the RTL8139 that
  got removed recently for almost the same reason.
2023-01-08 21:51:59 +01:00
Kenneth Myhra
2e985bb505 base64: TRY() the fallible function encode_base64()
This seems to have been forgotten in commit 25f2e498.
2023-01-08 20:13:32 +00:00
Lucas CHOLLET
a33a490d48 Magnifier: Port to Core::Stream 2023-01-08 20:08:18 +00:00
Thomas Symalla
b8ec5c4470 Documentation: Fix typo in CLionConfiguration.md 2023-01-08 20:39:59 +01:00
Karol Kosek
01a786310d Ladybird: Add Qt's standard refresh key (F5) to reload shortcuts 2023-01-08 19:38:35 +01:00
Kenneth Myhra
a28aa8e6c1 chgrp: Use StringView instead of 'char const*'
This gets rid of a couple ad-hoc instances of DeprecatedString and makes
it more trivial to use the fallible function Core::System::getgrnam() in
place of LibC's getgrnam().
2023-01-08 19:02:50 +01:00
Kenneth Myhra
6b3cf21964 passwd: Use StringView instead of DeprecatedString
This can now be declared as a StringView, since commit 507cb411
Core::Account::from_name() takes a StringView as a input.

This removes one FIXME.
2023-01-08 17:10:53 +01:00
Kenneth Myhra
b6917bc886 blockdev: Use Core::System::open() instead of LibC open() 2023-01-08 15:19:59 +00:00
Kenneth Myhra
a7dafacced blockdev: Let fetch_ioctl() return ErrorOr<void> 2023-01-08 15:19:59 +00:00
kleines Filmröllchen
66a68a9523 Base: Move GUI application man pages into their own subsection
We do not want to move POSIX utilities into subsections since they have
standard names, but we can do whatever we want with Applications :^).
This is particularly advantageous as many applications contain several
images, which declutters the man1 directory.
2023-01-08 13:35:29 +01:00
kleines Filmröllchen
b89be9610d markdown-check: Check that binary links use the text "Open"
Binary links will only be allowed in these contexts, which is all that
we currently use them for anyways. This mainly gets rid of useless "not
checking local link" spam relating to binaries, and only a few local
links remain.
2023-01-08 13:35:29 +01:00
kleines Filmröllchen
f4b95835d1 markdown-check: Check that no old-style inter-manpage links are used
We've had quite some instances of people reintroducing these kinds of
links because they didn't know about the "new" help:// scheme. This
check should now prevent that from happening, though it might in rare
circumstances trigger a false positive.
2023-01-08 13:35:29 +01:00
kleines Filmröllchen
e430667923 Meta/build-manpages-website: Use absolute paths for all links
Previously, we had some broken cross-manpage links on the website after
the introduction of subsections. This is fixed by simply always using an
absolute path (leading '/') for links, making all images, icons and page
links work in all subsections.

Unfortunately, this change means that navigating the website build while
opening the files in the browser directly will no longer work. However,
a local static server such as `python -m http.server 8080` in the
output/ directory will work just fine for testing.
2023-01-08 13:35:29 +01:00
kleines Filmröllchen
76e601d758 Meta/build-manpages-website: Copy all manpage PNGs
This will allow using images in manpages elsewhere in the future without
adjusting the PNG copying command.

rsync unfortunately cannot place all files into the root folder when
receiving a list of files via --files-from=-.
2023-01-08 13:35:29 +01:00
Nico Weber
e5988b4a0d LibCore: Teach MimeData about ICC file extension and contents
See https://www.color.org/profile_embedding.xalter and
https://www.iana.org/assignments/media-types/application/vnd.iccprofile
for mime type and extensions.

See LibGfx/ICCProfile.cpp, parse_file_signature() for the magic number.
2023-01-08 13:25:15 +01:00
Ali Mohammad Pur
803ff81d4a LibXML+LibWeb: Avoid implicit cast from StringView{}->DeprecatedString
This produces a (truly) null DeprecatedString, which is not expected to
occur by CharacterData (where this string ends up).
Simply pass an "empty" DeprecatedString manually instead.
2023-01-08 12:15:46 +01:00
Timothy Flynn
356e58332c LibJS: Add and begin using a completion-compatible string formatter
The `deprecated_format` helper is a thin wrapper to map results from
AK::vformat to a throw completion. This will let us try to throw on OOM
conditions rather than just blowing up.

Note it's called `deprecated_format` as we will likely end up adding a
method named just `format` to return `ThrowCompletionOr<String>`, when
we begin the migration from DeprecatedString->String for LibJS.
2023-01-08 12:13:15 +01:00
Timothy Flynn
6e1a239a62 LibJS: Use fallible methods to handle OOM when resolving rope strings 2023-01-08 12:13:15 +01:00
Timothy Flynn
115baa7e32 LibJS+Everywhere: Make PrimitiveString and Utf16String fallible
This makes construction of Utf16String fallible in OOM conditions. The
immediate impact is that PrimitiveString must then be fallible as well,
as it may either transcode UTF-8 to UTF-16, or create a UTF-16 string
from ropes.

There are a couple of places where it is very non-trivial to propagate
the error further. A FIXME has been added to those locations.
2023-01-08 12:13:15 +01:00
Timothy Flynn
d793262beb AK+Everywhere: Make UTF-16 to UTF-8 converter fallible
This could fail to allocate the underlying storage needed to store the
UTF-8 data. Propagate this error.
2023-01-08 12:13:15 +01:00
Timothy Flynn
1edb96376b AK+Everywhere: Make UTF-8 and UTF-32 to UTF-16 converters fallible
These could fail to allocate the underlying storage needed to store the
UTF-16 data. Propagate these errors.
2023-01-08 12:13:15 +01:00
Timothy Flynn
d8044c5358 LibJS+LibWeb: Move the macro to convert ENOMEM to an exception to LibJS
Move the macro to LibJS and change it to return a throw completion
instead of a WebIDL exception. This will let us use this macro within
LibJS to handle OOM conditions.
2023-01-08 12:13:15 +01:00
Timothy Flynn
ba97f6a0d3 LibJS: Move the "other" optional completion in the move constructor
Otherwise, we invoke a non-trival copy. Caught by clangd.
2023-01-08 12:13:15 +01:00