summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-04-07LibWeb: Ignore non-painting layout nodes when building stacking contextsAndreas Kling
2022-04-07LibGfx: Add AffineTransform::map_to_quad(Rect)Andreas Kling
Unlike map(Rect) which returns a Rect, mapping a Rect to a Quad allows us to represent the actual result of mapping all four corners of the Rect through the matrix.
2022-04-07LibGfx: Add Gfx::Quad<T> to represent arbitrary quadrilateralsAndreas Kling
This comes with a very barebones API for now. You can ask for the bounding rect of the quad, and also check if a point is inside of it.
2022-04-07LibGfx: Templatize Gfx::TriangleAndreas Kling
Previously this was limited to integer triangles, but I want to use it with floats, so let's start by templatizing the class.
2022-04-07LibX86+disasm: Use an output format closer to objdumpHendiadyoin1
This mainly does two things, 1. Removes spaces after commas 2. Elides "0x" and leading zeros in most contexts Remaining differences are: 1. objdump always has memory size annotations We lack these and probably have some annotations wrong 2. Boolean check names We use jump-zero, while objdump uses jump-equal for example 3. We sometimes add "00 00" symbols, which objdump elides 4. We always demangle (This is a good thing) 5. We always resolve relocations (This is a good thing) 6. We seem to detect some symbols differently/incorrectly
2022-04-07disasm: Print instruction bytesHendiadyoin1
This prints 7 instruction bytes per line, which is enough for most x86-64 instructions (rex+opcode+mod/rm+imm32) and is also what objdump uses. Co-authored-by: Simon Wanner <skyrising@pvpctutorials.de>
2022-04-07LibX86: Fix weird formatting in Interpreter.hHendiadyoin1
2022-04-07LibUnicode: Upgrade to CLDR version 41.0.0Timothy Flynn
Release notes: https://cldr.unicode.org/index/downloads/cldr-41 Note that the HourCycleRegion enum now contains 272 entires, thus needs to be bumped from u8 to u16.
2022-04-07HexEditor: Add Value InspectorTimothy Slater
This adds a value inspector window to the Hex Editor. This window shows the data at the current cursor position (or selection start if a range is selected) interpreted as a variety of data types. Currently supported values include 8, 16, 32, and 64 bit signed and unsigned values as well as float and double. The inspector can operate in both little endian and big endian modes. This is switched between by options in the View menu.
2022-04-07HexEditor: Add get_byte() method to HexEditor classTimothy Slater
2022-04-07HexEditor: Add ability to set a selection rangeTimothy Slater
2022-04-07LibJS: Consistently call observable Temporal AOs with undefined optionsLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/6fa5b9d
2022-04-07LibWeb: Fix broken AffineTransform::map() implementationAndreas Kling
When opening canvas-rotate.html on my host machine, I noticed that the rotation was going the other way.. :^)
2022-04-06LibJS: Reorder and reduce steps of InitializeDateTimeFormatTimothy Flynn
These are editorial changes in the Intl spec. See: https://github.com/tc39/ecma402/commit/7d0326c https://github.com/tc39/ecma402/commit/05a299b https://github.com/tc39/ecma402/commit/8c24ea7 https://github.com/tc39/ecma402/commit/fd8dea9
2022-04-06LibJS: Remove outdated FIXME from String.prototype.localeCompareTimothy Flynn
This FIXME was addressed in 0975eba7241ff44fcfc5f3be074a09b353ebae5f.
2022-04-06SystemMonitor: Default initialize all thread state variableskleines Filmröllchen
Having bogus values here when we just initialize the thread state with a process can lead to all sorts of bad things down the line, like infinite draws.
2022-04-06SystemMonitor: Fallback to invalid model index if there's no main threadkleines Filmröllchen
In the process model we check the thread with tid=pid to figure out the main thread of a process. This is used to construct the process view tree with non-main threads listed as children of the process row. However, there are sometimes circumstances where there is no main thread, even though the process should have been removed from the internal list by then. As a safe fallback, let's default to an invalid model index if we can't figure out what the main thread of a process is.
2022-04-06LibWeb: Make BrowsingContext ask PageClient when it wants to be scrolledAndreas Kling
BrowsingContext shouldn't be scrolling itself, instead it has to update the layout (to ensure that we have current document metrics, and then ask the PageClient nicely to scroll it. This fixes an issue where BrowsingContext sometimes believed itself to be scrolled, but OOPWV had a different idea.
2022-04-06LibWeb+Browser: Remove Web::WebViewHooks classAndreas Kling
This was a mixin class that allowed sharing a set of hooks between InProcessWebView and OutOfProcessWebView. Now that there is only OOPWV, we don't need the mixin.
2022-04-06LibWeb: Remove the InProcessWebView widgetAndreas Kling
Let's simplify our offering by only having the OutOfProcessWebView.
2022-04-06HackStudio: Remove "evaluate expression" dialogAndreas Kling
This was built on Web::InProcessWebView which is going to be removed. Since this feature wasn't really used or maintained, let's just remove it for now, and it can be resurrected on top of OutOfProcessWebView if someone finds it useful enough to do that work.
2022-04-06LibWeb: Remove unused HTML::parse_html_document()Andreas Kling
2022-04-06LibWeb: Use FrameLoader::load_html() when loading error pagesAndreas Kling
Use our existing helper function for parsing a HTML string and opening it as the main content of the attached browsing context.
2022-04-06Spreadsheet: Change paste action's enabled state on clipboard changeKarol Kosek
Previously, the paste action was always enabled and always assumed that anything was selected, which led to a crash by clicking the paste action right after the application startup. This patch will automatically enable/disable the paste action depending on whether a selection exists (it usually does, except on the app launch and after adding a new tab) and if the clipboard mime type is a text/ group. So no, you can't paste an image into the app anymore, even though this mostly froze the app before...
2022-04-06LibX86: Add CMPXCHG8B, RDRAND and RDSEEDHendiadyoin1
With this we can run following script with no errors: ```sh for /usr/lib/*.so { disasm "$it" > /dev/zero } ```
2022-04-06UserspaceEmulator: Don't interpret SSE2 instructions as MMX onesHendiadyoin1
This is a huge FIXME right now, and should either be delegated to SoftVPU or handled in these instructions.
2022-04-06LibX86: Support SSE2 :^)Hendiadyoin1
This allows disassembly of binaries with SSE2 instructions in them. SSE2 also extends all MMX instructions without affecting the mnemonic, therefore these are just directed to the same function for now. The UserspaceEmulator does not know this as of this commit.
2022-04-06LibX86: Mark MMX instructions as SSE instructionsHendiadyoin1
SSE2 expands on the same opcodes as MMX, so we have to mutate on prefix here.
2022-04-06UserspaceEmulator: Truncate in CVTTSS2SIHendiadyoin1
2022-04-06LibX86: Correct CVTSS2SI's register signatureHendiadyoin1
This was annotated the wrong way around.
2022-04-06LibWeb: Rename compute_intrinsic_height() => calculate_auto_height()Andreas Kling
Change "compute" to "calculate" to make clearer that this is unrelated to the CSS "computed height" concept. Change "intrinsic" to "auto" to make clearer that this is not the same as the intrinsic min-content and max-content sizing calculations.
2022-04-06LibWeb: Remove incorrect comment from FFC flex item cross sizingAndreas Kling
2022-04-06AK+Userland: Rename Array::front/back to first/lastSam Atkins
This is the name that is used for every other collection type so let's be consistent.
2022-04-06InspectorServer: Defer removal of InspectableProcess from tablesin-ack
This prevents a crash when the inspected process closes the socket (i.e. when the app is exited). This crash was caused by the InspectableProcess removing itself from the global process table within a callback Function that is stored as part of the InspectableProcess.
2022-04-06SystemMonitor: Keep current process selection expanded if neededkleines Filmröllchen
This is a hack until persistent model indices work.
2022-04-06SystemMonitor: Display processes and their threads in a tree :^)kleines Filmröllchen
This shows all non-main threads as children of the process they belong to. We also show the TID as that is important to distinguish the different threads in one process. Fixes #65 :skeleyak:
2022-04-06LibGUI: Don't stringify non-textlike data in TreeView's tree columnkleines Filmröllchen
This would previously cause silly things like [GUI::Icon] to appear if a non-textlike column was used as the tree column (like, in this example, an icon column). Let's just not write anything instead.
2022-04-06SystemMonitor: Pass the correct parent when checking for selected valueskleines Filmröllchen
This will cause trouble later when the row is not enough to identify a selection.
2022-04-06SystemMonitor: Move TID to the front in ProcessModelkleines Filmröllchen
This will look much nicer once we enable that column.
2022-04-06LibGUI: Add is_toggled getter for TreeViewkleines Filmröllchen
This has safer fallbacks than toggle_index, because we want to be able to call it on indices that don't have children.
2022-04-06LibGUI: Associate model index metadata directly with the model indexkleines Filmröllchen
This was using internal_data beforehand, which relies on the internal data to be distinct for different model indices. That's not the case for example for SortingProxyModel. Using the model index directly makes tree expansion work properly when using a tree table widget with a SortingProxyModel.
2022-04-06LibGUI: Register many properties of AbstractViewkleines Filmröllchen
2022-04-06LibGUI: Register should_fill_selected_rows for GML in TreeViewkleines Filmröllchen
2022-04-06LibGUI: Delegate the tree column in SortingProxyModelkleines Filmröllchen
This was never properly delegated to the source model, so the tree column would just always be zero.
2022-04-06LibGUI: Register AbstractTableView.column_headers_visiblekleines Filmröllchen
This was used before by SystemMonitor but not actually registered.
2022-04-06LibGUI: Implement column_headers_visible in AbstractTableViewkleines Filmröllchen
This was declared but not defined. :yakfusion:
2022-04-06LibWeb: Determine intrinsic flex container size from content-sizeAndreas Kling
When running the min-content and max-content sizing algorithms and the target box creates a flex formatting context, we don't need to measure its children. FFC has already assigned the content_width and content_height values, so we just need to pick those up from the container's formatting state.
2022-04-06LibCore+Base: Hide empty options sections in manpagessin-ack
2022-04-06LibCore+Base: Add way to hide ArgsParser opt.s from specific usage textssin-ack
This adds the ability to hide certain options from certain help texts. `--complete` is always hidden, whereas `--help` and `--version` are hidden from Markdown help text only. Note that in all cases these three options are hidden from the short usage line.
2022-04-06LibWeb: Add basic constructor/prototype to exotic objectsIgor Pissolati