ForLoveOfCats
271840ca22
WindowServer: Add show desktop toggle IPC call
...
Differentiates between normal minimization and hidden windows. A window
which is hidden is still minimized, but can be seen as another stage
of being minimized.
2021-07-04 13:58:56 +02:00
LuK1337
62d4b4abf3
LibGUI: Make tooltip height line count aware
...
Previously multiline was not handled properly thus in case of the
Network applet the tooltip would be drawn improperly.
2021-07-04 11:31:01 +02:00
Timothy
e42484bb65
AK+LibIPC: Make all enums codable
...
If an enum has a supported underlying type we can provide encoding and
decoding for the enum as well.
2021-07-04 13:48:20 +04:30
Timothy
60f84f3154
LibCore: Add method to leak fd from File
...
This will let other code use the fd while making sure the fd isn't
automatically closed by Core::File's destructor
2021-07-04 11:44:47 +04:30
Daniel Bertalan
2ef28602ba
Tests: Add tests for Optional
's conditionally trivial functions
2021-07-04 07:24:41 +04:30
Daniel Bertalan
39dd13fd17
AK: Destroy original value when assigning to Variant
2021-07-04 07:24:41 +04:30
Daniel Bertalan
515e2d9734
AK: Use conditionally trivial special member functions
...
This commit makes use of the conditionally trivial special member
functions introduced in C++20. Basically, `Optional` and `Variant`
inherits whether its wrapped type is trivially copy constructible,
trivially copy assignable or trivially destructible. This lets the
compiler optimize optimize a large number of their use cases.
The constraints have been applied to `Optional`'s converting
constructors too in order to make the API more explicit.
This feature is not supported by Clang yet, so we use conditional
compilation so that Lagom can be built on macOS. Once Clang has P0848R3
support, these can be removed.
2021-07-04 07:24:41 +04:30
Daniel Bertalan
6c0b9919ce
FileManager: Remove explicit T
to Optional<T>
conversion
2021-07-04 07:24:41 +04:30
Daniel Bertalan
9323d459b4
Tests: Add test for supported operation type traits
2021-07-04 07:24:41 +04:30
Daniel Bertalan
84ddecae8a
AK: Add type traits describing supported operations
...
This will allow us to make `Optional`, `Variant`, and possibly other
data structures conditionally trivially constructible, destructible,
copyable or movable based on their type parameters.
2021-07-04 07:24:41 +04:30
Idan Horowitz
e480d69130
LibJS: Bring ArrayCreate and ArrayConstructor closer to spec
...
Specifically, this now explicitly takes the length, adds missing
exceptions checks to calls with user-supplied lengths, takes and uses
the prototype argument, and fixes some spec non-conformance in
ArrayConstructor and its native functions around the use of ArrayCreate
2021-07-04 00:51:43 +01:00
Idan Horowitz
5ee1ae37b2
LibJS: Add the IteratorStep abstract iterator operation
...
As well as add 2 missing exception checks in the IteratorComplete and
IteratorValue abstract iterator operations.
2021-07-04 00:51:43 +01:00
Erik Biederstadt
ba4d367dea
HackStudio: Remove old form editing logic
...
In the past Hack Studio had the ability to design GUI widgets via `.frm`
files. We now use the GML playground for this purpose, and the old code
can be removed. `.frm` files are now treated as plain text files.
This commit also fixes a crash when opening `.frm` files.
`m_form_inner_container` was never instantiated, and caused a null
pointer dereference.
2021-07-04 01:14:54 +02:00
Gunnar Beutner
e1ff30a360
Toolchain+Userland: Enable TLS for x86_64
...
This is not technically a toolchain change, but it does require
rebuilding the toolchain for x86_64 (and just that).
2021-07-04 01:07:28 +02:00
Gunnar Beutner
371c852fc0
LibELF: Swap the arguments for negative_offset_from_tls_block_end
...
Now that m_tls_offset points to the start of the TLS block the argument
order makes more sense this way.
2021-07-04 01:07:28 +02:00
Gunnar Beutner
251eaad8f0
LibELF: Fix relocation support for 'static __thread' variables
2021-07-04 01:07:28 +02:00
Gunnar Beutner
5f6ee4c539
LibELF: Save the negative TLS offset in m_tls_offset
...
This makes it unnecessary to track the symbol size which just isn't
available for unexported symbols (e.g. for 'static __thread').
2021-07-04 01:07:28 +02:00
Gunnar Beutner
a0a38e1e84
LibELF: Implement TLS relocation support for x86_64
2021-07-04 01:07:28 +02:00
Gunnar Beutner
c51b49a8cb
Kernel: Implement TLS support for x86_64
2021-07-04 01:07:28 +02:00
Gunnar Beutner
04a912f68f
Kernel: Hide the implementation detail that MSRs use two registers
...
When retrieving and setting x86 MSRs two registers are required. The
existing setter and getter for the MSR class made this implementation
detail visible to the caller. This changes the setter and getter to
use u64 instead.
2021-07-04 01:07:28 +02:00
Gunnar Beutner
a09e6171a6
Kernel: Don't allow allocate_tls() if the process has multiple threads
...
We can't safely update the other threads' FS selector. This shouldn't
be a problem in practice because allocate_tls() is only used by the
loader.
2021-07-04 01:07:28 +02:00
Gunnar Beutner
5ca95b3957
Kernel: Replace some hard-coded memory addresses with macros
2021-07-04 01:07:28 +02:00
Gunnar Beutner
e8a25f3795
DynamicLoader: Remove -fbuilding-libgcc hack
...
This won't be necessary anymore after a toolchain rebuild.
2021-07-04 00:35:35 +02:00
Gunnar Beutner
43e46df561
Ports: Remove obsolete patches for ninja
2021-07-04 00:35:35 +02:00
Gunnar Beutner
ef4efce897
Ports: Remove obsolete patches for libexpat
2021-07-04 00:35:35 +02:00
Gunnar Beutner
27005fe846
Ports: Remove obsolete patches for cmake
2021-07-04 00:35:35 +02:00
Gunnar Beutner
12c98105bc
Ports: Remove obsolete patches for chester
2021-07-04 00:35:35 +02:00
Gunnar Beutner
8c062e8bef
Ports: Remove obsolete patches for bc
2021-07-04 00:35:35 +02:00
Gunnar Beutner
18ae608815
Ports: Remove obsolete patches for libicu
2021-07-04 00:35:35 +02:00
Gunnar Beutner
f52bf15f8d
Assistant: Make more of the classes final
2021-07-03 22:38:53 +02:00
Gunnar Beutner
52a3226f6d
Assistant: Make the bitmap accessor pure virtual
...
Assistant looks broken when a result doesn't have an icon.
2021-07-03 22:38:53 +02:00
Gunnar Beutner
6af08f950a
Assistant: Add missing bitmap accessor for terminal actions
2021-07-03 22:38:53 +02:00
Edwin Hoksberg
a4b4397a10
Assistant: Skip URL provider if query is empty or provider specific
2021-07-03 22:38:40 +02:00
Andreas Kling
c06f72c264
Assistant: Don't index the /proc and /sys directories
...
Roughly 20% of indexing time in a fresh install was spent on traversing
these kernel-generated directories. Let's just not. :^)
2021-07-03 22:14:09 +02:00
Andreas Kling
94def5ae9d
Assistant: Avoid copying the result vectors when providers finish
...
Just move() them instead to cut down on the copying. :^)
2021-07-03 22:14:09 +02:00
Andreas Kling
e4199beccc
Assistant: Keep the set of providers in a Vector for easy iteration
2021-07-03 22:14:09 +02:00
Idan Horowitz
ee991fa4e0
CI: Manually cleanup previous self-hosted test262 run workspace folder
...
Unlike the github hosted runners, github's software for self-hosted
runners does not do this automatically.
2021-07-03 19:45:04 +01:00
Idan Horowitz
e9ab9ca5a0
Documentation: Add git to the list of self-hosted runner requirements
...
Github-hosted runners have this pre-installed, so our actions script
do not install it themselves.
2021-07-03 19:45:04 +01:00
Gunnar Beutner
f2dca54bf0
Documentation: Increase recommended amount of RAM
...
The VM won't boot with 32MB because GRUB won't be able to load the
kernel which is about 114MB.
2021-07-03 20:08:54 +02:00
Gunnar Beutner
48f8dea28f
Documentation: Update VirtualBox documentation for x86_64
...
The machine type "Other/Unknown (64-bit)" works for both the x86_64 as
well as the i686 build architecture.
2021-07-03 20:08:54 +02:00
Gunnar Beutner
de152832be
Meta: Add missing quotes in Meta/run.sh
2021-07-03 20:08:54 +02:00
Andreas Kling
4fce72a967
Assistant: Use fstatat() while building FileProvider path cache
...
Using fstatat() allows the kernel to do relative path resolution as
opposed to absolute path resolution, which is significantly faster
and allows us to build the path cache sooner. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
801f74362e
Assistant: Use StringView more in FileProvider fuzzy matching code
...
By not allocating new String objects, the fuzzy matcher becomes a lot
faster and more responsive while typing. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
d640031214
Assistant: Use FileIconProvider for FileProvider query results
...
Instead of showing the default "folder" icon for all file results,
we now show an appropriate icon for the given file. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
513e67e2eb
Assistant: Make Result bitmaps virtual/lazy
...
Result classes now return their bitmap via a virtual Gfx::Bitmap*
getter. This effectively makes bitmap fetching lazier, since only
results that end up on screen actually get asked for their bitmap.
This drastically reduces the amount of work done by the FileProvider
background worker.
2021-07-03 20:03:53 +02:00
Idan Horowitz
1c29e2f3f7
CI: Run the test262 workflow on a self-hosted runner
...
This should speed it up quite a bit and give us more consistent
performance. (So this workflow could eventually be used for perf
regression testing as well)
2021-07-03 18:32:39 +01:00
Idan Horowitz
969b717e17
Documentation: Add instructions for setting up self-hosted runners
2021-07-03 18:32:39 +01:00
Idan Horowitz
0e35c50da3
Meta: Use virtualization acceleration if available in CI runs
2021-07-03 18:32:39 +01:00
Liav A
458ac9bbba
Kernel/x86_64: Halt if we happen to boot on non-x86_64 machine
2021-07-03 18:40:37 +02:00
Marcus Nilsson
e0cf6f3cf0
TextEditor: Reset editor width when disabling preview mode
...
When disabling preview mode, reset the fixed width of m_editor so that
it fills out the window again even after resizing the splitter.
2021-07-03 17:36:50 +02:00