summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-04-20LibGUI: Make statusbar label flat when displaying override_textLeandro Pereira
Changing the statusbar appearance when overriding text makes it less confusing as it's supposed to be something temporary, e.g. only when hovering over a toolbar or menu item. This behavior is present on old Windows systems, although things work slightly differently there (where only the overridden text is displayed rather than all the segments).
2021-04-19LibWeb: Add basic support for HTMLCanvasElement.toDataURL() :^)Andreas Kling
This allows you to serialize a <canvas> element's bitmap into a data: URI. Pretty neat! :^)
2021-04-19LibGfx: Improve PNG encoder API somewhatAndreas Kling
This is still far from ideal, but let's at least make it take a Gfx::Bitmap const&.
2021-04-19LibC: Avoid division by zero in fread()/fwrite()Gunnar Beutner
2021-04-19LibCpp: Support parsing class declarationsItamar
2021-04-19LibC: Additional functionality for getaddrinfo()Gunnar Beutner
When node is NULL and AI_PASSIVE is specified we are supposed to use the "any" address, otherwise we should use the loopback address.
2021-04-19LibELF: Ignore DT_SYMBOLIC entriesGunnar Beutner
The shared library libicudata.so has a DT_SYMBOLIC entry: Dynamic Section: NEEDED libgcc_s.so SONAME libicudata.so.69 SYMBOLIC 0x00000000 HASH 0x00000094 STRTAB 0x000000c8 SYMTAB 0x000000a8 STRSZ 0x0000002a SYMENT 0x00000010 According to the ELF spec DT_SYMBOLIC has no special meaning for the dynamic loader.
2021-04-19LibELF: Allow shared objects which don't have a text segmentGunnar Beutner
Shared objects without a text segment are perfectly OK. For example libicudata.so has only data segments: Sections: Idx Name Size VMA LMA File off Algn 0 .hash 00000014 00000094 00000094 00000094 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .dynsym 00000020 000000a8 000000a8 000000a8 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .dynstr 0000002a 000000c8 000000c8 000000c8 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .rodata 01b562d0 00000100 00000100 00000100 2**4 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .eh_frame 00000000 01b563d0 01b563d0 01b563d0 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .dynamic 00000070 01b573d0 01b573d0 01b563d0 2**2
2021-04-19Taskbar: Show start menu when super key is pressedConor Byrne
This commit re-adds the functionality of the start menu appearing when the super key is pressed
2021-04-19LibGUI+WindowServer: Add WM_SuperKeyPressed eventConor Byrne
This commit adds an event called WM_SuperKeyPressed which is sent to all windows via WindowManagerServerConnection. The event is fired from WindowManager when the super key is pressed, which is the windows key on most keyboards :)
2021-04-19profile: Expose the ability to free the kernel profiling buffer.Brian Gianforcaro
2021-04-19LibC: Expose new `profiling_free_buffer(..)` syscall.Brian Gianforcaro
Expose the new `profiling_free_buffer` syscall to user space.
2021-04-19profile: Add an option to wait for user input to disable profiling.Brian Gianforcaro
Often you want to enable and then disable profiling after a period of time. To make this slightly more ergonomic, add an option to wait for user input after enabling profiling, this will disable profiling on exit after the key press.
2021-04-19LibC: Added sysexits.hPanagiotis Vasilopoulos
2021-04-19LibC: Improve error logging for execvp()Gunnar Beutner
2021-04-19HackStudio: Sort ClassView entriesItamar
2021-04-19Pthread: Add stubs for pthread_cleanup_{push,pop}Gunnar Beutner
The stubs are necessary to make the xz port properly detect pthread support. The two functions are only used in the configure script and nowhere else.
2021-04-19WindowServer: Use VERIFY instead of assert in scale factor checkMaciej Zygmanowski
2021-04-19Shell: Don't whine about tcsetpgrp() failingAli Mohammad Pur
We intentionally skimp out on checking isatty() before them to cut down on syscalls, so we should also accept the errors and just let them be. Closes #6471.
2021-04-19LibLine: Avoid trying to restore() if the editor isn't initializedAli Mohammad Pur
Fixes #6472.
2021-04-19LibLine: Redraw the suggestions when terminal size changesAli Mohammad Pur
2021-04-19LibWeb: Correctly calculate height of TableRowGroupBoxAdam Hodgen
As well as correctly calculating the height of TableRowBox, this change calculates the heights of TableRowGroupBoxs also. As before, this does not correctly take into consideration the 'height' attribute. Now the horizontal layout is approximately correct for the TableRowGroupBoxs we can now see that the `layout_row` method will need updating to correctly calculate cell width across all rows, not just the current TableRowGroupBox.
2021-04-19LibWeb: Properly handle thead and tfooter HTML tagsAdam Hodgen
As the spec for the table fixup algorythm says: > Treat table-row-groups in this spec also encompass the specialized > table-header-groups and table-footer-groups.
2021-04-19LibELF: Fix calculation for TLS relocationsGunnar Beutner
The calculation for TLS relocations was incorrect which would result in overlapping TLS variables when more than one shared object used TLS variables. This bug can be reproduced with a shared library and a program like this: $ cat tlstest.c #include <string.h> __thread char tls_val[1024]; void set_val() { memset(tls_val, 0, sizeof(tls_val)); } $ gcc -g -shared -o usr/lib/libtlstest.so tlstest.c $ cat test.c void set_val(); int main() { set_val(); } $ gcc -g -o tls test.c -ltlstest Due to the way the TLS relocations are done this program would clobber libc's TLS variables (e.g. errno).
2021-04-19LibELF: Improve error message for missing symbolsGunnar Beutner
2021-04-19LibELF: Fix support for relocating weak symbolsGunnar Beutner
Having unresolved weak symbols is allowed and we should initialize them to zero.
2021-04-19LibELF: Remove VERIFY() calls and let control flow return to the callerGunnar Beutner
This way we get better error messages for unresolved symbols because the caller logs the file and symbol names.
2021-04-19Shell/Tests: Replace 'type f -f' with 'type -f f'Ali Mohammad Pur
The order of arguments seemed be confusing ArgsParser. Fixes #6467.
2021-04-19Userland/test: Handle '!' being used as a stringAli Mohammad Pur
e.g. `test ! = !`. Fixes #6465.
2021-04-18Userland: Add telws, a CLI REPL to connect to WebSocketsDexesTTP
2021-04-18LibWebSocket: Add a new websocket libraryDexesTTP
This library currently contains a basic WebSocket client that can handle both standard TCP websockets and TLS websockets.
2021-04-18LibCore: Add ArgsParser::add_option(String&)DexesTTP
The API existed for add_positional_argument, but not for named arguments.
2021-04-18LibGfx: Report font glyph presence based on glyph's specific widthIdan Horowitz
This uses the per glyph width to determine if the glyph is actually present in the font, and not just inside the range the font can covers This means that characters that are in the font's range but that are missing a glyph will show up as the missing character glyph instead of being invisible.
2021-04-18FontEditor+LibGfx: Allow user to specify if a specific glyph is presentIdan Horowitz
This replaces the glyph width spinbox in the font editor with a checkbox when editing fixed width fonts that indicates if the currently selected character's glyph is present in the edited font (For variable width fonts a non zero width implies presence) This commit also changes the background color of glyphs in the glyph map based on the presence of each specific glyph in the font.
2021-04-18LibGfx: Always load font widths array and use it for glyph presenceIdan Horowitz
Since we were always saving the glyph widths array to the font file, we now also always load it, even on (which also simplifies the logic a bit) fixed width fonts. We also set it initially to 0 instead of the default fixed width, which allows us to use it to check for glyph presence in both fixed width and variable width fonts.
2021-04-18LibGfx: Use size_t instead of int for glyph countIdan Horowitz
The count is always non-negative
2021-04-18Tests: Fix test-math expected valuesMarco Biscaro
Some of the expected values in test-math were wrong, which caused some tests to fail. The updated values were generated by Python's math library, and rounded to 6 decimals places: >>> import math >>> round(math.exp(20.99), 6) 1305693298.670892 Examples of failure outputs: FAIL: ../Userland/Tests/LibM/test-math.cpp:98: EXPECT_APPROXIMATE(exp(v.x), v.exp) failed with lhs=1305693298.670892, rhs=1304956710.432034, (lhs-rhs)=736588.238857 FAIL: ../Userland/Tests/LibM/test-math.cpp:99: EXPECT_APPROXIMATE(sinh(v.x), v.sinh) failed with lhs=652846649.335446, rhs=652478355.216017, (lhs-rhs)=368294.119428 FAIL: ../Userland/Tests/LibM/test-math.cpp:100: EXPECT_APPROXIMATE(cosh(v.x), v.cosh) failed with lhs=652846649.335446, rhs=652478355.216017, (lhs-rhs)=368294.119429
2021-04-18FontEditor: Update GlyphMap on font type changeIdan Horowitz
Since font type changes also change the amount of glyphs in a font, the glyph map has to be re-rendered to properly showcase the change.
2021-04-18LibGfx: Add support for fonts that include the Hebrew Unicode BlockIdan Horowitz
2021-04-18LibJS: Implement console.assert()Linus Groh
2021-04-18Browser+WebContent: Fix HTML injection in console functions outputLinus Groh
2021-04-18LibJS: Use 'if constexpr' / dbgln_if() instead of '#if LEXER_DEBUG'Linus Groh
2021-04-18LibJS: Use 'if constexpr' instead of '#if HEAP_DEBUG'Linus Groh
2021-04-18LibJS: Use dbgln_if() instead of '#if OBJECT_DEBUG'Linus Groh
2021-04-18HackStudio: Add ability to set hardware watchpoints on variablesFalseHonesty
We can now add a watchpoint to a variable by right clicking on it in the variable view, and selecting add watchpoint. To remove a watchpoint, the exact same action is repeated, except it will now say remove watchpoint.
2021-04-18HackStudio: Don't crash when invalid file is requested to be openedFalseHonesty
Previously, if the running debugger asked for HackStudio to open an invalid file, it would crash trying to switch to it. Now it will just continue without switching the editor.
2021-04-18LibDebug: Implement ability to set watchpointsFalseHonesty
Now we can set hardware watchpoints for our variables! :^) These watchpoints will be automatically removed when they go out of scope.
2021-04-18Kernel: Add ptrace commands for reading/writing the debug registersFalseHonesty
This adds PT_PEEKDEBUG and PT_POKEDEBUG to allow for reading/writing the debug registers, and updates the Kernel's debug handler to read the new information from the debug status register.
2021-04-18FileManager: Show action status tips in the status bar :^)Andreas Kling
2021-04-18Everywhere: Rename title_bar => titlebarAndreas Kling