summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-05-07LibRegex: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07Applications: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07LibGUI: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07LibDiff: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07LibC: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07LibJS: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07LibCrypto: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07LibGemini: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07LibCore: Convert StringBuilder::appendf() => AK::FormatAndreas Kling
2021-05-07file: Clean up mime type enumeration macroLinus Groh
- Improve naming - Order alphabetically - Remove duplicates
2021-05-07file: Remove unused static description stringsLinus Groh
2021-05-07file: Don't exit immediately after file open errorLinus Groh
Instead just remember that a file failed to open, carry on and return 1 at the end.
2021-05-07file: Remove redundant value_or({})Linus Groh
2021-05-07file: Avoid some unnecessary string copiesLinus Groh
2021-05-07DynamicLoader: Remove math functionality in favor of -lgccGunnar Beutner
This links the dynamic linker against libgcc.a instead of having our own copy of the math functions. For now we need to specify -fbuilding-libgcc as a hack to work around a bug with the -nodefaultlibs flag. Once everyone is on the latest toolchain version this can be removed.
2021-05-07Profiler: Don't iterate all events when filtering timeline viewBrian Gianforcaro
There is no need to iterate through all events in a profile when loading the timeline view, as soon as we see one event we can move on to the next process.
2021-05-07Profiler: Make processes selectable in the timeline viewGunnar Beutner
2021-05-07Profiler: Remove the old process selection widgetGunnar Beutner
2021-05-07Profiler: Move filter checks into their own functionGunnar Beutner
2021-05-07LibCore+Userland: Add more detectable typesValtteri Koskivuori
More binary format detectors and descriptions
2021-05-07Userland: Implement a file utilityValtteri Koskivuori
This unix classic attempts to classify and identify information about given files based on various heuristics. In this case, we're relying on the Core::MimeData detector for file type and LibGfx::ImageDecoder for additional metadata if the given file is an image. It's very simple for now, but adding new detectors should be quite easy.
2021-05-07LibCore: Implement basic mime type guessing based on binary patternsValtteri Koskivuori
This attempts to guess the mime-type from a given set of bytes from the start of a file. It only supports a few well-defined patterns for now, but it's a start!
2021-05-07LibWeb: Implement replacing the current body when setting document.bodyLuke
Also adds an exception check to the append at the end.
2021-05-07LibWeb: Add non-const variants of Document::{html_element,body,head}()Luke
2021-05-07LibWeb: Implement Node.replaceChildLuke
The `if (child->parent())` check seems to be redundant, but I'm keeping it just to match the spec.
2021-05-06LibGUI: Remove line-is-empty check in TextDocument return-earlyMax Wipfli
This patch removes an incorrect way for TextDocument::text_in_range to return early when the first line of the selection was empty. This fixes an issue in TextEditor where the status bar showed that 0 characters are selected when the selection started on an empty line.
2021-05-06Profiler: Add fixed track headers to the timeline viewAndreas Kling
The architecture here is a little bit convoluted. I ended up making a new container widget (TimelineContainer) that works similarly to GUI::ScrollableContainerWidget but has two subwidgets (a fixed header that only scrolls vertically, and the timeline view that scrolls on both axes.) It would be nice to generalize this mechanism eventually and move it back into LibGUI, but for now let's go with a special widget for Profiler so we can continue iterating on the GUI. :^)
2021-05-06Profiler: Add a statusbar and show the timeline selection info in it :^)Andreas Kling
2021-05-06Profiler: Rename ProfileTimelineWidget => TimelineTrackAndreas Kling
2021-05-06Profiler: Add TimelineView widget and make the timeline cursor globalAndreas Kling
There's no longer a cursor in each process timeline, instead the parent widget keeps track of it (along with the selection) and it all moves in sync.
2021-05-06Profiler: Tweak timeline widget appearanceAndreas Kling
Use a thinner frame, and ColorRole::Base for the background.
2021-05-06Profiler: Show one timeline per process :^)Andreas Kling
Instead of smashing together all the samples into a single timeline, make one per process and put them all in a ScrollableContainerWidget. This makes it much easier to see which processes were active and when. No timeline is displayed for processes with zero samples in the profile.
2021-05-06LibC: Make malloc(0) return a non-null pointerGunnar Beutner
Legally we could just return a null pointer, however returning a pointer other than the null pointer is more compatible with improperly written software that assumes that a null pointer means allocation failure.
2021-05-06LibC: Make scanf() not increment the assignment count for %nGunnar Beutner
2021-05-06Tests: Move LibRegex tests to Tests/LibRegexBrian Gianforcaro
2021-05-06Tests: Move LibCompress tests to Tests/LibCompressBrian Gianforcaro
2021-05-06Tests: Move LibSQL tests to Tests/LibSQLBrian Gianforcaro
2021-05-06Tests: Establish root Tests directory, move Userland/Tests thereBrian Gianforcaro
With the goal of centralizing all tests in the system, this is a first step to establish a Tests sub-tree. It will contain all of the unit tests and test harnesses for the various components in the system.
2021-05-06LibC: Update forkpty() master fd before fork()'s child branchLinus Groh
2021-05-06LibC: Remove 'int* aslave' parameter from forkpty()Linus Groh
Only keep track of that (and eventually close() it) internally instead. This argument is not present on other systems, so we were running into compatibility issues with ports. Also bring the implementation closer to Linux and OpenBSD by making sure to close the slave pty fd in the fork()'d child as well as _exit()'ing on login_tty() failure - it's non-POSIX, so those are our references here. :^)
2021-05-06LookupServer: Remove some unnecessary "rc" temporariesAndreas Kling
2021-05-06LookupServer: Check the return value after calling unveil()Andreas Kling
2021-05-06TextEditor: Minor cleanups in the FileArgument classAndreas Kling
* Remove unnecessary #include statements * Move it into the TextEditor namespace * Mark the single-argument constructor explicit * Use move() to avoid some unnecessary copies
2021-05-06TextEditor: Rename "file_name" => "filename"Andreas Kling
2021-05-06WindowServer: Don't let clients start resize of non-resizable windowsAndreas Kling
This came up in #6886. If resizing has been disabled for a window, we shouldn't let clients bypass this via start_window_resize().
2021-05-06LibGUI: Don't show resize corner in non-resizable window's statusbarAndreas Kling
Fixes #6886.
2021-05-06LibC: Lazily initialize malloc chunksGunnar Beutner
By default malloc manages memory internally in larger blocks. When one of those blocks is added we initialize a free list by touching each of the new block's pages, thereby committing all that memory upfront. This changes malloc to build the free list on demand which as a bonus also distributes the latency hit for new blocks more evenly because the page faults for the zero pages now don't happen all at once.
2021-05-06LibGUI: Move widget registration to LibCoreTom
This also moves Widget::load_from_json into Core::Object as a virtual function in order to allow loading non-widget objects in GML (e.g. BoxLayout). Co-authored-by: Gunnar Beutner <gbeutner@serenityos.org>
2021-05-06DHCPClient: Handle invalid DHCP responses more gracefullyGunnar Beutner
2021-05-06LibGUI: Remember modified state on undo/redo actionsCarlos César Neves Enumo