summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-04LibJS: VERIFY() that property name is valid in Value::get{,_method}()Linus Groh
2021-07-04LibWeb/WebAssembly+test-wasm: Use get_without_side_effects() moreLinus Groh
2021-07-04LibJS: Avoid unnecessary PropertyName creation in MarkupGeneratorLinus Groh
2021-07-04Tests: Add test for String::roman_number_from()Tobias Christiansen
2021-07-04Browser: Add Test-Page for listsTobias Christiansen
This test page showcases all our supported ol and ul list-styles.
2021-07-04LibWeb: Add roman numerals as a list-style for ol'sTobias Christiansen
This patch adds support for the identifiers upper-roman and lower-roman of the list-style property.
2021-07-04AK: Add generation of roman numerals to AK::StringTobias Christiansen
We now can generate roman numbers using String::roman_number_from() similar to String::bijective_base_from().
2021-07-04Taskbar: Simplify quick launch widget layoutAndreas Kling
Use shrink-to-fit instead of manually calculating the widget size.
2021-07-04Taskbar: Give the "Show/Hide Desktop" button an icon :^)Andreas Kling
2021-07-04LibTTF: Memory map TTF fonts instead of reading them into heap memoryAndreas Kling
All GUI applications currently load all TTF fonts on startup (to populate the Gfx::FontDatabase. This could probably be smarter.) Before this patch, everyone would open the files and read them into heap-allocated storage. Now we simply mmap() them instead. :^)
2021-07-04LibTTF: Make TTF::Font loading API return error stringsAndreas Kling
2021-07-04AK: Explicitly require Checked types to be IntegralIdan Horowitz
These were already implicitly required to be integral via the usage of the is_within_range templated function, but making them explicit should produce nicer error messages when building, and make the IDE highlight the incorrect usage.
2021-07-04Everywhere: Fix incorrect usages of AK::CheckedIdan Horowitz
Specifically, explicitly specify the checked type, use the resulting value instead of doing the same calculation twice, and break down calculations to discrete operations to ensure no intermediary overflows are missed.
2021-07-04LibC: Convert LengthModifier & ConversionSpecifier to enum classesIdan Horowitz
These were preventing some AK classes from using the AK Concepts header due to the non-strictly namespaced ConversionSpecifier::Unsigned, and are not used as their underlying value, so enum classes are more appropriate anyways.
2021-07-04WindowServer: Only run window animation for windows on current desktopTom
We should only run the minimize and launch animations for windows that are actually rendered on the currently visible virtual desktop.
2021-07-04WindowServer: Toggling desktop should only toggle current desktopTom
We should only show/hide the windows on the current virtual desktop.
2021-07-04Spreadsheet: Move down a cell when Return is pressed in the cell editorzawwwu
If Return key is pressed when using cell value editor in a top bar, cursor is automatically moved one line down. Fixes #8287.
2021-07-04Spreadsheet: Add function for moving cursorzawwwu
This function allows to access cursor movement functionality outside of SpreadsheetView class.
2021-07-04LibThreading: Wake up the background worker thread when there's workAndreas Kling
The worker thread used for BackgroundAction was going to sleep for 1 second at a time (when there was nothing to do.) This made using background actions for anything interactive quite unresponsive since you had to wait up to 1 second before it even started on your task. We now use a simple Unix pipe to signal the worker thread that a new work item is available. This makes Assistant way more responsive when typing. :^)
2021-07-04LibJS: Make the `with` statement evaluation follow the spec even moreAndreas Kling
This was almost entirely up-to-spec already, just missing exception checks, and we now leave the lexical environment in the modified state if an exception occurs during statement evaluation.
2021-07-04Kernel: Fix safe_memset not setting the last few bytes in some casesTom
Because the remainder variable will always be 0 unless a fault happened we should not use it to decide if we have nothing left to memset when finishing the fast path. This caused not all bytes to be zeroed if the size was not an exact multiple of sizeof(size_t). Fixes #8352
2021-07-04Terminal: Grey out color scheme widget when there's nothing to selectLuK1337
By default we only include one color scheme.
2021-07-04CppLanguageServer: Add test for "get_parameters_hint"Itamar
2021-07-04HackStudio: Show tooltip with parameters hint when pressing Ctrl+PItamar
When you press Ctrl+P while the cursor is inside the parameters list of a function call site, HackStudio will request the C++ language server to retrieve the parameters of the called function. The result is displayed in a tooltip window, with the current argument in bold font.
2021-07-04CppLanguageServer: Add "get_parameters_hint" capabilityItamar
Given a call site, the C++ language server can now return the declared parameters of the called function, as well as the index of the parameter that the cursor is currently at.
2021-07-04LibCpp: Add Parser::tokens_in_range(start, end)Itamar
This function returns the tokens that exist in the specified range.
2021-07-04LibCpp: Fix positional information of Pointer typesItamar
2021-07-04LibCpp: Fix parsing of ellipsisItamar
Previously the positional information for the node of an ellipsis was incorrect.
2021-07-04Assistant: Show a border around the windowtimre13
2021-07-04Userland: Add pgrepAziz Berkay Yesilyurt
2021-07-04Everywhere: Prefer using "..."sv over StringView { "..." }Gunnar Beutner
2021-07-04LibELF: Fix loading objects with a non-zero load baseGunnar Beutner
My previous patch (1f93ffcd) broke loading objects whose first PT_LOAD entry had a non-zero vaddr. On top of that the calculations for the relro and dynamic section were also incorrect.
2021-07-04LibWeb: Hook on_call_stack_emptied after m_interpreter was initializedIdan Horowitz
We must hook `on_call_stack_emptied` after the interpreter was created, as the initialization of the WindowsObject can invoke some internal calls, which will eventually lead to this hook being called without `m_interpreter` being fully initialized yet.
2021-07-04Assistant: Prevent window from being minimizedForLoveOfCats
2021-07-04Taskbar: Add show desktop button to toggle showing of the desktopForLoveOfCats
2021-07-04WindowServer: Add show desktop toggle IPC callForLoveOfCats
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-04LibGUI: Make tooltip height line count awareLuK1337
Previously multiline was not handled properly thus in case of the Network applet the tooltip would be drawn improperly.
2021-07-04AK+LibIPC: Make all enums codableTimothy
If an enum has a supported underlying type we can provide encoding and decoding for the enum as well.
2021-07-04LibCore: Add method to leak fd from FileTimothy
This will let other code use the fd while making sure the fd isn't automatically closed by Core::File's destructor
2021-07-04Tests: Add tests for `Optional`'s conditionally trivial functionsDaniel Bertalan
2021-07-04AK: Destroy original value when assigning to VariantDaniel Bertalan
2021-07-04AK: Use conditionally trivial special member functionsDaniel Bertalan
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-04FileManager: Remove explicit `T` to `Optional<T>` conversionDaniel Bertalan
2021-07-04Tests: Add test for supported operation type traitsDaniel Bertalan
2021-07-04AK: Add type traits describing supported operationsDaniel Bertalan
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-04LibJS: Bring ArrayCreate and ArrayConstructor closer to specIdan Horowitz
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-04LibJS: Add the IteratorStep abstract iterator operationIdan Horowitz
As well as add 2 missing exception checks in the IteratorComplete and IteratorValue abstract iterator operations.
2021-07-04HackStudio: Remove old form editing logicErik Biederstadt
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-04Toolchain+Userland: Enable TLS for x86_64Gunnar Beutner
This is not technically a toolchain change, but it does require rebuilding the toolchain for x86_64 (and just that).
2021-07-04LibELF: Swap the arguments for negative_offset_from_tls_block_endGunnar Beutner
Now that m_tls_offset points to the start of the TLS block the argument order makes more sense this way.