summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-12Base: Add go-first, go-last, zoom-in, zoom-out iconsHüseyin ASLITÜRK
2020-04-12LibGfx: Add Bitmap::rotated and Bitmap::flippedHüseyin ASLITÜRK
2020-04-12LibGUI: Use parrent window icon for MessageBox dialog iconHüseyin ASLITÜRK
2020-04-12ProfileViewer: Switching to percent mode should take effect immediatelyAndreas Kling
2020-04-12LibGUI: Make TableView ignore custom colors for selected rowsAndreas Kling
This allows them to look selected instead.
2020-04-12LibJS: Add js_negative_infinity()Linus Groh
Value(-js_infinity().as_double()) is kind of awkward.
2020-04-12LibJS: Handle Infinity in Value::to_number()Linus Groh
2020-04-12ProfileViewer: Symbolicate the disassembled instructionsAndreas Kling
Instead of "call 0x0811d6ac", we now say "call 0x0811d6ac <malloc>" :^)
2020-04-12LibX86: Add a way for Instruction::to_string() to symbolicate addressesAndreas Kling
This patch adds a pure virtual X86::SymbolProvider that can be passed to Instruction::to_string(). If the instruction contains what appears to be a program address, stringification will try to symbolicate that address via the SymbolProvider. This makes it possible (and very flexible) to add symbolication to clients of the disassembler. :^)
2020-04-12LibGUI: Remove debug spam in AbstractView::did_update_model()Andreas Kling
2020-04-12LibGUI: Add a way for models to update without invalidating indexesAndreas Kling
This is really just a workaround to keep SystemMonitor's process table working right wrt selection retention during resorts (while also doing full index invalidation on things like ProfileViewer inversion.) It's starting to feel like the model abstraction is not super great and we'll need a better approach if we want to actually build some more dynamic functionality into our views.
2020-04-12Kernel: Bump the max stack frame count in sample profiles to 50Andreas Kling
Maybe this should be configurable, who knows. For now, 50 works a bit better for highly nested scenarios like LibJS.
2020-04-12LibJS: Let's show a few more decimals when stringifying numeric valuesAndreas Kling
I'm not sure what the correct behavior is supposed to be, but at least this makes printing numbers show some more interesting detail for now.
2020-04-12ProfileViewer: Put the tree and disasembly views in a vertical splitterAndreas Kling
2020-04-12LibWeb: Add port blacklist for ResourceLoader::loadBrendan Coles
`ResourceLoader::load` now rejects URLs which specify a `port` associated with network services known to be vulnerable to inter-protocol exploitation. Fixes #1735
2020-04-12AK: Parse query and fragment in URL::parse()Linus Groh
2020-04-12AK: Support fragment in URLLinus Groh
2020-04-11Kernel: Store previous thread state upon all transitions to Stopped (#1753)Peter Nelson
We now store the previous thread state in m_stop_state for all transitions to the Stopped state via Thread::set_state. Fixes #1752 whereupon resuming a thread that was stopped with SIGTSTP, the previous state of the thread is not remembered correctly, resulting in m_stop_state == State::Invalid and the associated assertion fails.
2020-04-11ProfileViewer: Open /boot/kernel for disassembly if possibleAndreas Kling
If you have access to /boot/kernel, you can see the disassembly of kernel code in ProfileViewer. This is really useful! :^)
2020-04-11LibX86: Decode RDRAND instructionAndreas Kling
I was looking at Kernel::get_good_random_bytes() and wondering where the RDRAND instruction was. :^)
2020-04-11ProfileViewer: Don't crash when we can't disassemble somethingAndreas Kling
2020-04-11LibX86: Fix duplicate '+' in SIB byte disassemblyAndreas Kling
For SIB bytes with base but no index, we were emitting two '+' chars which looked very off.
2020-04-11Browser: Accept file:// URLs on the command lineAndreas Kling
This could be a lot nicer, but at least we can open file:// URLs now.
2020-04-11AK: Recompute URL validity after changing protocol/host/pathAndreas Kling
This allows you to build URLs by calling setters on an empty URL and actually get a valid URL at the end.
2020-04-11LibELF: Validate the mapped file in DynamicLoader constructorAndrew Kaster
ELF::DynamicLoader now validates the ELF header and the program headers in its constructor. The requested program interpreter from the PT_INTERP program header is now avaiable via a getter. The dynamic loader program will want to check that this matches its name, for extra shenanigans checking.
2020-04-11LibELF: Move validation methods to their own fileAndrew Kaster
These validate_elf_* methods really had no business being static methods of ELF::Image. Now that the ELF namespace exists, it makes sense to just move them to be free functions in the namespace.
2020-04-11LibELF: Move ELF classes into namespace ELFAndrew Kaster
This is for consistency with other namespace changes that were made a while back to the other libraries :)
2020-04-11LibWeb: Prevent http:// URLs loading scripts sourced from file:// URLsBrendan Coles
Fixes #1616
2020-04-11LibVT: Shift+Tab should generate ESC[ZAndreas Kling
Fixes #1751.
2020-04-11ProfileViewer: Color code the instruction rows by sample percentageAndreas Kling
We now "heat color" the instruction-level samples so you can get a nice visual picture of where time is spent in functions. :^)
2020-04-11ProfileViewer: Don't skip the innermost frame when loading profilesAndreas Kling
We were skipping the innermost frame as a workaround for the kernel putting garbage data there. Now that the kernel puts the instruction poiner there, we can load the frame normally! :^)
2020-04-11Kernel: Include the current instruction pointer in profile samplesAndreas Kling
We were missing the innermost instruction pointer when sampling. This makes the instruction-level profile info a lot cooler! :^)
2020-04-11LibLine: Cycle backward through suggestions using Shift+TabLinus Groh
2020-04-11LibELF: Return false instead of assert on unrecognized program headerAndrew Kaster
2020-04-11LibGUI: Fill whole TableView cells with custom background colorAndreas Kling
This was easier than I expected. :^)
2020-04-11ProfileViewer: Remove debug spam during disassemblyAndreas Kling
2020-04-11ProfileViewer: Highlight instructions with >0 samples in yellowAndreas Kling
2020-04-11LibGUI: Respect Model::Role::BackgroundColorAndreas Kling
This implementation is very gappy, but the basic feature allows us to highlight cells with a custom background color.
2020-04-11ProfileViewer: Add an instruction-level sample viewerAndreas Kling
When you select a function in the profile tree, we will now display a per-instruction breakdown of aggregated samples in that function. This allows us to look much closer at what our code is doing! :^)
2020-04-11LibELF: Add a find_symbol() API that finds a Symbol for an addressAndreas Kling
Also add ELFImage::Symbol::raw_data() to get a StringView containing the entire symbol contents.
2020-04-11js: Stylize TokenType::{Throw,Switch,Case}Linus Groh
2020-04-11LibLine: Display suggestions and cycle between themAnotherTest
With extra color (tm) This commit also patches the users of LibLine to properly use the new API
2020-04-11LibLine: Ask for cursor position once and handle the rest internallyAnotherTest
Prior to this, writing to stdin while a display refresh was happening corrupted the input and displayed garbage.
2020-04-11AK: String::contains() should say no if needle or haystack is nullAndreas Kling
2020-04-11Userland: Add primitive autocomplete to the JS replAnotherTest
This patch adds primitive support for autocompletion in the JS repl, it only supports completing global names and properties on variables :^)
2020-04-11Userland: Install LibLine's signal handlers in the JS replAnotherTest
2020-04-11LibLine: Properly handle window resize by not spamming DSRsAnotherTest
We have all the information necessary to find our new origin when a window size change occurs.
2020-04-11LibLine: Properly show and cleanup suggestionsAnotherTest
Prior to this, we would display them and never clean then up.
2020-04-11IRCClient: Add channel member context menus for common CTCP requestsBrendan Coles
Add menu items for CTCP: USERINFO, FINGER, TIME, VERSION, CLIENTINFO
2020-04-11LibJS: Add console.trace()Linus Groh