summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-03LibWeb: Remove bogus line box width adjustmentAndreas Kling
This basically reverts 95715f0c8f066b2bb43b9dbb4dec993bb627fd9f, as it was totally wrong for text-align:center and text-align:right.
2022-03-03LibWeb: Align actual baselines, not just bottomsAndreas Kling
Until now, we've been treating the bottom of every line box fragment as its baseline, and just aligning all the bottoms to the bottom of the line box. That gave decent results in many cases, but was not correct. This patch starts moving towards actual baseline calculations as specified by CSS2. Note that once layout is finished with a line box, we also store the baseline of the line box in LineBox::m_baseline. This allows us to align the real baseline of display:inline-block elements with other inline content on the same line.
2022-03-03LibWeb: Consider all children when doing height:auto for normal blocksAndreas Kling
Only measuring from the top to the last in-flow block was not giving us enough height in many cases.
2022-03-03LibWeb: Small improvements to layout tree dumpsAndreas Kling
- Say "content-size" instead of just "size" to clarify which size it is - Show box model metrics by default
2022-03-03Meta: Add "SerenityOS" to the QEMU window titleJelle Raaijmakers
Just a small quality of life improvement :^)
2022-03-02Base: Fix typo in FlappyBug documentationKasper Karlsson
2022-03-02SoundPlayer: Sort CMake sources alphabeticallyNícolas F. R. A. Prado
2022-03-02SoundPlayer: Draw album cover with correct aspect ratioNícolas F. R. A. Prado
Instead of drawing the album cover scaled to cover the whole visualization area, draw it resized to fit the area without altering the aspect ratio.
2022-03-02SoundPlayer: Rename NoVisualization to AlbumCoverVisualizationNícolas F. R. A. Prado
Since the NoVisualization widget now shows the album cover, it should be called AlbumCoverVisualization instead.
2022-03-02SoundPlayer: Display album cover in the NoVisualizationWidgetNícolas F. R. A. Prado
Display the album cover for the current playing song in the visualization area for the "None" Visualization. For now only "cover.png" and "cover.jpg" are looked for in the same directory for the album cover image. When no cover image is found the serenity background is shown instead as a fallback.
2022-03-02SoundPlayer: Add start_new_file() to VisualizationWidget's APINícolas F. R. A. Prado
This adds a new start_new_file() function to VisualizationWidget which is called when the player starts a new file, passing the filename of the file. This allows VisualizationWidget subclasses to do any setup needed when a new file is started.
2022-03-02Applications: Fix undefined behavior capturing non-static constexprLenny Maiorani
2022-03-02Base: Correctly set border thickness in Cupertino themeMacDue
This has the same look as before, but the extra thickness is needed as the border radius no longer changes the thickness the window frame is painted.
2022-03-02WindowServer: Treat window frames with a border radius as transparentMacDue
Without this, there are repainting artefacts when the window is moved.
2022-03-02WindowServer: Disable shadow rendering for themes with a border-radiusMacDue
The current shadow renderer only works for purely rectangular windows, when enabled with border radiuses the corners are wrong.
2022-03-02LibGfx: Don't paint the window frame larger for the border-radiusMacDue
Previously with a border radius you would get a "ghost" window frame which was not really there, and would not respond to clicks/attempts to resize.
2022-03-02Utilities: Lint CMakefiles.txtcocateh
Fixed an unalphabetical order of one of the entries.
2022-03-02Utilities: Port tar to LibMaincocateh
Ported tar to LibMain and changed it to use Core::System syscalls.
2022-03-02SoundPlayer: Fix potential never-updated bars visualizationkleines Filmröllchen
When the bars visualization receives a new buffer, it checks if it needs a new buffer, which is only the case after it has repainted. However, after then setting m_is_using_last, which is the flag for this, it checks the buffer size of the passed buffer and returns if that is too small. This means that if the visualizer receives a buffer that is too small, and because of external circumstances the update doesn't run after the buffer modification routine, the m_is_using_last variable is stuck at true, which means that the visualization incorrectly believes that the passed buffer is old and we need not update. This simply fixes that by resetting m_is_using_last if the buffer we're passed is too small, because in that case, we're clearly not using the last buffer anymore. Note: This bug is not exposed by the current SoundPlayer behavior. It will become an issue with future changes, so we should fix it regardless.
2022-03-02LibWeb: Send Origin on WebSocket connectionMichiel Visser
Some services using WebSockets require that the request contains the Origin header, otherwise these services will return a 403 Forbidden response. WebSocketServer already supports sending the Origin header, however LibWeb did not send the origin with the IPC request.
2022-03-02Help: Improve search ergonomicsthankyouverycool
Up and down arrows now select search results. Matching index now displays in full before filtering. Searching from the command line focuses the query, and searches are now case insensitive.
2022-03-02LibGUI: Support hierarchical matches in FilterProxyModelthankyouverycool
Fixes crash when searching in Help. Patch by @eggpi
2022-03-02Help: Convert to GML and propagate more errorsthankyouverycool
Converts Help's layout to GML, propagates model and icon creation errors, and switches to the MainWidget-namespace organization pattern seen in more up-to-date apps like TextEditor to make things easier to maintain going forward.
2022-03-02Ports: Update vttest to version 20220215Daniel Bertalan
We now download a versioned tarball instead of the latest release to avoid breaking the port build due to a signature mismatch when a new version is released.
2022-03-02Base: Add the flag emoji for Hesse (DE-HE)networkException
2022-03-02js: Print `ArrayBuffer.maxByteLength` when presentForLoveOfCats
2022-03-02LibJS: Implement and test ArrayBuffer.prototype.resizeForLoveOfCats
2022-03-02LibJS: Implement and test getters added by resizable ArrayBufferForLoveOfCats
2022-03-02LibJS: Construct ArrayBuffer with max byte length when providedForLoveOfCats
2022-03-02LibJS: Accept ArrayBuffer constructor options argumentForLoveOfCats
Test262 seems to test the changes in the "Resizable ArrayBuffer and growable SharedArrayBuffer" proposal. Begin implementing this proposal by accepting the new options object argument to the ArrayBuffer constructor. https://tc39.es/proposal-resizablearraybuffer https://github.com/tc39/test262/blob/main/test/built-ins/ArrayBuffer/options-maxbytelength-diminuitive.js
2022-03-02Spreadsheet: Make Range(s).forEach() return Position objectsu9g
2022-03-02Spreadsheet: Add Range(s).at(ix)u9g
2022-03-02Meta: Add option to run SerenityOS on a QEMU MicroVM machineLiav A
The microvm machine type is a modern tool for kernel and firmware developers to test their software against features like FDTs, second IOAPIC, lack of legacy devices by default, the ability of using PCIe without using PCI x86 IO ports, etc. We can boot into such machine but we are limited in the functionality we support currently for this type of virtual machine.
2022-03-02Meta: Add option to run SerenityOS on a QEMU ISA-PC machineLiav A
The ISA-PC machine type provides no PCI bus support, no IOAPIC support and other modern PC features of our generation. This is mainly a good environment for testing abstractions in the kernel space, and can help with improving on them for the sake of porting the OS to other chipsets and CPU architectures.
2022-03-02Kernel/Storage: Don't try to enumerate PCI adapters if PCI is disabledLiav A
If there's no PCI bus, then it's safe to assume that we run on a x86 machine that has an ISA IDE controller in the system. In such case, we just instantiate a ISAIDEController object that assumes fixed locations of IDE IO ports.
2022-03-02Kernel/Graphics: Don't try to enumerate PCI adapters if PCI is disabledLiav A
If there's no PCI bus, then it's safe to assume that the x86 machine we run on supports VGA text mode console output with an ISA VGA adapter. If this is the case, we just instantiate a ISAVGAAdapter object that assumes this situation and allows us to boot into VGA text mode console.
2022-03-02Kernel/Audio: Don't try to enumerate PCI adapters if PCI is disabledLiav A
2022-03-02Kernel/Net: Don't try to enumerate PCI adapters if PCI is disabledLiav A
2022-03-02Kernel/PCI: Don't create /proc/pci if PCI is disabledLiav A
Reading from /proc/pci assumes we have PCI enabled and also enumerated. However, if PCI is disabled for some reason, we can't allow the user to read from it as there's no valuable data we can supply.
2022-03-02Kernel/PCI: Unify disable checks under PCI::Access::is_disabled methodLiav A
To declare that we don't have a PCI bus in the system we do two things: 1. Probe IO ports before enabling access - In case we are using the QEMU ISA-PC machine type, IO probing results in floating bus condition (returning 0xFF values), thus, we know we don't have PCI bus on the system. 2. Allow the user to specify to not use the PCI bus at all in the kernel commandline.
2022-03-02Kernel: Change PCI access commandline option to also represent no accessLiav A
This change allow the user to request the kernel to not use any PCI resources/devices at all. Also, don't try to initialize devices that rely on PCI if disabled.
2022-03-02Browser: Add storage inspector to context menuRafał Babiarz
2022-03-02Browser: Add storage inspectorRafał Babiarz
2022-03-02Browser: Add method to get cookies listRafał Babiarz
2022-03-02Demos/CatDog: Show different messages depending on statekleines Filmröllchen
There are two new sets of messages for the new application-dependent main states of CatDog. With the current Array-based system, all message collections must have the same number of messages, but that's not a problem.
2022-03-02Demos/CatDog: Introduce inspector & artist states based on open programskleines Filmröllchen
These two new main states are determined by looking at the programs the user has open. The artist state, using the new artist catdog, is triggered by PixelPaint and FontEditor, and the inspector state is triggered by Inspector, Profiler and SystemMonitor. This requires CatDog to unveil /proc/all, and, for some reason, /etc/passwd.
2022-03-02Demos/CatDog: Refactor the main stateskleines Filmröllchen
CatDog's state was previously handled by a bunch of booleans that all needed to be in sync pretty accurately, but some of these are exclusive (like alerted and sleeping). This commit introduces a simple enum for the main states of CatDog which exclude the roaming and direction states. The main state determines the standing image of CatDog and will have further effects in the future.
2022-03-02Demos/CatDog: Let the speech bubble know about the CatDog widgetkleines Filmröllchen
This will allow us to have better interaction between CatDog's state and what it's saying.
2022-03-02Base: Add CatDog Artist and Inspectorkleines Filmröllchen
Co-Authored-By: sin-ack <sin-ack@protonmail.com>
2022-03-02KeyboardSettings: Highlight default keymap in Keyboard Settings dialogThomas