aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* dependencies: Upgrade to WebRender 0.64 (#31486)Martin Robinson2024-03-14102-600/+704
| | | | | | | | | This brings the version of WebRender used in Servo up-to-date with Gecko upstream. The big change here is that HiDPI is no longer handled via WebRender. Instead this happens via a scale applied to the root layer in the compositor. In addition to this change, various changes are made to Servo to adapt to the new WebRender API. Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* build(deps): bump smallbitvec from 2.5.1 to 2.5.2 (#31674)dependabot[bot]2024-03-142-3/+3
| | | | | | | | | | | | | | | Bumps [smallbitvec](https://github.com/servo/smallbitvec) from 2.5.1 to 2.5.2. - [Release notes](https://github.com/servo/smallbitvec/releases) - [Commits](https://github.com/servo/smallbitvec/compare/v2.5.1...v2.5.2) --- updated-dependencies: - dependency-name: smallbitvec dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump system-deps from 6.2.0 to 6.2.1 (#31672)dependabot[bot]2024-03-141-2/+2
| | | | | | | | | | | | | | | | Bumps [system-deps](https://github.com/gdesmott/system-deps) from 6.2.0 to 6.2.1. - [Release notes](https://github.com/gdesmott/system-deps/releases) - [Changelog](https://github.com/gdesmott/system-deps/blob/main/CHANGELOG.md) - [Commits](https://github.com/gdesmott/system-deps/compare/system-deps@6.2.0...v6.2.1) --- updated-dependencies: - dependency-name: system-deps dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* constellation: allow event tracing to be configured with RUST_LOG (#31659)Delan Azabani2024-03-143-7/+267
|
* Cleanup UA styles for anonymous table rows and cells (#31661)Oriol Brufau2024-03-141-8/+0
| | | | | These properties were being set to their initial value, this wasn't needed because they are non-inherited properties and there isn't anything else setting them.
* fonts: Add `FontIdentifier` and `LocalFontIdentifier` (#31658)Martin Robinson2024-03-1417-316/+361
| | | | | | | | | | | | | | | | | | | Instead of using a simple `Atom` to identify a local font, use a data structure. This allows us to carry more information necessary to identify a local font (such as a path on MacOS). We need this for the new version of WebRender, as fonts on MacOS now require a path. This has a lot of benefits: 1. We can avoid loading fonts without paths on MacOS, which should avoid a lot of problems with flakiness and ensure we always load the same font for a given identifier. 2. This clarifies the difference between web fonts and local fonts, though there is more work to do here. 3. This avoid a *lot* of font shenanigans, such as trying to work backwards from the name of the font to the path of the font we actually matched. In general, we can remove a lot of code trying to accomplish these shenanigans. 4. Getting the font bytes always returns an `Arc` now avoiding an extra full font copy in the case of Canvas.
* fix: missing thread name when spawning (#31656)Ngo Iok Ui (Wu Yu Wei)2024-03-143-28/+36
| | | | | * Add missing thread name when spawning * Update namings
* layout: Properly parent table-row and table-row-group (#31619)Martin Robinson2024-03-1423-155/+434
| | | | | | | | Put table cell content fragments into a hieararchy of fragments that include their table row and table row group fragments. This ensures that things like relative positioning and transforms set on rows and row groups properly affect cells and cell content. Co-authored-by: Oriol Brufau <obrufau@igalia.com>
* Allow finishing anonymous inline-table at the end of inline elements (#31650)Oriol Brufau2024-03-145-0/+50
| | | This avoids inserting it outside of its parent.
* layout: IFCs should not always be marked as containing floats (#31641)Martin Robinson2024-03-142-2/+4
| | | | | | | Marking all IFCs as containing floats shouldn't change layout results, but does prevent parallel layout in some cases. This change fixes an issue where we were marking all IFCs as containing floats. Fixes #31540.
* servoshell: allow event tracing to be configured with RUST_LOG (#31657)Delan Azabani2024-03-144-19/+239
| | | | | | | | | | | * servoshell: allow event tracing to be configured with RUST_LOG * Move docs to same file as target prefixes * Avoid requiring macro callers to use LogTarget trait * Clean up macro call in app.rs * Rename macros to reflect value types
* End ongoing IFC when inserting anonymous block-level table (#31606)Oriol Brufau2024-03-134-0/+45
| | | | So that the table appears after preceding inline-level contents. Fixes #31603.
* rustdoc: Fix warnings in `components/layout_2020` (#31647)Aarya Khandelwal2024-03-131-2/+2
| | | | | * Added a : to make it a clickable link * changed block_offset_of_parent to parent_offset , to make it a clickable link.
* rusdoc: Fix `idl` warning in components/script/dom/bindings (#31643)Oluwatobi Sofela2024-03-131-2/+2
| | | | | * rusdoc: Add valid domstring link * rustdoc: Replace unused idl link ref
* build(deps): bump bytemuck from 1.14.3 to 1.15.0 (#31645)dependabot[bot]2024-03-131-2/+2
| | | | | | | | | | | | | | | Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.14.3 to 1.15.0. - [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md) - [Commits](https://github.com/Lokathor/bytemuck/compare/v1.14.3...v1.15.0) --- updated-dependencies: - dependency-name: bytemuck dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* rustdoc: Fix warnings in `components/layout_2020` (#31640)Aarya Khandelwal2024-03-131-3/+3
| | | | | * Changed LineItems to LineItem to make it a clickable link * No variant named Anonymous is present in Fragment.
* rustdoc: Add some basic Safety sections to unsafe functions (#31639)Martin Robinson2024-03-133-0/+22
|
* Fix vertical alignment at the root of an IFC (#31636)Oriol Brufau2024-03-137-58/+223
| | | | | | | | | | | | | | At the root of an inline formatting context, we used its vertical-align in order to compute the strut. That was wrong, since vertical-align on a block container shouldn't affect the contents, it should only affect the alignment of the block container (if it's inline-level) within the parent IFC. This was only working well if the block container was block-level, since effective_vertical_align_for_inline_layout returned `baseline` for block-level boxes. Instead of the outer display type, this patch changes the logic to check whether we are at the root of the IFC.
* clippy: Fix warnings in `components/net` (#31626)eri2024-03-138-53/+54
| | | | | * clippy: fix warnings in `components/net` * fix: review comments
* rustdoc: Fix warnings in `components/script/dom` (#31632)Azhar Ismagulova2024-03-132-3/+5
| | | | | | | | | | | | | | | * fix: fixed warnings in components/script/dom * fix: resolved comment by setting explicit link to HTMLConstructor * fix: changed the format of WHATWG link * Fix line breaking * Remove trailing white space --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* layout: Propagate overflow values from `<body>` to root element (#31618)Martin Robinson2024-03-1317-27/+82
| | | | | | | The specification gives instructions for how these values should be propagated. The other big changs here is that they aren't applied to the `<body>`. Co-authored-by: Oriol Brufau <obrufau@igalia.com>
* clippy: Fix assorted warnings in `components/` (#31628)eri2024-03-1314-98/+87
| | | | | | | * clippy: fix assorted warnings in `components/` * fix: new and default * fix: review comments
* layout: make `margin` in `pbm` use app unit (#31621)atbrakhi2024-03-138-114/+119
| | | | | | | | | | | * make margin in pbm use app unit * Simplification * Consistently resolve inline margins as Au, like block margins --------- Co-authored-by: Oriol Brufau <obrufau@igalia.com>
* Update FUNDING.yml (#31633)Manuel Rego Casasnovas2024-03-131-0/+1
| | | Add GitHub sponsors
* build(deps): bump proc-macro2 from 1.0.78 to 1.0.79 (#31631)dependabot[bot]2024-03-121-2/+2
| | | | | | | | | | | | | | | Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.78 to 1.0.79. - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.78...1.0.79) --- updated-dependencies: - dependency-name: proc-macro2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump anyhow from 1.0.80 to 1.0.81 (#31630)dependabot[bot]2024-03-121-2/+2
| | | | | | | | | | | | | | | Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.80 to 1.0.81. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81) --- updated-dependencies: - dependency-name: anyhow dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump thiserror from 1.0.57 to 1.0.58 (#31629)dependabot[bot]2024-03-121-4/+4
| | | | | | | | | | | | | | | Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.57 to 1.0.58. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.57...1.0.58) --- updated-dependencies: - dependency-name: thiserror dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* clippy: Fix warnings in `components/shared` (#31627)eri2024-03-1211-50/+36
| | | | | | | * clippy: fix warnings in `components/shared` * fix: formatting derive * fix: rename new to default
* Fix clippy warnings in components/third_party (#31623)Mucha Naibei2024-03-127-46/+36
|
* rustdoc: Fix StackingContextFragment error (#31625)Oluwatobi Sofela2024-03-121-2/+2
|
* Add wpt-report output & continue if filtering failed (#31616)Samson2024-03-121-7/+9
| | | | | | | | | | | | | | | | | | | * Add wpt-report artifact * Merge logs (filtered) are last so we still get other logs merged * fixup * it's wptreport.json * wptreport in full artifact * Apply suggestions from code review Co-authored-by: Martin Robinson <mrobinson@igalia.com> --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Gamepad: Align closer to spec and implement missing slots (#31385)Daniel Adams2024-03-128-45/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement missing gamepad slots, align to spec more - Fixes TODO's from initial gamepad implementation - Adds some missing spec steps * Only handle gamepad events when pref is enabled * Return empty list in getGamepads if document not active * ./mach fmt * Update getGamepads to return an array instead of GamepadList * Add spec link for [[exposed]] slot * Remove failing test expectations for not-fully-active * A few fixes - Change should_notify to has_gesture - Add spec links and TODO to navigator - Remove unneeded clone from GamepadList::list - Move gamepadconnected event firing into has_gesture block * Use queue_with_canceller for tasks and add expects * Explicitly check for gamepad user gesture * Move user gesture check into separate function * Change contains_user_gesture to be a gamepad function * mach fmt * Change axis/button threshold constants to be private to module
* Add CoC and Security Policy (#31622)Manuel Rego Casasnovas2024-03-122-0/+17
| | | | | | CoC is the same than we have at <https://servo.org/coc/>. Security Policy is based on the agreement on the last TSC meeting: https://github.com/servo/project/blob/main/governance/tsc/tsc-2024-02-26.md#security-policy
* build(deps): bump bytemuck_derive from 1.5.0 to 1.6.0 (#31620)dependabot[bot]2024-03-121-2/+2
| | | | | | | | | | | | | | | Bumps [bytemuck_derive](https://github.com/Lokathor/bytemuck) from 1.5.0 to 1.6.0. - [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md) - [Commits](https://github.com/Lokathor/bytemuck/compare/bytemuck_derive-v1.5.0...bytemuck_derive-v1.6.0) --- updated-dependencies: - dependency-name: bytemuck_derive dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix rustdoc errors in `components/script/dom` (#31617)Mucha Naibei2024-03-114-4/+4
| | | | | * Fix rustdoc errors in components/script/dom * Revert if to iff in audiobuffer.rs
* font_cache: Handle filtering `@font-face` rules in Servo (#31601)Martin Robinson2024-03-1115-219/+182
| | | | | | | | | | | Instead of letting Stylo filter `@font-face` rules, handle this filtering in Servo. It doesn't make sense that Stylo knows about what fonts Servo supports. This also cleans up a bit the way that this is handled, giving an entire stylesheet of rules to the font cache to process instead of letting each layout thread walk the rules. This brings more of the font-related code into the FontCacheThread itself. This is the first step toward adding WOFF2 support and fixing various web font related bugs.
* clippy: Fix warnings in `components/layout_2020` (#31611)eri2024-03-1117-69/+59
| | | | | * clippy: fix warnings in components/layout_2020 * fix: review comments
* layout: Enable rendering of `conical-gradient` and ↵Martin Robinson2024-03-1132-403/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | `repeating-conical-gradient` (#31597) This also ignores a clippy warning for a new function (and a similar existing one), until this code can be refactored to use temporary Rust strutures to carry display list building state. There are a few new test failures here: - FAIL [expected PASS] /css/css-images/image-set/image-set-conic-gradient-rendering.html - FAIL [expected PASS] /css/css-images/image-set/image-set-repeating-conic-gradient-rendering.html These fail because Servo does not yet support `image-set()`. - FAIL [expected PASS] /css/filter-effects/filter-function/filter-function-conic-gradient.html - FAIL [expected PASS] /css/filter-effects/filter-function/filter-function-repeating-conic-gradient.html These fail because Servo does not support the very early filter effects specification. - FAIL [expected PASS] /html/canvas/element/manual/fill-and-stroke-styles/conic-gradient-rotation.html - FAIL [expected PASS] /html/canvas/element/manual/fill-and-stroke-styles/conic-gradient.html These fail because this change only adds support for CSS conical gradients. Another set of changes will be necessary to support this for Canvas.
* Take spaces into account in the max-content size of an IFC (#31613)Oriol Brufau2024-03-116-21/+12
| | | | | | They were only considered in min-content sizes. Also avoid some pointless conversions from Au to Length. Fixes #31605.
* clippy: Fix warnings in `components/layout` (#31612)eri2024-03-1117-150/+129
| | | | | * clippy: fix warnings in components/layout * fix: formatting
* clippy: Fix warnings in `components/constellation` (#31610)eri2024-03-117-112/+114
| | | | | * clippy: fix warnings in components/constellation * fix: review comments
* Use libc::malloc_size on apple (#31602)Samson2024-03-111-4/+4
| | | | | * Use libc::malloc_size on apple * Unify malloc_usable_size under *mut _
* fix: unused mem import (#31608)eri2024-03-101-1/+1
|
* Fix more clippy warnings in `components/shared/net` (#31548)Mucha Naibei2024-03-102-11/+15
| | | | | | | | | | | * Fix clippy warnings in components/shared * Fix build error * Fixes in order to solve some merge issues --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* clippy: fix warnings in components/net (#31564)eri2024-03-1022-379/+325
| | | | | | | * clippy: fix some warnings in components/net * fix: review comments * fix: tidy
* Use get_desired_proto in htmlconstructor (#31600)Samson2024-03-106-106/+15
| | | | | * Use get_desired_proto in htmlconstructor * Update expectations
* Add rust-lldb to mozdebug (#31580)Samson2024-03-102-0/+13
| | | | | | | * Add rust-lldb to mozdebug * Export as patch * patches
* Update web-platform-tests to revision ↵Servo WPT Sync2024-03-10757-6272/+21626
| | | | b'd9a5cc25fc5f520bde022cee67e9e6a6f0b588f9' (#31599)
* wpt: Start running the WOFF2 tests (#31595)Martin Robinson2024-03-0969-2/+136
| | | This is the first step implementing WOFF2 font support in Servo.
* Align table cell measures in the block axis to Gecko/Blink/WebKit (#31596)Oriol Brufau2024-03-092-22/+5
|