summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-06-10LibEDID: Return "Unknown" string if failed to determine the manufacturerLiav A
Before of this patch, It happened that the return string could be "@@@", as a result of doing mathematical addition of ASCII '@' with bits when decoding the packed manufacturer ID bytes from the EDID. To avoid this, consider m_legacy_manufacturer_id to be invalid until we successfully decode the packed bytes.
2022-06-10LibWeb: Print correct value types in ComponentValue debug stringKarol Kosek
Block and Function names were swapped.
2022-06-10LibGUI: Fix GML parser command order regressionFrHun
This was previously fixed in #13572 with 546d338639cc090055d0c416a76fc237d06930c8 but regressed in #14251 with ec40c93300a2b111129adf1a5badecde8c22889f
2022-06-10LibGUI: Add layout spacer support to GMLFrHun
This is a bit of a hack, but it is an easy way to finally get spacers into GML. This will translate well if spacers are later to become child objects of the continer widget.
2022-06-10LibGUI: Fix crash when clicking on small Scrollbar gutterFrHun
When a Scrollbar becomes too small to display a scrubber, clicking on the empty gutter failed the VERIFY. This fixes that oversight.
2022-06-10WindowServer: Fix animated cursor not starting after cursor theme switchMacDue
Simply setting m_current_cursor in current_cursor_was_reloaded() does not setup the cursor animation, that has to be done in change_cursor(). This also fixes the cursor disappearing after switching from an animated cursor back to a normal one (which was due to it trying to draw a cursor frame that did not exist).
2022-06-10Calculator: Replace "Euler's Constant" with "Euler's Number" in menuredsnout
This is meant to address #14234 by renaming the "Euler's Constant" menu item to "Euler's Number". This commit removes the existing "eulers.png" and replaces with a new "eulers_number.png" for clarity.
2022-06-10LibPthread: Implement cleanup handlersTim Schumacher
2022-06-10LibIPC: Make noise when shutting down because of an errorJelle Raaijmakers
Previously, an IPC connection error could shut down the entire process without giving a hint as to what's wrong. Now, we report that error to the debug console.
2022-06-10LibWeb/CSS: Add :focus-within serialisationLuke Wilde
2022-06-10LibWeb/CSS: Add :nth-of-type and :nth-last-of-type serialisationLuke Wilde
2022-06-10SystemServer: Detect spawning user for AcceptSocketConnections servicesLucas CHOLLET
SystemServer now invokes services with the same uid as the process that made the request. This allows the superuser to have a normal GUI workflow. For example, read and write its own files in TextEditor.
2022-06-10LibWeb: Apply content filter to DNS prefetch and pre-connectLuke Wilde
Performing DNS prefetch or pre-connect on filtered URLs is wasteful, as we would block any actual use further down the line. A bunch of websites perform DNS prefetch and/or pre-connect to trackers as well, for example: ``` prefetch DNS for 'https://adserver-us.adtech.advertising.com/' prefetch DNS for 'https://secure.adnxs.com/' prefetch DNS for 'https://bidder.criteo.com/' prefetch DNS for 'https://static.criteo.net/' prefetch DNS for 'https://cdn.krxd.net/' prefetch DNS for 'https://widgets.outbrain.com/' prefetch DNS for 'https://images.outbrain.com/' prefetch DNS for 'https://log.outbrain.com/ prefetch DNS for 'https://amplifypixel.outbrain.com/' prefetch DNS for 'https://odb.outbrain.com/' prefetch DNS for 'https://js-sec.indexww.com/' prefetch DNS for 'https://as-sec.casalemedia.com/' prefetch DNS for 'https://as.casalemedia.com/' prefetch DNS for 'https://sofia.trustx.org/' prefetch DNS for 'https://c.amazon-adsystem.com/' prefetch DNS for 'https://s.amazon-adsystem.com/' prefetch DNS for 'https://aax.amazon-adsystem.com/' prefetch DNS for 'https://t.teads.tv/' prefetch DNS for 'https://beacon.krxd.net/' pre-connect to 'https://www.google-analytics.com/' pre-connect to 'https://www.googletagmanager.com/' ```
2022-06-10LibJS: Simplify Temporal unit AOsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/1b3d018
2022-06-10LibJS: Remove unnecessary ToLimitedTemporalDuration AOLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/c6571f4
2022-06-10LibJS: Align DifferenceTemporalInstant with similar AOsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/cf9118b
2022-06-10LibJS: Refactor Temporal parse AOsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/7fe29eb
2022-06-10LibJS: Rename DefaultMergeFields to DefaultMergeCalendarFieldsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/0ee80b2
2022-06-10LibJS: Mark a call of CreateTemporalDate as infallibleLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/c403d3f
2022-06-09SystemServer: Add Service::try_create to propagate errorsLucas CHOLLET
This static method is used to propagate errors at the creation of the object.
2022-06-09SystemServer: Propagate more errorsLucas CHOLLET
New propagated errors comes from an endgrent call, and all chown+chmod calls all over the file. For the two last functions, custom C++ wrappers were used. Those wrappers were discarding `ENOENT` errors and naively crashing on other errors, this change introduced in 76e12a48 was used to prevent a crash if a mouse wasn't detected. There are no reasons to discard and to not propagate other errors.
2022-06-09LibCore: Add a wrapper for endgrent()Lucas CHOLLET
2022-06-09Calculator: Add Phi constantAndrew Dykema
2022-06-08PixelPaint: Speed up and improve memory usage of bucket fill toolAaron J Yoder
This algorithm utilizes a modified scanline method that takes advantage of the fact that if you are filling rows starting from the top left and going right, you do not need to check pixels very often except in certain cases such as at the beginning or end of a row. There are some tests on top of this that ensure correct filling in all other cases. This leads to much-improved speed compared to the 4-directional queue method, and no heap allocations.
2022-06-06LibWeb: Use `long long` where it was replaced with `long`stelar7
2022-06-06LibWeb: Adjust implementation of `Document::create_event`stelar7
With this change, it no longer calls TODO() and crashes WebContent
2022-06-06js: Add a loadINI() function for loading INI files :^)Linus Groh
This works the same way as loadJSON, except it loads INI files and always returns an object.
2022-06-06tar: Implement support for GNU longname headersTim Schumacher
2022-06-06WindowServer: Drop support for the DisplayConnector write interfaceLiav A
All DisplayConnectors should support the mmap interface and it should provide better performance now, so let's just use it and drop support for the DisplayConnector's write interface from the WindowServer side.
2022-06-06Mail: Fix mail settings not opening after prompt to configureMacDue
If the extra "/bin/MailSettings" argument is passed to Desktop::Launcher::open() it then is passed as an argument to MailSettings. This then causes the args parsing to fail leading to the settings not opening.
2022-06-06MouseSettings: Get highlight preview cursor via cursor theme Config.iniMacDue
Fixes #14200
2022-06-06LibWeb: Calculate floating elements width using min- and max-widthKarol Kosek
Previously, floating elements computed the width by only using the `width` property. Now, they will also use the `min-width` and `max-width` properties. :^) The new steps are from "10.4. Minimum and maximum widths: 'min-width' and 'max-width'" in the CSS 2 spec. Found it when looking at curl.se.
2022-06-05MouseSettings: Add tab to configure cursor highlightingMacDue
This adds a nice little tab, including a preview, for configuring the cursor highlighting. Which allows setting the color, size/radius, and opacity.
2022-06-05WindowServer: Add IPC calls for changing the cursor highlightingMacDue
2022-06-05WindowServer: Implement cursor highlightingMacDue
This allows drawing a nice cursor highlight with an arbitrary color and radius in the compositor. The highlight circle is, of course, antialiased :^).
2022-06-05WindowServer: Factor out config sync check to sync_config_to_disk()MacDue
2022-06-05LibCore: Remove ConfigFile::write_color_entry()MacDue
This method is currently unused and adds an unwanted dependency on LibGfx. This also adds some missing `LibGfx/Color.h` includes.
2022-06-05LibWeb: Dispatch mouse events to topmost element instead of hit targetkleines Filmröllchen
This improves our spec compliance by allowing the user to click non-element nodes (like text) and having the click be registered with the parent element (like a div or button). This makes Fandom's cookie accept button work if you click the text. Additionally, the events test page contains a test to check the target element, which would previously not exist when we fired the event at a non-element.
2022-06-05LibIPC: Process remaining read bytes before shutting down due to EOFnetworkException
Previously we would shut down an ipc connection regardless of if there were still bytes that have been read and not been handed over to processing, causing WindowServer not to receive WindowServer::SetFlashFlush messages sent by `wsctl -f` except the first one. This patch fixes that behavior by still shutting the connection down due to having reached EOF while also processing remaining bytes. Resolves #12954 See also #8912 which fixes the same issue that this patch fixes but also seems to have initially broken SettingsWindow cancel not actually closing the window unless the cursor got moved as described in #12003. Pull request #12547 fixing the SettingsWindow behavior broke `wsctl` again by always shutting down.
2022-06-05LibWeb: Paint list markers antialiasedMacDue
2022-06-05Pong: Paint ball antialiasedMacDue
2022-06-05Chess: Paint move marker antialiasedMacDue
2022-06-05Breakout: Paint ball antialiasedMacDue
2022-06-05LibGfx: Fix antialiased circles becoming too pointy at small sizesMacDue
The issue mentioned in the previous FIXME also applied to circles, I just had not noticed. This is still not a prefect fix rather it just papers over it, but it now seems to render circles correctly.
2022-06-05LibGUI+Browser: Fix crash when activating a "Tab n" actionnetworkException
Previously we would try setting the tab index regardless if that tab actually existed, resulting in Browser crashing by either pressing Control + N or using the CommandPalette.
2022-06-04LibGL: Reject GL_LEFT and GL_RIGHT in glCullFaceLuke Wilde
glCullFace only accepts GL_FRONT, GL_BACK and GL_FRONT_AND_BACK. We checked if the mode was valid by performing ``` cull_mode < GL_FRONT || cull_mode > GL_FRONT_AND_BACK ``` However, this range also contains GL_LEFT and GL_RIGHT, which we would accept when we should return a GL_INVALID_ENUM error.
2022-06-04LibC: Make asctime_r() in time.h POSIX compliantMay
Previously, when the asctime_r() buffer overflowed, we would fail an assertion. This patch modifies asctime_r() to instead set errno and return null.
2022-06-03LibWeb: Reject invalid background-repeat values instead of crashingIdan Horowitz
2022-06-03LibWeb: Support DocumentFragments in Node.prototype.cloneNodeIdan Horowitz
In this case, "Do nothing" means do nothing *extra* aside from creating a new instance.
2022-06-03js: Create throw completions instead of raw error values on SyntaxErrorIdan Horowitz
This ensures that js's error printing logic is used instead of the generic value printing logic, which then lets eshost correctly parse thrown SyntaxErrors using the normal LibJS exception format.