summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-09Base: Move 32px font editor app icon under 32x32 folderHüseyin ASLITÜRK
2020-05-09Meta: Update ReadMe a bit, add link to issue policyAndreas Kling
2020-05-08LibWeb: Implement "text-transform: {upper,lower}case"Linus Groh
2020-05-08Kernel+Userland: Add "settime" pledge promise for setting system timeAndreas Kling
We now require the "settime" promise from pledged processes who want to change the system time.
2020-05-08Kernel: Only allow superuser to call sys$clock_settime()Andreas Kling
2020-05-08Kernel: Remove SmapDisabler in sys$clock_settime()Andreas Kling
2020-05-08LibWeb: Generate a new list item marker on every layoutAndreas Kling
This is a workaround for the silly issue where some content would move one pixel upward on every layout. The block layout code was finding the list item marker and doing regular inline layout on it. We were not prepared to handle this, which caused it to move in a silly way. For now, just regenerate markers on every layout to work around the issue. In the future we should figure out a nice way to layout markers.
2020-05-08Kernel: Assert on startup if we don't find any physical pagesAndreas Kling
Instead of checking this on every page allocation, just check it once on startup. :^)
2020-05-08Kernel: Add for_each_vmobject_of_type<T>Andreas Kling
This makes iterating over a specific type of VMObjects a bit nicer.
2020-05-08Services: Move Taskbar and SystemMenu from Applications to ServicesAndreas Kling
2020-05-08Services: Renamed from ServersAndreas Kling
It didn't feel right to have a "DHCPClient" in a "Servers" directory. Rename this to Services to better reflect the type of programs we'll be putting in there.
2020-05-08Kernel: Propagate failure to commit VM regions in more placesAndreas Kling
Ultimately we should not panic just because we can't fully commit a VM region (by populating it with physical pages.) This patch handles some of the situations where commit() can fail.
2020-05-08LibIPC: Use NonnullOwnPtrVector<Message> in IPC::ServerConnectionAndreas Kling
We never want to store null messages, so make it impossible to do so.
2020-05-08AK: Add templated NonnullOwnPtr::release_nonnull()Andreas Kling
This allows you to release a NonnullOwnPtr<T> into a NonnullOwnPtr<U>
2020-05-08Browser: Move InspectorWidget into the Browser namespaceAndreas Kling
2020-05-08Kernel: Use NonnullRefPtrVector for HardwareTimer and HPETComparatorAndreas Kling
2020-05-08LibGUI: Highlight interactive area of hovered CheckBox and RadioButtonAndreas Kling
This is consistent what we do for regular Buttons and gives a pleasant visual cue when you're over a clickable area.
2020-05-08Kernel: Remove ref-counting from interrupt override metadataAndreas Kling
I don't see a reason for these to be reference-counted, and removing it simplifies a bunch of surrounding data structures.
2020-05-08SystemServer: Use NonnullRefPtrVectorAndreas Kling
2020-05-08Kernel: Use NonnullRefPtrVector<T> instead of Vector<RefPtr<T>> someAndreas Kling
2020-05-08LibJS: Correct tiny issue with passing a String to String::formatAnotherTest
I'm not sure how this even _builds_
2020-05-08LibJS: Be a bit more explicit about sizeof(buf) / sizeof(FlatPtr)AnotherTest
This (seemingly) no-op cast communicates our intention to clang
2020-05-08LibJS: Add Array.of()Linus Groh
2020-05-08LibJS: Add Array.isArray()Linus Groh
2020-05-08LibJS: Support multiple arguments in Array constructorLinus Groh
2020-05-08LibJS: Add Value::is_integer()Linus Groh
2020-05-08LibGfx: Revert #2154 and properly handle simple polygonsAnotherTest
The existing scanline method works just fine, and only needs the points to be available as floats. This commit reverts the complex polygon mitigation, and instead fixes the rasterization process to avoid generating complex polygons because of precision issues.
2020-05-08LibGUI: Make the "enabled" widget state propagate to child widgetsAndreas Kling
This simplifies building composite widgets by not having to worry about updating widget subtrees.
2020-05-08LibGfx: Handle filling complex shapes betterAnotherTest
This allows the painter to render filled complex shapes better, by constructing a path graph for (interesting) intersecting lines and omitting lines from the containing segments if they are detected to take no part in defining the edges of a shape. This approach would still fail if there are multiple logical shapes that are confined to the collection of lines. For instance, two polygons intersecting each other in a way that one vertex of polygon A ends up inside polygon B. we would detect that polygon A's edges are part of the shape (technically correct) even though they are not a part of polygon B at all.
2020-05-08HackStudio: Support variable inspection in nested scopesItamar
2020-05-08HackStudio: Close the debug tab when debugged program exitsItamar
2020-05-08LibCore: DesktopServices, open fonts with FontEditorHüseyin ASLITÜRK
2020-05-08Applications: Replace SystemMenu name to hi voltage emojiHüseyin ASLITÜRK
2020-05-08Base: Add emoji files for 26A1, 2B06 and 2B07Hüseyin ASLITÜRK
2020-05-08LibGUI: Fix for disable state of SpinBoxHüseyin ASLITÜRK
2020-05-08LibJS: Spec-compliant equality comparisonsMatthew Olsson
The ECMAScript spec defines multiple equality operations which are used all over the spec; this patch introduces them. Of course, the two primary equality operations are AbtractEquals ('==') and StrictEquals ('==='), which have been renamed to 'abstract_eq' and 'strict_eq' in this patch. In support of the two operations mentioned above, the following have also been added: SameValue, SameValueZero, and SameValueNonNumeric. These are important to have, because they are used elsewhere in the spec aside from the two primary equality comparisons.
2020-05-08AK: Declare LogStream::operator<<(const LogStream&, long) (#2155)Devashish Jaiswal
LogStream::operator<<(const LogStream&, long) was implemented in AK/LogStream.cpp but the declaration was missing from the header.
2020-05-07HackStudio: Gracefully handle unfound source filesItamar
2020-05-07LibDebug: Miscellaneous fixes from #2097Itamar
2020-05-07LibELF: Add Image::Section::wrapping_byte_bufferItamar
This can be used to get a ByteBuffer that wrapps the section's data.
2020-05-07LibC: Log calls to getrusageItamar
2020-05-07LibJS: Limit scope of 'for' loop variablesYonatan Goldschmidt
This required 2 changes: 1. In the parser, create a new variable scope, so the variable is declared in it instead of the scope in which the 'for' is found. 2. On execute, push the variable into the newly created block. Existing code created an empty block (no variables, no arguments) which allows Interpreter::enter_scope() to skip the creation of a new environment, therefore when the variable initializer is executed, it sets the variable to the outer scope. By attaching the variable to the new block, the block gets a new environment. This is only needed for 'let' / 'const' declarations, since 'var' declarations are expected to leak. Fixes: #2103
2020-05-07LibJS: Add String.rawMatthew Olsson
2020-05-07LibJS: Add raw strings to tagged template literalsMatthew Olsson
When calling a function with a tagged template, the first array that is passed in now contains a "raw" property with the raw, escaped strings.
2020-05-07Browser: Show line numbers when viewing page sourceNick Tiberi
2020-05-07WindowServer: Fix 'Maximize' ButtonBen Wiederhake
When a window is maximized by clicking the 'maximize' button in the window frame, the WindowFrame *is* invalidated and repainted properly. However, the internal state of the WindowServer::Button does not get updated until the next mouse movement. This means that the 'maximize' button is erroneously highlighted until the mouse moves again. This is very visible. Ideally, a patch should compute the actual new m_hovered. However, this requires knowledge of the new rect, or calling something on the Button after the new rect has been determined. Until someone can figure out a good way around this, setting m_hovered to false is a solution that 'usually' works. Note that this does *not* work when after maximizing/restoring, the maximize button falls exactly under the mouse again. The button functions properly, but is erroneously not highlighted. At least a *missing* highlight is less noticable than a highlight too many.
2020-05-07WindowServer: Don't block child-windows of modal windowsBen Wiederhake
ComboBox creates a regular (non-modal) window; I believe this is fine. A Dialog (modal window) can contain a ComboBox; I believe this is fine. A non-modal child window of a modal window (e.g. a ComboBox pop-out within a Dialog) wasn't clickable, and was blocked in the WindowManager. I want to change this behavior. This edge case occurs when trying to select a month in the "Calendar" Application.
2020-05-07Base: Add "`" to GB keymapLinus Groh
2020-05-07LibGUI: Properly draw the background of the selected TreeView lineDexesTTP
In the TreeView, the background of the selected line (or any background, really) was only drawn until the frame's width. When the text was larger than the frame's width, this caused the end of the text to be displayed without background, making it unreadable if it was white (which is the default text color for selected lines). To compute the background width, we have a choice between : - The inner frame width (the current behaviour which causes the issue) - The total width of all columns (which causes the background to end early if the columns don't cover the full width) The new algorithm uses the biggest of the above values, which gives us exactly what we want in all cases :^) Fixes #2134
2020-05-07HackStudio: Apply INI syntax highlighter when opening a .ini fileLinus Groh