Commit graph

19262 commits

Author SHA1 Message Date
Ali Mohammad Pur
18ddfc19c6 Meta: Disable the use of PCH by default
While this has a rather significant impact for me, it appears to have
very minimal build time improvements (or in some cases, regressions).
Also appears to cause some issues when building on macOS.
So disable it by default, but leave the option so people that get
something out of it (seems to mostly be a case of "is reading the
headers fast enough") can turn it on for their builds.
2021-04-22 22:23:14 +02:00
Ali Mohammad Pur
38418fdfdf AK+Userland: Use mpfard@serenityos.org for my copyright headers 2021-04-22 22:19:09 +02:00
Andreas Kling
b74bf31a53 LibWeb: Implement document.anchors
This returns an HTMLCollection of all <a> elements in the document that
have a "name" attribute.
2021-04-22 22:14:55 +02:00
Andreas Kling
43d16fa5b6 LibWeb: Implement document.applets
This is a legacy interface that returns an always-empty HTMLCollection.
2021-04-22 22:11:42 +02:00
Andreas Kling
e4df1b223f LibWeb: Implement a slow but functional HTMLCollection :^)
HTMLCollection is an awkward legacy interface from the DOM spec.

It provides a live view of a DOM subtree, with some kind of filtering
that determines which elements are part of the collection.

We now return HTMLCollection objects from these APIs:

- getElementsByClassName()
- getElementsByName()
- getElementsByTagName()

This initial implementation does not do any kind of caching, since that
is quite a tricky problem, and there will be plenty of time for tricky
problems later on when the engine is more mature.
2021-04-22 21:21:46 +02:00
Andreas Kling
49f3d88baf LibWeb: Allow IDL interfaces to override get_by_index()
You can now specify the "CustomGetByIndex" extended interface attribute
which will cause the generator to emit an override declaration for
JS::Object::get_by_index().

It's up to you to implement that function somewhere. Just like the
CustomGet mechanism already works. :^)
2021-04-22 21:21:46 +02:00
Brian Gianforcaro
dc0fc16981 Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
Simon Danner
c8d56ee4f4
LibWeb: Improve fallback font selection
Try to find a font that has at least some of the requested properties.
This makes e.g. rfcs on tools.ietf.org easier to read since their
headers are now bold.
2021-04-22 20:47:47 +02:00
Simon Danner
7ab8be9e0b
LibWeb: Encode URL in ResourceLoader::load()
Encode URLs before requesting them - this fixes loading of resources
that have spaces in their URL, for example.
2021-04-22 20:45:59 +02:00
Lenny Maiorani
254e010c75 AK/GenericLexer: constexpr where possible
Problem:
- Much of the `GenericLexer` can be `constexpr`, but is not.

Solution:
- Make it `constexpr` and de-duplicate code.
- Extend some of `StringView` with `constexpr` to support.
- Add tests to ensure `constexpr` behavior.

Note:
- Construction of `StringView` from pointer and length is not
  `constexpr`-compatible at the moment because the VERIFY cannot be,
  yet.
