summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-03Shell: Implement a 'source' builtinAnotherTest
2021-01-03Shell: Show a snippet of what caused the error (if possible)AnotherTest
Now we can have nice errors too: ``` Shell: Glob did not match anything! 0| echo ?x ~~~~~~~~~~^^ 1| ```
2021-01-03Shell: Give commands and globs a source positionAnotherTest
This will help us have nicer error reporting.
2021-01-03Shell: Move AST::create() into the header and use itAnotherTest
2021-01-03TextEditor+Meta+Ports+Shell: Remove blank lines at the end of some filesEmanuele Torre
2021-01-03LibGfx+Ports: Add missing newlines at the end of file.Emanuele Torre
2021-01-03Meta: Add a script that makes sure files end in a newline.Emanuele Torre
This script checks .html, .css, .js, .cpp, .h, .gml and .sh files. It also makes sure that there are no black lines at the end of the files checked.
2021-01-03FuzzJs: If the program successfully parsed, try running itLuke
This should help us get a lot more coverage in LibJS.
2021-01-03LibGUI: Use String::formatted() and String::number() moreAndreas Kling
2021-01-03LibGUI: Use String::formatted() and String::number() moreAndreas Kling
2021-01-03LibWeb: Convert a bunch of String::format() => String::formatted()Andreas Kling
2021-01-03CrashReporter: Make the window resizableAndreas Kling
Also hide the backtrace scrollbars when they're not needed.
2021-01-03FontEditor: Add help documentationBrendan Coles
2021-01-03ProtocolServer: Add some debug log output for failed downloadsAndreas Kling
To make it easier to work out what went wrong.
2021-01-03Demos: add CatDog (Neko clone)TheMorc
2021-01-03Browser: Tell LaunchServer we only want to show the downloads directoryAndreas Kling
Browser only uses LaunchServer for one thing: to open the user's downloads directory after a download is finished. Eventually I'd like to move this functionality to a separate download manager service, but for now, let's at least lock down what Browser is able to ask LaunchServer to do. :^)
2021-01-03LaunchServer+LibDesktop: Add ability to allow URL without handlerAndreas Kling
This lets clients say they want to be able to open a specific URL without specifying which handler to use.
2021-01-03Revert "Terminal: Tell LaunchServer we only need to open "Help""Andreas Kling
This reverts commit 8bf98eb581e6297e732bd442cd5c95cf2e8940ad. Terminal uses LaunchServer to open URLs that you click on. Oopsie!
2021-01-03Terminal: Tell LaunchServer we only need to open "Help"Andreas Kling
2021-01-03LaunchServer+LibDesktop: Add unveil-like mechanism for LaunchServerAndreas Kling
Clients of LaunchServer can now provide a list of allowed handlers, optionally with a specific set of URLs. The list can be sealed to prevent future additions to it. If LaunchServer receives a request to open something not on the allowed handlers list, it will disconnect the client immediately. The main idea here is to allow otherwise restricted programs to launch specific things, e.g "Help" to open their manual, or "Browser" to load the SerenityOS home page. :^)
2021-01-03LibGUI: Also specialize PgUp/PgDn/Home/End in line-wrapped TextEditorsAndreas Kling
This exposes some bugs in TextEditor's widget/document coordinate conversions which we'll need to track down separately.
2021-01-03LibGUI: Improve up/down arrow behavior in TextEditor with wrappingAndreas Kling
Instead of moving between physical lines, the up/down arrow keys now move between visual lines.
2021-01-03Help: Support loading help page by file path as command line argumentBrendan Coles
2021-01-03LibGUI: Make the autocomplete box window a child of its editor's windowAnotherTest
Fixes #4761.
2021-01-03Playground: Improve the autocompleted suggestionsAnotherTest
- Now sorted - Add a "layout" property to GUI::Widget and GUI::Frame - Only complete Layouts for the values of "layout" - Don't suggest anything if the only suggestion is what the user has already typed
2021-01-03LibGUI: Stop the automatic autocomplete timer when typing whitespaceAnotherTest
There's no reason to bring up autocomplete when the user is just inserting indentation and spaces and such.
2021-01-03LibGUI: Register the various BoxLayoutsAnotherTest
They're not exactly "widgets", but the widget registration registers Core::Objects anyway.
2021-01-03LibCore: Add a way to check if a property is readonlyAnotherTest
2021-01-03AK: Add String{,View}::is_whitespace()AnotherTest
+Tests!
2021-01-03LibGUI: Add missing properties to Widget gmlGlenford Williams
Add a few properties to Widget class for usage when in a gml environment
2021-01-03LibGUI: Move widget registrations to the corresponding cpp fileAndrew Kaster
This gets a lot of unecessary includes out of Widget.cpp. Doing this didn't work before, but improvements in the C library and using dynamic libraries have likely un-broken it :^). Also, move the registration global object to an anonymous namespace. No reason it has to be an extern symbol.
2021-01-03LibWeb: Fully implement end tag parsing in foreign contentLuke
Required to view the Spotify home page
2021-01-02LibGUI: Remove Widget's unused m_{foreground,background}_colorLinus Groh
...as well as the few remaining references to set_foreground_color(). These properties are not being used for rendering anymore, presumably because they completely mess up theming - assigning random white and gray backgrounds just doesn't work with dark themes. I've chosen to not replace most of the few remaining uses of this broken functionality with custom palette colors (the closest replacement is background_role) for now (except for Minesweeper where squares with mines are painted red again now), as no one has actually complained about them being broken, so it must look somewhat decent (some just look right anyway). :^) Examples of this are the taskbar buttons, which apparently had a DarkGray foreground color for minimized windows once - this has since been replaced with bold/regular font. Another one is the Profiler's ProfileTimelineWidget, which is supposed to have a white background - which it didn't have for quite some time, it's grey now (with the default theme, that is). Doesn't look bad either.
2021-01-02NotificationServer: Reposition notifications on screen resolution changeLaria Carolin Chabowski
Previously notifications were (partially) drawn outside the screen rect if they were created before changing the screen resolution to smaller dimensions. This prevented the user from dismissing the notification as the close button was no longer clickable.
2021-01-02Shell: Stop running the backgrounding testAnotherTest
This test is breaking the build all the time, let's just turn it off for now. we can enable it again once we know it won't fail.
2021-01-02LibGfx: Add Gfx::TextAttributes (and use it in GUI::TextDocumentSpan)Andreas Kling
2021-01-02Kernel: Ignore TLB flush requests for user addresses of other processesTom
If a TLB flush request is broadcast to other processors and the addresses to flush are user mode addresses, we can ignore such a request on the target processor if the page directory currently in use doesn't match the addresses to be flushed. We still need to broadcast to all processors in that case because the other processors may switch to that same page directory at any time.
2021-01-02Kernel: If a VMObject is shared, broadcast page remappingsTom
If we remap pages (e.g. lazy allocation) inside a VMObject that is shared among more than one region, broadcast it to any other region that may be mapping the same page.
2021-01-02Revert "Kernel: Allocate shared memory regions immediately"Tom
This reverts commit fe6b3f99d1f544715098182ce5bed71d67f266cf.
2021-01-02Spreadsheet: Drop all references to example windows when closing themAnotherTest
Fixes #4716.
2021-01-02Spreadsheet: Avoid OOB access and use-after-move in selectionAnotherTest
2021-01-02Help: Add a "Home" action to the toolbar :^)Andreas Kling
2021-01-02Help: Rename manual section 1 to "User programs"Andreas Kling
Since we're putting man pages for GUI apps into this category as well, let's call it something other than "Command-line programs" :^)
2021-01-02Kernel: Allocate shared memory regions immediatelyAndreas Kling
Lazily committed shared memory was not working in situations where one process would write to the memory and another would only read from it. Since the reading process would never cause a write fault in the shared region, we'd never notice that the writing process had added real physical pages to the VMObject. This happened because the lazily committed pages were marked "present" in the page table. This patch solves the issue by always allocating shared memory up front and not trying to be clever about it.
2021-01-02Kernel: Pass "shared" flag to Region constructorAndreas Kling
Before this change, we would sometimes map a region into the address space with !is_shared(), and then moments later call set_shared(true). I found this very confusing while debugging, so this patch makes us pass the initial shared flag to the Region constructor, ensuring that it's in the correct state by the time we first map the region.
2021-01-02LibWeb: Use Gfx::Bitmap::create_shareable() in OOPWVAndreas Kling
We were jumping through some pretty wasteful hoops in the resize event handler of OOPWV by first creating a bitmap and then immediately creating a new (shareable) clone of that bitmap. Now we go straight to the shareable bitmap instead.
2021-01-02LibGfx: Add Gfx::Bitmap::create_shareable(format, size)Andreas Kling
This helper allocates a shbuf and returns it wrapped in a Bitmap.
2021-01-02LibC: Randomize the stack check cookie value on initializationBrian Gianforcaro
Previously we had a static stack check cookie value for LibC. Now we randomize the cookie value on LibC initialization, this should help make the stack check more difficult to attack (still possible just a bigger pain). This should also help to catch more bugs.
2021-01-02Kernel: Fix bad VMObject iteration in sys$purge()Andreas Kling
We were fooling ourselves into thinking all VMObjects are anonymous and then tried to call purge() on them as if they were.
2021-01-02Kernel: Enable -fstack-protector-strong (again)Brian Gianforcaro
Insert stack canaries to find stack corruptions in the kernel. It looks like this was enabled in the past (842716a) but appears to have been lost during the CMake conversion. The `-fstack-protector-strong` variant was chosen because it catches more issues than `-fstack-protector`, but doesn't have substantial performance impact like `-fstack-protector-all`.