summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-30Everywhere: Use my fairly new and shiny serenityos.org email :^)Kenneth Myhra
2022-06-30LibJS/Bytecode: Make for, do/while and while always switch to end blockLuke Wilde
Previously we only did this if the body block was not terminated. If it was, all future codegen would happen in this block terminated body block until another switch occurred, dropping all generated instructions in this time on the floor.
2022-06-30HackStudio: Properly clear previous editor tabs when closing projectLennon Donaghy
Before this commit the close tab button, which is meant to only show when more than one tab is open, would be present on the tab of a new project opened after the first project. This was due to m_all_editor_tab_widgets not being cleared when closing the first project. This is now cleared when close_current_project() is called.
2022-06-30HackStudio: Leave one editor tab open on closing projectLennon Donaghy
2022-06-30Toolchain: Remove workarounds for initializer_list and _aligned_allocAndrew Kaster
These are no longer required to use libc++ on Serenity
2022-06-30Toolchain: Create separate serenity xlocale support fileAndrew Kaster
2022-06-30Toolchain: Format llvm patches per new patch formatAndrew Kaster
This removes the patch series 1/N comments, git version at the bottom of the patch, and zeros out the original commit hash.
2022-06-30LibC: Align _ctype_ to newlib's implementationAndrew Kaster
newlib has an extra character slot at the beginning to enable some macro tricks that cause a warning when someone passes a type that's not "int" into a ctype function. Our deviation from this causes issues for LLVM.
2022-06-30Tests: Add tests for <ctype.h> functions declared in the C StandardAndrew Kaster
2022-06-30Ports/ruby: Pass proper --with-coroutine flag per architectureAndrew Kaster
This fixes the x86_64 build. However, when built with clang x86_64, ruby crashes on exit trying to free some memory that has an invalid header magic. More work to be done here to make the x86_64 build work properly.
2022-06-30Toolchain+Ports: Install host ruby into Local/ruby, not Local/$ARCHAndrew Kaster
Following the pattern for qemu, mold, and clang, we should install the host ruby required to build the ruby port into its own install tree rather than forcing it into the GNU compiler's bindir.
2022-06-30Toolchain+Ports: Install host python into Local/python, not Local/$ARCHAndrew Kaster
Following the pattern for qemu, mold, and clang, we should install the host python required to build the python port into its own install tree rather than forcing it into the GNU compiler's bindir.
2022-06-30Toolchain: Set '/' as default division character for binutilsTim Schumacher
While we are at it, regenerate the patch and remove some outdated parts of the description.
2022-06-30LibGfx: Use ZlibCompressor for compressing PNG filesKarol Kosek
Previously we were hand-writing all the Zlib and raw Deflated data structures here, but now PNGs will be compressed using ZlibCompressor which will actually try to compress something! :^) Note that we don't do any filtering that should help compress data even more, but even now the results are pretty good: - screenshots of my Serenity desktop are take now about 55 KiB, where previously it was 3 MiB. - re-encoding NASA photo of the Earth[1] to PNG shows a 2x improvement (34.3 MiB -> 16.5 MiB). [1]: https://commons.wikimedia.org/wiki/File:The_Blue_Marble_(remastered).jpg
2022-06-30LibCompress: Implement a Zlib compressorKarol Kosek
2022-06-30LibCompress: Use newly created Zlib header structure when decompressingKarol Kosek
This way we can get rid of some magic numbers.
2022-06-30LibCompress: Add Zlib header structureKarol Kosek
2022-06-30SQLStudio: Add collapsible tabs for query resultsmartinfalisse
Adds tabs under the editor and places the query results there. It is only displayed if there are results to an executed query.
2022-06-30SQLStudio: Show script execution results in tablemartinfalisse
Show the results of executing a script in the TableView (if there are results to show).
2022-06-30SQLStudio: Execute statements in SQL servermartinfalisse
Make the link between SQLStudio and the SQLServer so that statements written in the editor window are executed by LibSQL when the 'Run' button is clicked.
2022-06-30SQLStudio: Add GUI for query resultsmartinfalisse
Add the necessary GUI elements (button, table) so that one can click a button to run the currently-open script, and see the results in a user-friendly table.
2022-06-30Documentation: Bump compiler version to `12.1.0` in include pathsCyber Gsus
Even though we tell the user to change the version manually if it doesn't match with the current `Toolchain/Local/i686/i686-pc-serenity/include/XX.X.X` version, it doesn't hurt to update it properly now that versions differ by major version.
2022-06-30Base: Add example for `calc(<percentage> - <length>)` to calc.htmlLinus Groh
`calc(<percentage> + -<length>)` did work before, but a direct `calc(<percentage> - <length>)` was broken. Let's have a test for both.
2022-06-30Base: Fix label/actual style mismatches in calc.htmlLinus Groh
2022-06-30LibWeb/CSS: Fix incorrect `calc(<percentage> - <value>)` computationsLinus Groh
When swapping both values to perform the actual calculation, we need to consider that `A + B == B + A`, but `A - B != B - A`, so turn it into `-B + A`. Co-Authored-By: Sam Atkins <atkinssj@serenityos.org>
2022-06-30Base: Add new Canadian keyboard mappingsjmdeejay
2022-06-30FileSystemAccessServer: Call window stealing functions syncMacDue
These functions were changed to synchronous in #13870 but the async_ versions were still being called. This led to frequent crashes when loading local files in Browser.
2022-06-30Ports: Add a port of `e2fsprogs`Tim Schumacher
2022-06-30LibC: Implement `wcswidth`Tim Schumacher
2022-06-30LibC: Stub out `brk` and `sbrk`Tim Schumacher
2022-06-30LibELF: Store the full file path in DynamicObjectTim Schumacher
Otherwise, our `dirname` call on the parent object will always be empty when trying to resolve dependencies.
2022-06-30Base: Sort the default content list in ascending orderLuke Wilde
2022-06-30Base: Add 300+ ads and trackers to the default content filter listLuke Wilde
This also starts making use of the fact we match on any part of the URL to block on-site trackers such as the ones provided by Ezoic: ``` /greenoaks.gif? /imp.gif? /cmbdv2.js /ezcl.webp? ``` This also promotes some subdomains to the eTLD+1 as I saw other subdomains being used for these.
2022-06-30PixelPaint: Omit file extension in tab/editor titlesLennon Donaghy
This commit removes the file extension in the presented title of images, and fixes an issue with the previous commit wherein "save as" on an image would always append ".pp" as an extension, even when the filename already included this extension.
2022-06-30PixelPaint: Use image title as default filename for "save as"Lennon Donaghy
When creating a new image, a title can be entered. This title was not used when saving the file however, so naming it was pointless, as the title used would be whatever was entered during the first save. This commit makes it so that the default text in the "save as" dialogue is whatever was entered previously when the image was created.
2022-06-30Spreadsheet: Make conditional-formatting condition-list scrollableFrHun
2022-06-30LibGUI: Add min_content_size debug property to AbstractScrollableWidgetFrHun
This helps with debugging subclasses of AbstractScrollableWidget
2022-06-30LibGUI: Add custom layout change handling to ScrollableContainerWidgetFrHun
2022-06-30LibGUI: Fix flickering scrollbars in AbstractScrollableWidgetFrHun
The new min_content_size value is to be set by the subclasses, it is then used to determine if the scrollbars should be shown after a resize, but before the content size will be calculated by the following layout pass.
2022-06-30LibGUI: Add layout change propagation to WidgetFrHun
This function is intended to propagate layout changes upwards in the widget hierarchy. Widgets that can know what to do with this information without causing a full layout invalidation (i.e. just because one of their child widgets changed layout/size, doesn't necessairily mean that they have to change their layout/size) can override this and prevent a full relayout and redraw.
2022-06-30Applications+Games+LibGUI: Fix layout problemsFrHun
2022-06-30ThemeEditor: Fix layout for new layout systemFrHun
2022-06-30Spreadsheet: Use new layout systemFrHun
2022-06-30LibGUI: Change Label standard preferred height to opportunistic growFrHun
The default size for label is always a compromise, no matter what value is chosen, some layouts will require local manual overrides. Having the preferred size be opportunistic_grow in both directions seems like it's currently the option that works without modification in most cases.
2022-06-30LibWeb: Fix box-shadows on elements smaller than the blur diameterMacDue
This commit adds some finagling and shrinking of the corner bitmap to handle drawing shadows on elements where the shadow radius > half the width or height of the element. Previously things would go horribly wrong when this happend. There could still be some edge cases, but things seem to be working fairly well now.
2022-06-30LibWeb: Fix off-by-one shadow position on non-integer positioned boxesMacDue
This fixes a issue due to the background/border painting using .to_rounded<int>() to get an IntRect, but shadow painting was using enclosing_int_rect(). enclosing_int_rect() uses some floors/ceils and does not always match .to_rounded<int>().
2022-06-30LibWeb+LibGfx: Fix 'halo' effect around the fringes of shadowsMacDue
This now allows passing a 'fill_color' to the blur, any fully transparent pixels will be replaced with this color (with the alpha set to 0). For box-shadows, if this color is set to the same as the shadow, the issues around the fringes are fixed. This also fixes some places where dark shadows appeared light / the wrong color.
2022-06-30LibWeb: Switch to using StackBlurFilter for shadow paintingMacDue
With this change the blur no longer dominates the profile. On my PC it is down to 27% (which is the same as the AA ellipse painting). The box-shadow.html test page now also feels more responsive.
2022-06-30LibGfx: Add StackBlurFilter, an efficient almost gaussian blurMacDue
This adds an implementation of StackBlur which is a very efficient blur that closely approximates a gaussian blur. It has a number of benefits over the existing FastBoxBlurFilter: 1. It's faster (~half the pixel lookups of a single box blur pass) 2. It only requires a single pass over image to produce good results - (Rather than the 3 the box blur requires) 3. It only needs to allocate a buffer of `blur_radius * 2 + 1` colors - These easily fits on the stack for any reasonable radius For a detailed explanation of the algorithm check out this link: https://observablehq.com/@jobleonard/mario-klingemans-stackblur
2022-06-30AK: Add AK::ceil(float) and AK::ceil_log2(integer)MacDue
Co-authored-by: Leon Albrecht <leon2002.la@gmail.com>