summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
2022-10-20LibJS: Refactor CalendarFields for better linearityMoustafa Raafat
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/9b139a1
2022-10-20LibJS: Simplify ParseTemporalTimeZoneStringIdan Horowitz
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/eec8efab
2022-10-20LibJS: Refactor ToRelativeTemporalObjectIdan Horowitz
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/895854d9
2022-10-19LibJS: Remove trivial operations ISO{Year,Month,Day}Moustafa Raafat
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/606d8a2
2022-10-19LibJS: Remove trivial operation IsValidISOMonthMoustafa Raafat
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/a08330a
2022-10-19LibJS: Merge ISOMonthCode and BuildISOMonthCodeMoustafa Raafat
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/a4d17b1
2022-10-19LibJS: Improve alias names in ResolveISOMonthMoustafa Raafat
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/01d5fbe
2022-10-19LibJS: Simplify ResolveISOMonthMoustafa Raafat
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/1b83226
2022-10-19WebContent+Friends: Add get_element_property IPC and plumbingTobias Christiansen
2022-10-19LibGL: Correctly normalize different vertex attribute type pointersJelle Raaijmakers
According to the OpenGL 2.0 spec ยง 2.8, the data for each attribute type pointer is normalized according to the type. The only exception to this is `glVertexAttribPointer` which accepts a `normalized` parameter, but we have not yet implemented that API.
2022-10-19LibGL: Return `GLboolean` value in `glIsEnabled`Jelle Raaijmakers
2022-10-19LibGL: Implement state for all pixel store parametersJelle Raaijmakers
This implements the state and context parameters for all packing and unpacking parameters accepted by `glPixelStore*`.
2022-10-19LibGL: Don't repeat ourselves in `read_from_vertex_attribute_pointer`Jelle Raaijmakers
2022-10-19LibGL: Implement missing `glDeleteLists` error conditionsJelle Raaijmakers
2022-10-19LibGL: Make `read_from_vertex_attribute_pointer` staticJelle Raaijmakers
2022-10-19LibGL: Do not return early if client-side vertex array is disabledJelle Raaijmakers
According to the spec, enabling the client-side vertex array should behave as if `glVertex` is executed after all other states such as the normal, color, etc. have changed. We were not changing these states if the client-side vertex array was disabled which probably does not affect a lot of applications, but this seems like the correct thing to do. :^)
2022-10-19LibGL: Add buffer API stubsJelle Raaijmakers
No implemented functionality, but this makes it easier to see if software is using this family of functions.
2022-10-19LibSoftGPU: Call `floor_int_range` only once in `sample_2d_lod`Jelle Raaijmakers
We were invoking `frac_int_range` twice to get the `alpha` and `beta` values to interpolate between 4 texels, but these call into `floor_int_range` again. Let's not repeat the work.
2022-10-19LibSoftGPU: Extract `argb32_color` value in rasterizationJelle Raaijmakers
This makes it easier to correlate slow instructions in the disassembly view of ProfileViewer.
2022-10-19LibSoftGPU: Make alpha testing a static functionJelle Raaijmakers
There is no need to access the Device's members for alpha testing; pass in the required alpha function and reference value.
2022-10-19LibSoftGPU: Clean up `Sampler` importsJelle Raaijmakers
2022-10-19LibSoftGPU: Drop texel Z coordinate from `Sampler`Jelle Raaijmakers
We only support 2D indexing into textures at the moment, so don't perform any work trying to support the Z coordinate.
2022-10-19LibGL+LibGPU+LibSoftGPU: Report maximum texture sizecflip
2022-10-19LibGUI: Insert first displayed emoji on returnEtienne Rodriguez
This enables users to insert emojis without using the mouse by searching for it in the EmojiInputDialog and then hitting return.
2022-10-19LibJS: Support non-base-10 BigInt literals in bytecode VMAndreas Kling
Fixes 39 tests in test262 and a handful in test-js. :^)
2022-10-19LibJS: Support `for (x in obj)` iteration in bytecode VMAndreas Kling
We were mistakenly treating these as `for (x of obj)`. By reorganizing the code a little bit, we actually support both kinds of iteration with less duplication. :^) Fixes 17 tests in test262.
2022-10-19WebContent+Friends: Add get_element_attribute IPC and plumbingTobias Christiansen
2022-10-19LibWeb: Ignore "pointer-events: none" elements in hit_testAliaksandr Kalenik
2022-10-19LibJS: Avoid expensive UTF-8/16 conversion in legacy RegExp propertiesAndreas Kling
Let's not incur the cost of a synchronous conversion to UTF-8 for all the legacy static properties after running a regular expression. The SunSpider subtest regexp-dna goes from taking ~25 sec to ~0.7 sec on my machine.
2022-10-19LibJS: Disable bytecode optimizations by defaultAndreas Kling
The optimization passes are not stable, which makes test262 flaky. Address this by introducing a new OptimizationLevel::None and making it the default. This removes all the flakiness from test262 in my testing. We can enable optimizations by default again once they have been made stable. :^)
2022-10-18LibWeb: Don't attempt to paint text shadows for empty text fragmentsMacDue
This avoids the debug spam that happens then the shadow painting fails to allocate a zero sized bitmap.
2022-10-18LibWeb: Print requested bitmap sizes in shadow painting debug logsMacDue
Also replace "box-shadow" with "text-shadow" in the text shadow painting debug logs.
2022-10-18LibHTTP: Fix not consuming the last byte of body in from_raw_requestLuke Wilde
`index + 1` was not correct. For example, if the body has two bytes, we would consume the first byte and increment the index. We then add one to the index and see it's equal to the size, so we take this one byte and set the body result to it. The while loop would still continue and we consume the second byte, adding it to the temporary buffer. We see that the index is above the size, so we don't update the body, dropping the last byte on the floor.
2022-10-18WebDriver+Friends: Add IPC and plumbing for Element-gettingTobias Christiansen
This extends the IPC calls `get_document_element` and `query_selector_all` to be usable by the WebDriver. For this the `WebDriverConnection` provides the same interfaces and takes care of routing the data through the Browser.
2022-10-18LibTimeZone+LibJS: Update to TZDB version 2022eTimothy Flynn
https://mm.icann.org/pipermail/tz-announce/2022-October/000074.html This version changes America/Chicago's transtion from LMT to CST from 1883 Nov 18 12:09:24 to 1883 Nov 18 18:00.
2022-10-18LibC: Use proper casting in fgetc and fgetc_unlocked functionsLiav A
In the fgetc function, a fix was already in place but was clunky. A real proper solution is to use an unsigned char instead of a char when returning the value, so an implicit cast is happening based on the assumption that the value is unsigned, so if the variable contained 0xff it won't be treated as -1, but as unsigned 0xff, so the result int will be 0xff and not -1. The same solution is applied to the fgetc_unlocked function as well.
2022-10-18LibWeb: Implement HTMLSelectElement length, item() and namedItem()Zaggy1024
These are simple calls through to the HTMLOptionsCollection functions the same names, as with HTMLSelectElement.add().
2022-10-18LibWeb: Use calculate_min_content_height() for sizing of grid childrenJohannes Laudenberg
When sizing grid children we now also check whether calculate_min_content_height() adds to the computed height. Previously we were using the result of layout_inner() which led to zero height of not specifically sized block level children. This fixes a height issue with our GitHub page. The footer is now at its place and is not hovering over other content anymore.
2022-10-17LibTimeZone: Resolve /etc/localtime with realpath(), not readlink()Linus Groh
On Fedora Silverblue and other OSTree-based systems, /etc/localtime is a symlink to /run/host/etc/localtime, which then points to the expected zoneinfo file, e.g. ../usr/share/zoneinfo/Europe/Berlin. By using realpath() instead of readlink() we can resolve the symlink recursively and avoid falling back to UTC.
2022-10-17LibC: Retrieve the current time zone from LibTimeZoneTimothy Flynn
This ensures we have just one location for determining the time zone, so that LibC and LibTimeZone will behave the same. (Note the FIXME removed here is also in TimeZone::current_time_zone.)
2022-10-17LibTimeZone: Default to UTC if parsing the TZ environment variable failsTimothy Flynn
Commit c3fd455 changed LibTimeZone to fall back to the system time zone when we fail to parse the TZ environment variable. This behavior differs from both our LibC and glibc; they abort parsing and default to UTC. This changes LibTimeZone to behave the same way to avoid a very awkward situation where some parts of the codebase thinks the timezone is UTC, and others think the timezone is whatever /etc/timezone indicates.
2022-10-17LibJS: Implement RegExp legacy static propertiesleeight
RegExp legacy static properties Spec url is https://github.com/tc39/proposal-regexp-legacy-features
2022-10-17Lagom+CMake: Propagate dependencies for generated custom targetsAndrew Kaster
We have logic for serenity_generated_sources which works well for source files that are specified in GENERATED_SOURCES prior to calling serenity_lib or serenity_bin. However, code generated with invoke_generator, and the LibWeb generators do not always follow the pattern of the IDL and GML files. For the LibWeb generators, we can just add_dependencies to LibWeb at the time we declare the generate_Foo custom target. However for LibLocale, LibTimeZone, and LibUnicode, we don't have the name of the target available, so export the name in a variable to set into GENERATED_SOURCES. To make this work for Lagom, we need to make sure that lagom_lib and serenity_bin in Lagom/CMakeLists.txt call serenity_generated_sources on the target. This enables the Xcode generator on macOS hosts, at least for Lagom.
2022-10-17LibJS: Sync the set of rounding modesLinus Groh
This is a normative change in the Temporal spec. See: - https://github.com/tc39/proposal-temporal/commit/9613358 - https://github.com/tc39/proposal-temporal/commit/4c45464
2022-10-17LibJS: Add missing validation to remaining Calendar operationsLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/c2a0cea
2022-10-17LibJS: Reject relativeTo string such as "2022-08-18T17:01Z"Linus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/2dc20bf
2022-10-17LibJS: Rename IsValidTimeZoneName to IsAvailableTimeZoneNameLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/873313b
2022-10-17LibJS: Define IsValidTimeZoneName in terms of AvailableTimeZonesLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/d83dcf0 Note that even though we already implement AvailableTimeZones for Intl, I kept the existing implementation calling into LibTimeZone directly.
2022-10-17LibDesktop+Taskbar: Add 'WorkingDirectory' property to app filescflip
2022-10-17LibCore: Add argument to specify working directory in Process::spawncflip