summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-21Applications: Use titlecase and distinct underlined characters in menusMax Wipfli
This changes (context) menus across the system to conform to titlecase capitalization and to not underline the same character twice (for accessing actions with Alt).
2021-05-21Meta: Make i440fx QEMU machine PCI hierarchy a bit more complexLiav A
Let's help our future selves by ensuring we have proper support for secondary PCI buses always.
2021-05-21Kernel/PCI: Fix support of multiple PCI host controllers enumerationLiav A
First scan PCI bus 0. Find any device on that bus, and if it's a PCI-to-PCI bridge, recursively scan it too. Then try to handle Multiple PCI host bridges on slot 0, device 0. If we happen to miss some PCI buses because they are not reachable through recursive PCI-to-PCI bridges scanning starting from bus 0, we might find them in this scanning.
2021-05-21Kernel/Graphics: Indicate initialization failed if no device was foundLiav A
2021-05-21FileManager: Change shortcut of Display Settings desktop optionLinus Groh
'D' is already used by 'New Directory', let's use 'S'. Fixes #7350.
2021-05-21DisplaySettings: Allow deselection of background imageJagger De Leo
Previously, if you selected a background image you could not revert to a solid color background.
2021-05-213DFileViewer: Make the main widget a GUI::FrameAndreas Kling
2021-05-21Browser: Stop leaking popup windowsAndreas Kling
We were leaking the "view source" and "downloading file" windows for some reason, presumably it was necessary when these were first added. Since they are owned by the spawning browser window, there's no need to leak them.
2021-05-21Base: Tweak syntax highlighting colors in the Default themeAndreas Kling
The old ones were barely noticeable. Let's at least make it visible that you have syntax highlighting enabled. :^)
2021-05-21LibWeb: Make tag names bold in syntax-highlighted HTML :^)Andreas Kling
2021-05-21Toolchain: Replace the -march=native flag with -mtune=nativeIdan Horowitz
This ensures inter-machine compatibility by not emitting any processor specific instructions. This fixes the issue raised by the non AVX-512 supporting GitHub actions runners.
2021-05-21Meta: Add GDB pretty printer for AK::SinglyLinkedListBrian Gianforcaro
2021-05-21Meta: Add GDB pretty printer for AK::InlineLinkedListBrian Gianforcaro
This allows a developer to easily dump a InlineLinkedList in the debugger without having to manually running the list. I needed this for a recent bug investigation in the Kernel.
2021-05-21Base: Remove accidentally added file :^)Andreas Kling
2021-05-21Revert "Kernel: Avoid allocating under spinlock in ProcessGroup::find_or_create"Brian Gianforcaro
This reverts commit e95eb7a51d8295c96cddf20f116139deecbb69d4. This is causing some sort of list corruption, as evident by #7313 I haven't been able to figure it out yet, so lets revert this change until I can figure out what's going on.
2021-05-21Revert "Kernel: Fix regression, removing a ProcessGroup that not in the list"Brian Gianforcaro
This reverts commit bbe315d8c0e36368091806f7ba1860d848e9bca7. This is un-needed when reverting the parent commit.
2021-05-21Revert "Userland: static vs non-static constexpr variables"Linus Groh
This reverts commit 800ea8ea969835297dc7e7da345a45b9dc5e751a. Booting the system no longer worked after these changes.
2021-05-21Userland: Change typedef to using directiveLenny Maiorani
Problem: - `typedef`s are read backwards making it confusing. - `using` statements can be used in template aliases. - `using` provides similarity to most other C++ syntax. - C++ core guidelines say to prefer `using` over `typedef`: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rt-using Solution: - Switch these where appropriate.
2021-05-21Userland: static vs non-static constexpr variablesLenny Maiorani
Problem: - `static` variables consume memory and sometimes are less optimizable. - `static const` variables can be `constexpr`, usually. - `static` function-local variables require an initialization check every time the function is run. Solution: - If a global `static` variable is only used in a single function then move it into the function and make it non-`static` and `constexpr`. - Make all global `static` variables `constexpr` instead of `const`. - Change function-local `static const[expr]` variables to be just `constexpr`.
2021-05-21Toolchain: Enable native host optimizations when building toolchainBrian Gianforcaro
-march=native specializes the binaries for the CPU features available on the CPU the binary is being compiled on. This matches the needs of the Toolchain, as it's always built and used on that machine only. This should be safe for the github actions VMs as well, as they all run on a standard VM SKU in "the cloud". I saw small but notable improvements in end-2-end build times in my local testing. Each compilation unit is on average around a second faster on my Intel(R) Core(TM) i7-8705G CPU @ 3.10GHz.
2021-05-21Shell: Use /tmp for all file operations valid.sh testAndrew Kaster
Not doing so sometimes intermittently caused the '*' glob expansion test to fail and lock up the shell.
2021-05-21Shell: Hide job times behind SHELL_JOB_DEBUG flagAndrew Kaster
2021-05-21Base/CI: Run tests from /usr/Tests in GitHub ActionsAndrew Kaster
Uncomment the tests that were disabled due to frequent freezes when running without KVM. This also adds a new github actions group for every single test, which makes it easier to browse test boundaries during test runs. Move catting the serial output log back to its own step, so that it has higher visibility. The previous solution was also shown to not actually cat the log in the case of a failed boot and timeout :^(.
2021-05-21Tests: Install non-LibTest based Kernel tests into Kernel/Legacy subdirAndrew Kaster
This makes it easier to run tests we know will work in CI, and ignore ones that need some help to be repeatable.
2021-05-21LibWeb: Fix invalid behaviour of HTMLTokenizer::skip() and restore_to()Ali Mohammad Pur
skip() is supposed to end up keeping the previous iterator only one index behind the current one, and restore_to() should actually do the restore instead of just removing the now-useless source positions. Fixes #7331.
2021-05-21Kernel: Fix type, dectivate_writes => deactivate_writesLiav A
2021-05-21Kernel/Graphics: Choose VMObject considering enabled state when mmapingLiav A
When mmaping a Framebuffer from userspace, we need to check whether the framebuffer device is actually enabled (e.g. graphical mode is being used) or a textual VirtualConsole is active. Considering the above state, we mmap the right VMObject to ensure we don't have graphical artifacts if we change the resolution from DisplaySettings, changed to textual mode and after the resolution change was reverted, we will see the Desktop reappearing even though we are still in textual mode.
2021-05-21Kernel: Fix framebuffer resolution modesetting after bootLiav A
If we tried to change the resolution before of this patch, we triggered a kernel crash due to mmaping the framebuffer device again. Therefore, on mmaping of the framebuffer device, we create an entire new set of VMObjects and Regions for the new settings. Then, when we change the resolution, the framebuffersconsole needs to be updated with the new resolution and also to be refreshed with the new settings. To ensure we handle both shrinking of the resolution and growth of it, we only copy the right amount of available data from the cells Region.
2021-05-21Kernel/TTY: Don't flush dirty lines if VirtualConsole is not activeLiav A
2021-05-21Kernel: Process request to change virtual console from the IO Work queueLiav A
Instead of processing the input after receiving an IRQ, we shift the responsibility to the io work queue to handle this for us, so if a page fault occurs when trying to switch the VirtualConsole, the kernel can handle that.
2021-05-21LibGfx: Add missing TextAlignment::BottomLeftLinus Groh
2021-05-21LibWasm: Print instruction arguments tooAli Mohammad Pur
2021-05-21LibWasm: Fix nested structured instruction parsingAli Mohammad Pur
Previously, the ip would not be propagated correctly, and we would produce invalid jumps when more than one level of nesting was involved. This makes loops work :P
2021-05-21LibWasm: Resolve labels starting from the top of the stackAli Mohammad Pur
Otherwise "label index 0" would be the first ever created label, not the last one (as the spec wants) :^(
2021-05-21LibWasm: Implement a very basic linkerAli Mohammad Pur
This will simply "link" any given module instances and produce a list of external values that can be used to instantiate a module. Note that this is extremely basic and cannot resolve circular dependencies, and depends on the instance order.
2021-05-21LibWasm: Make the instantiation process produce an OwnPtrAli Mohammad Pur
Managing the instantiated modules becomes a pain if they're on the stack, since an instantiated module will eventually reference itself. To make using this simpler, just avoid copying the instance.
2021-05-21LibWasm: Decouple ModuleInstance from the AbstractMachineAli Mohammad Pur
This fixes a FIXME and will allow linking only select modules together, instead of linking every instantiated module into a big mess of exported entities :P
2021-05-21LibWasm+Meta: Implement instantiation/execution primitives in test-wasmAli Mohammad Pur
This also optionally generates a test suite from the WebAssembly testsuite, which can be enabled via passing `INCLUDE_WASM_SPEC_TESTS` to cmake, which will generate test-wasm-compatible tests and the required fixtures. The generated directories are excluded from git since there's no point in committing them.
2021-05-21LibWasm: Trap instead of VERIFY()'ingAli Mohammad Pur
...unless something really is an assertion.
2021-05-21LibWasm+Meta: Add test-wasm and optionally test the conformance testsAli Mohammad Pur
This only tests "can it be parsed", but the goal of this commit is to provide a test framework that can be built upon :) The conformance tests are downloaded, compiled* and installed only if the INCLUDE_WASM_SPEC_TESTS cmake option is enabled. (*) Since we do not yet have a wast parser, the compilation is delegated to an external tool from binaryen, `wasm-as`, which is required for the test suite download/install to succeed. This *does* run the tests in CI, but it currently does not include the spec conformance tests.
2021-05-21Meta: Add a Wasm parser fuzzerAli Mohammad Pur
2021-05-21CI: Bump update-alternatives priority to 100Linus Groh
This didn't seem to have worked in the past, the new value matches the recomendation on the GitHub Actions clang-11 default announcement: https://github.com/actions/virtual-environments/issues/3235
2021-05-21CI: Also apt-get purge clang-11 in build_and_test_lagom stepLinus Groh
We don't need it. A recent change to the ubuntu-20.04 image has made it the default, causing builds to fail - we're installing and want to use clang-12 anyway, so let's just get rid of the other installed versions.
2021-05-20LibCore: Let IODevice::can_read_line() buffer until \n or EOFr-paiva
If a line was larger than 1024 bytes or the file ended without a newline character, can_read_line would return false. IODevice::can_read_line() now reads until a newline is found or EOF is reached. fixes #5907
2021-05-20AK: Added contains_in_range to Vectorr-paiva
Vector::contains_in_range() allows the search of an element in a given range on a vector object. Also added testcases for the new Vector method.
2021-05-20Utilities: Fix grep match when reading from stdinr-paiva
When reading from stdin, grep discards the last character, even if that character is not \n. This commit changes grep to no longer discard the last character from a line.
2021-05-20LibGL: Implement glHint()Stephan Unverwerth
2021-05-203DFileViewer: Clean up file handlingGunnar Beutner
This unifies how 3DFileViewer handles the initial file when starting the application and when opening files later on via the menu. Errors are shown both for the initial load as well as when loading files later on. An error during file load no longer clears the existing model. It also adds support for specifying the filename as a command-line argument. The opened file's name is shown in the titlebar.
2021-05-203DFileViewer: Move the example model into the home directoryGunnar Beutner
2021-05-20TextEditor: Don't launch a WebContent process until it's neededAndreas Kling
The HTML and Markdown preview modes both use an OutOfProcessWebView to render the preview pane, and we were instantiating this view from GML. This caused us to always spawn a WebContent process alongside every TextEditor instance. Fix this by deferring the OOPWV construction until we actually need it. This makes launching TextEditor on a text file quite a bit faster. :^)