2021-04-22 20:27:21 +02:00
Egor Ananyin
c2280a907d LibWeb: Parse line-height inside font property 2021-04-22 19:17:10 +02:00
Egor Ananyin
174c940479 LibWeb: Fix height computation (again) :^)
Height computation algorithm is actually
different for absolutely positioned boxes
and block formatting contexts (where it doesn't include floats)
Fixes #6408
2021-04-22 19:17:10 +02:00
Andreas Kling
0eedf3bfea SystemMonitor: Only show two decimal digits for the CPU usage 2021-04-22 18:24:12 +02:00
Timothy Flynn
ac0e387beb LibSQL: Parse (most of) SELECT statement
This doesn't yet parse join clauses, windowing functions, or compound
SELECT statements.
2021-04-22 18:08:15 +02:00
Timothy Flynn
9331293e44 LibSQL: Separate parsing of common-table-expression list
Statements like SELECT, INSERT, and UPDATE also optionally include this
list, so move its parsing out of parse_delete_statement(). Since it will
appear before the actual statement, parse it first in next_statement();
then only parse for statements that are allowed to include the list.
2021-04-22 18:08:15 +02:00
Timothy Flynn
6a7d7624a7 LibSQL: Fix parsing of lists of common-table-expression
Misread the graph: In the "WITH [RECURSIVE] common-table-expression"
section, common-table-expression is actually a repeating list. This
changes the parser to correctly parse this section as a list. Create a
new AST node, CommonTableExpressionList, to store both this list and the
boolean RECURSIVE attribute (because every statement that uses this list
also includes the RECURSIVE attribute beforehand).
2021-04-22 18:08:15 +02:00
Jelle Raaijmakers
f54a6d273e Ports/scummvm: Build with C++11 support
This unbreaks the ScummVM port build. Some `[[noreturn]]` keywords were
added to `<assert.h>` recently and this required an additional flag to
the ScummVM configure script to fix.

Also removed the now unnecessary `export LIBS`.
2021-04-22 13:05:30 +02:00
Jelle Raaijmakers
7b6954afe3 Toolchain/Dockerfile: Update to Ubuntu 21.04, add git 2021-04-22 12:30:02 +02:00
Brian Gianforcaro
1682f0b760 Everything: Move to SPDX license identifiers in all files.
SPDX License Identifiers are a more compact / standardized
way of representing file license information.

See: https://spdx.dev/resources/use/#identifiers

This was done with the `ambr` search and replace tool.

 ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-22 11:22:27 +02:00
Linus Groh
024fd9b957 LibWeb: Fix HTML injection on FrameLoader error page
Small regression introduced by 3857148, we still have to escape HTML
entities.
2021-04-22 10:17:00 +02:00
Linus Groh
696f23d7a0 Meta: Add basic Zsh completions for serenity.sh
This patch adds a basic Zsh completion script for the commands and
targets provided by Meta/serenity.sh. There's some room for improvement
here, e.g. we could provide completion for available CMake targets -
currently completion stops after serenity.sh <command> <target>.

You can enable it by adding this to your .zshrc before completions are
loaded:

    fpath=($SERENITY_SOURCE_DIR/Meta/ShellCompletions/zsh $fpath)
2021-04-22 09:55:48 +02:00
Andreas Kling
a5625686cb WidgetGallery: Fix bogus return type from FileIconsModel::create() 2021-04-22 09:35:15 +02:00
Andreas Kling
de7062af9c LibRegex: Unbreak the ALL_DEBUG build 2021-04-22 09:23:28 +02:00
Gunnar Beutner
232e64c10a Meta: Add GDB pretty printers 2021-04-22 00:45:43 +02:00
Ali Mohammad Pur
ba261aba72 AK: Reenable the IntrusiveList<...NonnullRefPtr, ...> tests 2021-04-22 00:20:51 +02:00
Ali Mohammad Pur
88b97f5367 AK: Make IntrusiveList work with NonnullRefPtr's 2021-04-22 00:20:51 +02:00
Andreas Kling
3857148028 LibWeb+Base: Use AK::SourceGenerator for error pages
Instead of storing a format string in a file, let's be reasonable
and use SourceGenerator's template functionality. :^)
2021-04-22 00:00:59 +02:00
Andreas Kling
edf0b14e23 AK: Remove String::format()
There are no more clients of this function, everyone has been converted
to String::formatted().
2021-04-21 23:49:03 +02:00
Andreas Kling
0005fa0e2b LibELF: Convert String::format() => String::formatted() 2021-04-21 23:49:03 +02:00
Andreas Kling
7254d4c4b8 LibCoreDump: Convert String::format() => String::formatted() 2021-04-21 23:49:03 +02:00
Andreas Kling
f4a15c8d42 LibCore: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
3a891abc37 FontEditor: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
9db2036437 LibGUI: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
9a8dd38493 LibWeb+Base: Convert String::format() to String::formatted()
This error page template is slightly hilarious and should probably
be replaced with AK::SourceGenerator or some such, but for now let's
just get rid of the call to String::format().
2021-04-21 23:49:02 +02:00
Andreas Kling
e924da6c73 TelnetServer: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
83d3003208 LibDebug: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
f4eff7df8f Kernel: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
0058a1173e UserspaceEmulator: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
c68dcf45b6 LibRegex: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
46209ee9d0 readelf: Remove an unnecessary String::format() 2021-04-21 23:49:02 +02:00
Andreas Kling
09cb8aded6 test-web: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
931f3c03d0 useradd: Convert String::format() => String::formatted()
Also make more use of warnln().
2021-04-21 23:49:02 +02:00
Andreas Kling
90ee84621f LibLine: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
4e6d2374b6 LibVT: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
01f6d6c9fa gron: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
3df0ecead8 lspci: Convert String::format() => String::formatted() 2021-04-21 23:49:02 +02:00
Andreas Kling
7747bfe5c0 HackStudio: Convert String::format() => String::formatted() 2021-04-21 23:49:01 +02:00
Andreas Kling
2a6a54dea5 Userland: Use Core::DirIterator::next_full_path()
Simplify some code by using this instead of concatenating the full path
ourselves at the call site.
2021-04-21 23:49:01 +02:00
Andreas Kling
b41b6dd279 Shell: Convert String::format() => String::formatted() 2021-04-21 23:49:01 +02:00
Andreas Kling
f8dfc74f8b AK: Decorate most of ByteBuffer with [[nodiscard]] 2021-04-21 23:49:01 +02:00