From 5b66bf2c29fdb92f26f77233f07d3e92bdaae6c3 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Fri, 25 Apr 2025 00:53:27 -0400 Subject: [PATCH 01/81] Initial commit triage for april TMiS post. --- _posts/2025-04-24-this-month-in-servo.md | 3788 ++++++++++++++++++++++ 1 file changed, 3788 insertions(+) create mode 100644 _posts/2025-04-24-this-month-in-servo.md diff --git a/_posts/2025-04-24-this-month-in-servo.md b/_posts/2025-04-24-this-month-in-servo.md new file mode 100644 index 000000000..9fa51b4e6 --- /dev/null +++ b/_posts/2025-04-24-this-month-in-servo.md @@ -0,0 +1,3788 @@ +--- +layout: post +tags: blog +title: "This month in Servo: ????" +date: 2025-04-24 +summary: Who knows? +categories: +--- + + + + \ No newline at end of file From bcf1a12a448e553f6722be0eef53d3d3b62e530d Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Fri, 25 Apr 2025 00:57:04 -0400 Subject: [PATCH 02/81] Generate outline. --- _posts/2025-04-24-this-month-in-servo.md | 4141 ++-------------------- tools/list-commits-by-nightly.sh | 4 +- 2 files changed, 379 insertions(+), 3766 deletions(-) diff --git a/_posts/2025-04-24-this-month-in-servo.md b/_posts/2025-04-24-this-month-in-servo.md index 9fa51b4e6..2d1a4137a 100644 --- a/_posts/2025-04-24-this-month-in-servo.md +++ b/_posts/2025-04-24-this-month-in-servo.md @@ -7,3770 +7,383 @@ summary: Who knows? categories: --- - + From c2ffe2301d43d410b84fc37b6e9a39b175f5cba4 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Wed, 30 Apr 2025 15:28:37 +0800 Subject: [PATCH 10/81] Add WPT dashboard data --- README.md | 59 +++++++++++------------ _posts/2025-05-09-this-month-in-servo.md | 60 ++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index ab1f1bf0e..d5c0e6adc 100644 --- a/README.md +++ b/README.md @@ -58,51 +58,46 @@ $ > tools/pull-requests.json tools/list-pull-requests.sh servo/servo 2023-03-16 ```js ((data, ...dates) => { - const stride = data.area_keys.length; + const focusAreaCount = data.focus_areas.length; const rows = dates.map(expectedDate => data.scores.find(([date]) => date == expectedDate)); rows.forEach((row, i) => { + console.log(i, row); if (row == null) throw `no results for ${dates[i]}!`; - if (row.length != 3 + stride + 2 + stride) throw "schema change? bad length"; + if (row.length != 3 + focusAreaCount) throw "schema change? bad length"; if (row[0] != dates[i]) throw "unreachable! incorrect date in [0]"; if (!/^[0-9a-f]{9}$/.test(row[1])) throw "schema change? expected commit hash in [1]"; - if (!/^0[.]0[.]1-[0-9a-f]{7}$/.test(row[2])) throw "schema change? expected version in [2]"; - if (!/^[0-9a-f]{9}$/.test(row[3+stride])) throw "schema change? expected commit hash in [3+stride]"; - if (!/^0[.]0[.]1-[0-9a-f]{7}$/.test(row[4+stride])) throw "schema change? expected version in [4+stride]"; + if (!/^0[.]0[.]1-[0-9a-f]{7,9}$/.test(row[2])) throw "schema change? expected version in [2]"; }); - const areas = data.area_keys.map((key, i) => ({key, results: rows.map((row, j) => ({ + const areas = data.focus_areas.map((focusAreaName, i) => ({focusAreaName, results: rows.map((row, j) => ({ date: dates[j], - legacy: row[3+i], - servo: row[5+stride+i], + score: row[3+i].total_score / row[3+i].total_tests, + subtests: row[3+i].total_subtests_passed / row[3+i].total_subtests, }))})); console.log(">>> areas", areas); const analysis = areas - .map(({key, results: [p, q]}) => ({ - key, - regressionWas: p.legacy - p.servo, - regressionNow: q.legacy - q.servo, - legacyWas: p.legacy, - legacyNow: q.legacy, - servoWas: p.servo, - servoNow: q.servo, + .map(({focusAreaName, results: [p, q]}) => ({ + focusAreaName, + scoreWas: p.score, + scoreNow: q.score, + subtestsWas: p.subtests, + subtestsNow: q.subtests, })) - .map(({key, regressionWas, regressionNow, legacyWas, legacyNow, servoWas, servoNow}) => ({ - key, regressionWas, regressionNow, legacyWas, legacyNow, servoWas, servoNow, - legacyDelta: delta(legacyWas, legacyNow), - servoDelta: delta(servoWas, servoNow), - regressionDelta: delta(regressionWas, regressionNow), + .map(({focusAreaName, scoreWas, scoreNow, subtestsWas, subtestsNow}) => ({ + focusAreaName, scoreWas, scoreNow, subtestsWas, subtestsNow, + scoreDelta: delta(scoreWas, scoreNow), + subtestsDelta: delta(subtestsWas, subtestsNow), })); console.log(">>> analysis", analysis); - const deltaAnalysisText = analysis - .sort((p,q) => q.servoDelta.pp - p.servoDelta.pp) - .map(({key, servoDelta, servoNow}) => `${key} (${servoDelta.pp.toFixed(1)}pp to ${(servoNow/10).toFixed(1)}%)\n`); - console.log(`>>> top deltas (servo, pp):\n${deltaAnalysisText.join("")}`); - const regressionAnalysisText = analysis - .filter(({regressionWas}) => regressionWas >= 0) - .sort((p,q) => p.regressionDelta.percent - q.regressionDelta.percent) - .map(({key, regressionDelta, regressionWas, regressionNow}) => `${key} (${regressionDelta.percent.toFixed(1)}% from ${(regressionWas/10).toFixed(1)}pp to ${(regressionNow/10).toFixed(1)}pp)\n`); - console.log(`>>> top cuts in legacy regression (%):\n${regressionAnalysisText.join("")}`); - function delta(p,q) { return {pp: (q-p)/10, percent: 100*(q-p)/p}; } -})(await (await fetch("scores.json")).json(), fromDate, toDate) + const scoreAnalysisText = analysis + .sort((p,q) => q.scoreDelta.pp - p.scoreDelta.pp) + .map(({focusAreaName, scoreDelta, scoreNow}) => `${focusAreaName} (${scoreDelta.pp.toFixed(1)}pp to ${(scoreNow*100).toFixed(1)}%)\n`); + console.log(`>>> top deltas (score, pp):\n${scoreAnalysisText.join("")}`); + const subtestsAnalysisText = analysis + .sort((p,q) => q.subtestsDelta.pp - p.subtestsDelta.pp) + .map(({focusAreaName, subtestsDelta, subtestsNow}) => `${focusAreaName} (${subtestsDelta.pp.toFixed(1)}pp to ${(subtestsNow*100).toFixed(1)}%)\n`); + console.log(`>>> top deltas (subtests, pp):\n${subtestsAnalysisText.join("")}`); + function delta(p,q) { return {pp: (q-p)*100, percent: 100*(q-p)/p}; } +})(await (await fetch("https://wpt.servo.org/scores.json")).json(), fromDate, toDate) ``` ## How to analyse [wpt.fyi](https://wpt.fyi) pass rate improvements diff --git a/_posts/2025-05-09-this-month-in-servo.md b/_posts/2025-05-09-this-month-in-servo.md index 1a400b6da..0a5101923 100644 --- a/_posts/2025-05-09-this-month-in-servo.md +++ b/_posts/2025-05-09-this-month-in-servo.md @@ -15,6 +15,66 @@ categories: - ai policy - wpt - dashboard now has subtests + - `fromDate = "2025-03-10"` + - `toDate = "2025-04-30"` +--> + + ## Donations From e8c252ea05897e976d7da86e7fe0194954b01ddb Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Wed, 30 Apr 2025 16:35:49 +0800 Subject: [PATCH 11/81] Try `tac` but fall back to `tail -r` if unavailable --- tools/list-commits-by-nightly.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/list-commits-by-nightly.sh b/tools/list-commits-by-nightly.sh index 5fb86e68e..8b546001a 100755 --- a/tools/list-commits-by-nightly.sh +++ b/tools/list-commits-by-nightly.sh @@ -6,7 +6,7 @@ if [ $# -lt 1 ]; then >&2 sed '1d;2s/^# //;2q' "$0"; exit 1; fi missing() { >&2 echo "fatal: $1 not found"; exit 1; } > /dev/null command -v gh || missing gh > /dev/null command -v jq || missing jq -#> /dev/null command -v tac || missing tac +> /dev/null command -v tac && tac='tac' || tac='tail -r' > /dev/null command -v rg || missing rg > /dev/null command -v git || missing git pulls_json_path=${${2-/dev/null}:a} @@ -19,7 +19,7 @@ default_branch_head=$(cut -f 1 "$1/.git/FETCH_HEAD") if ! [ -e runs.json ]; then gh api '/repos/servo/servo/actions/workflows/nightly.yml/runs?status=success&per_page=62' > runs.json fi -< runs.json jq -r '.workflow_runs[] | "\(.head_sha)\t\(.updated_at)"' | tail -r > runs.tsv +< runs.json jq -r '.workflow_runs[] | "\(.head_sha)\t\(.updated_at)"' | $tac > runs.tsv < runs.tsv sed -En '1!{H;x;s/\n//;p;x;};s/\t.*//;s/$/\t/;h' \ | while read -r from to updated; do printf '>>> %s\n' "$updated" | rg . # make it red if stdout is a tty From 70647f93c17f887030c1c1e2a81755cc33e7b082 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Wed, 30 Apr 2025 17:07:10 +0800 Subject: [PATCH 12/81] Fix list-commits-between.sh when run without a pulls.json --- tools/list-commits-between.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/list-commits-between.sh b/tools/list-commits-between.sh index a66586d28..deac7e318 100755 --- a/tools/list-commits-between.sh +++ b/tools/list-commits-between.sh @@ -49,6 +49,6 @@ git -C "$1" log --pretty=$'tformat:%H\t%s\t%aE\t%(trailers:key=co-authored-by,va # Print the commit message body, with a hard wrap and an indent. # This doesn’t work too well, because our repo is configured to concatenate the PR commit # messages, which often contain a subject only, rather than using the PR description. - git -C "$1" log --pretty=$'tformat:%w(120,4,4)%b' | sed -E '/^ *$/d;/^ Signed-off-by: /d' + git -C "$1" log -n 1 --pretty=$'tformat:%w(120,4,4)%b' "$hash" | sed -E '/^ *$/d;/^ Signed-off-by: /d' fi done From eaaa9125ebd5685b48c34b45413edddc57ab8365 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Wed, 30 Apr 2025 17:12:16 +0800 Subject: [PATCH 13/81] Add note to README about list-commits-by-nightly.sh --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d5c0e6adc..1ff4f8739 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ To copy the output to your clipboard for a specific calendar month only: $ tools/list-commits-by-nightly.sh ~/code/servo 2>&1 | tee /dev/stderr | sed '/^>>> 2025-01-/,/^>>> 2025-02-/!d' | xclip -sel clip ``` +**NOTE:** this will display the squash commit message of each commit, which has historically been less useful than the pull request description. To display pull request descriptions instead, pass in a pulls.json as documented in [§ Triaging commits in nightlies for monthly updates](#triaging-commits-in-nightlies-for-monthly-updates). + ## How to list this year’s pull request contributors ```sh From b67ef93c5c25aa7abbf68952b0c328c24f70b304 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Wed, 30 Apr 2025 17:14:10 +0800 Subject: [PATCH 14/81] Add commits.txt for 1 April through 29 April --- commits.txt | 3238 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3238 insertions(+) create mode 100644 commits.txt diff --git a/commits.txt b/commits.txt new file mode 100644 index 000000000..310eabc5d --- /dev/null +++ b/commits.txt @@ -0,0 +1,3238 @@ +>>> 2025-04-01T06:07:41Z +https://github.com/servo/servo/pull/36253 (@UssyMan, #36253) Add SimulateColorScheme command and script thread handling (#36253) + # Implements Steps 2-3 of #35867: + # - Adds `SimulateColorScheme` to `DevtoolScriptControlMsg` for light/dark mode simulation. + # - Handles it in `ScriptThread` with `handle_theme_change` to toggle themes. + # Testing: This PR does not require testing because it only adds infrastructure (command and handler) but doesn’t + # yet integrate with devtools actors. + # Fixes: Part of #35867 (https://github.com/servo/servo/issues/35867) +https://github.com/servo/servo/pull/36255 (@simonwuelker, #36255) Remove ServoParser::do_parse_sync (#36255) + # The indirection through ServoParser::parse_sync does nothing, so the method can simply be called directly. +https://github.com/servo/servo/pull/36246 (@Loirooriol, #36246) Enable css-nesting WPT tests (#36246) + # So that we can see the improvement when enabling the feature. + # Testing: This PR enables tests + # This is part of #36245 +https://github.com/servo/servo/pull/36244 (@dependabot[bot], @dependabot[bot], #36244) build(deps): bump darling from 0.20.10 to 0.20.11 (#36244) + # Bumps [darling](https://github.com/TedDriggs/darling) from 0.20.10 to 0.20.11. + # Release notes + # Sourced from darling's releases. + # v0.20.11 + # Support #[darling(with = ...)] on the data field when deriving FromDeriveInput. This allows the use of simpler + # receiver types, such as a Vec of enum variants. + # Bump version of proc-macro2 to 1.0.86. + # Accept closures for #[darling(with = ...)] on fields in FromDeriveInput, FromMeta, FromField, etc. #309 + # Add darling::util::Callable to accept a path or closure as a meta-item expression + # Add #[darling(from_word = ...)] and #[darling(from_none = ...)] to control shorthand and fallback behaviors for + # structs and enums deriving FromMeta #320 + # Add FromMeta impl for syn::ExprRange #329 + # Changelog + # Sourced from darling's changelog. + # v0.20.11 (March 28, 2025) + # Support #[darling(with = ...)] on the data field when deriving FromDeriveInput. This allows the use of simpler + # receiver types, such as a Vec of enum variants. + # Bump version of proc-macro2 to 1.0.86. + # Accept closures for #[darling(with = ...)] on fields in FromDeriveInput, FromMeta, FromField, etc. #309 + # Add darling::util::Callable to accept a path or closure as a meta-item expression + # Add #[darling(from_word = ...)] and #[darling(from_none = ...)] to control shorthand and fallback behaviors for + # structs and enums deriving FromMeta #320 + # Add FromMeta impl for syn::ExprRange #329 + # Commits + # 82a51e0 Bump version to 0.20.11 + # 61834da Impl FromMeta for syn::ExprRange (#332) + # f18d5d5 Add explicit implementations of FromMeta methods to SpannedValue and `Ove... + # a6e5f52 Move generation of from_word body for unit variants + # c8c8201 Add from_word and from_none options + # 3a848ca Extract path-or-closure to darling::util::Callable + # fa552e4 Error if attrs field is declared and forward_attrs is missing. + # af24bdf Reject extra data passed to unit enum variants + # b7a248f Fix clippy violations by removing unnecessary iifetimes + # b746a0c Accept a closure for with in lieu of a path for fields (#310) + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=darling&package-manager=cargo& + # previous-version=0.20.10&new-version=0.20.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about + # -dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36243 (@dependabot[bot], @dependabot[bot], #36243) build(deps): bump socket2 from 0.5.8 to 0.5.9 (#36243) + # Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.8 to 0.5.9. + # Commits + # See full diff in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=socket2&package-manager=cargo& + # previous-version=0.5.8&new-version=0.5.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dep + # endabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36168 (@UssyMan, #36168) Track the active tab and browsing context for devtools (#36168) + # ---Part of #35867, per Step 5 suggestion. This PR: + # - Adds active_tab (via RefCell) to RootActor, updated in get_tab_msg_by_browser_id. + # - Adds browsing_context() helper to TabDescriptorActor. + # - Adds actor()`getter to TabDescriptorActorMsg for access in root.rs. + # -Creates the chain (Root - Tab - BrowsingContext) for routing colorSchemeSimulation. + # - [X ] `./mach build -d` does not report any errors + # - [X ] `./mach test-tidy` does not report any errors + # - [ ] These changes fix #___ (GitHub issue number if applicable) + # - [ ] There are tests for these changes OR + # - [X] These changes do not require tests because they’re structural setup for the actor chain and don’t change + # the system's behavior yet. +https://github.com/servo/servo/pull/36242 (@dependabot[bot], @dependabot[bot], #36242) build(deps): bump iana-time-zone from 0.1.62 to 0.1.63 (#36242) + # Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from 0.1.62 to 0.1.63. + # Changelog + # Sourced from iana-time-zone's changelog. + # [0.1.63] - 2025-03-31 + # Changes + # Bump MSRV (minimum supported rust version) to 1.62 (#131) + # Bump windows-core to 0.56-0.61 range (#131, #133) + # Commits + # 6adcd01 Bump version number to 0.1.63 + # 16f281a Merge pull request #133 from MarijnS95/windows-0.56 + # 798e431 Bump windows-core range to 0.56-0.61 and regenerate with 0.59 + # 66033d9 Bump windows-core to 0.56 + # 10c843d Merge pull request #131 from MarijnS95/windows-core-0.54 + # a26e540 Bump windows-core to 0.53-0.54 range + # 5bad558 WIP: Bump MSRV to 1.62 + # 343f31b Merge pull request #164 from strawlab/dev/astraw-fix-aix + # 995347f AIX: remove unused code + # See full diff in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=iana-time-zone&package-manager + # =cargo&previous-version=0.1.62&new-version=0.1.63)](https://docs.github.com/en/github/managing-security-vulnerabilities/ + # about-dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36241 (@dependabot[bot], @dependabot[bot], #36241) build(deps): bump once_cell from 1.21.2 to 1.21.3 (#36241) + # Bumps [once_cell](https://github.com/matklad/once_cell) from 1.21.2 to 1.21.3. + # Changelog + # Sourced from once_cell's changelog. + # 1.21.3 + # Outline more initialization in race: #284, + # #285. + # Commits + # 29e3d93 Merge pull request #286 from briansmith/b/once-ref-dry + # a206950 Prepare for 1.21.3 release. + # 17d4a9b DRY race::OnceRef::{get_or_try_init, set}. + # 01b1d56 Merge pull request #285 from briansmith/b/once-ref-cold + # a851cc4 Mark initialization of OnceRef::get_or_try_init cold. + # 2447a93 Merge pull request #281 from briansmith/b/init-inner + # c294d64 Merge pull request #280 from briansmith/b/self + # 5f0fdd4 Merge pull request #283 from briansmith/b/cast_mut + # 899e319 Merge pull request #284 from briansmith/b/dry-get + # 90da60b Mark initialization of OnceBox::get_or_try_init cold. + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=carg + # o&previous-version=1.21.2&new-version=1.21.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about + # -dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36239 (@andrei.volykhin@gmail.com, #36239) dom: Set "composed" flag on construction for some event types (#36239) + # "Composed" flag (https://dom.spec.whatwg.org/#composed-flag) should be properly set on event construction phase + # from optional "EventInit" dictionary + # (https://dom.spec.whatwg.org/#dom-eventinit-composed). + # The limited set of event types (Custom/Error/Focus/Mouse) will be affected by this CL (used in WPT tests). +https://github.com/servo/servo/pull/36230 (@jdm, #36230) script: Fix resize observer depth calculation for Shadow DOM. (#36230) + # Follow the specification more closely by using the flat tree when calculating depth for the resize observer. + # Testing: Newly passing WPT test. + # Fixes: #36092 +https://github.com/servo/servo/pull/36233 (@simonwuelker, #36233) Remove interior mutability from `ResizeObservation` (#36233) + # This is struct is always already wrapped in a RefCell by `ResizeObserver`. It is not exposed to JS itself, so it + # doesn't need `RefCell`s. + # Testing: Covered by existing WPT tests +https://github.com/servo/servo/pull/36227 (@simonwuelker, #36227) Refuse to provide partial response from earlier ranged request to API that did not make a range request (#36227) + # Part of https://github.com/servo/servo/issues/33616 + # It appears that there is no web platform test for this change (at least I couldn't find any). The flag itself + # is used to prevent an attack involving service workers - I only implemented it because it was getting in the way + # somewhere else. + # To quote the spec: + # > The above steps prevent the following attack: + # A media element is used to request a range of a cross-origin HTML resource. Although this is invalid media, a + # reference to a clone of the response can be retained in a service worker. This can later be used as the response + # to a script element’s fetch. If the partial response is valid JavaScript (even though the whole resource is not), + # executing it would leak private data. + # There *might* be a passing test after https://github.com/servo/servo/pull/36221. + # [try run](https://github.com/simonwuelker/servo/actions/runs/14160034812/job/39664607755) +https://github.com/servo/servo/pull/36229 (@kongbai1996, #36229) Fixed the crash issue when the openharmony web component is adapted. (#36229) + # When the OpenHarmony web component is adapted, touchmove events with the same ID may exist after touchup. Therefore, + # only error logs are printed and no exception is thrown. +https://github.com/servo/servo/pull/36221 (@jdm, #36221) Enable service worker WPT tests. (#36221) + # #36114 showed a crash in the service worker code that is enabled with the experimental prefs. I'd like to have + # these tests running even if nobody is actively working on implementing the feature right now, since they would + # have caught the crash sooner. +>>> 2025-04-02T06:12:13Z +https://github.com/servo/servo/pull/36276 (@mrobinson, #36276) libservo: Remove a couple `EmbedderMethods` (#36276) + # - Remove `EmbedderMethods::get_user_agent_string`. This is now part of + # the `Preferences` data structure, which should allow it to be + # per-`WebView` in the future. + # - Remove `EmbedderMethods::get_version_string`. This was used to include + # some data along with WebRender captures about the Servo version. This + # isn't really necessary and it was done to replace code in the past + # that output the WebRender version, so also isn't what the original + # code did. I think we can just remove this entirely. + # The idea with these changes is that `EmbedderMethods` can be removed + # in a followup and the rest of the methods can be added to + # `ServoDelegate`. These two methods are ones that cannot be added to a + # delegate as they are used during `Servo` initialization. + # Testing: There is currently no testing for libservo. These changes are meant + # as preparation for adding a suite of `WebView` unit tests. + # Signed-off-by: Martin Robinson +https://github.com/servo/servo/pull/36281 (@TimvdLippe, #36281) Remove meta-legacy-layout wpt tests (#36281) + # These tests were related to the legacy layout engine which has been removed. + # Therefore, they are considered leftover and can be removed. + # Fixes #36277 +https://github.com/servo/servo/pull/36254 (@Loirooriol, #36254) Turn `CSSStyleRule` into a `CSSGroupingRule` subclass (#36254) + # Note that `StyleRule` may not have the `CssRules` readily available, they may need to be created. So the previous + # approach of providing `CSSGroupingRule` with the `CssRules` is no good: it would require writing them in advance, + # just in case they end up being used. + # Therefore, this removes the `CSSGroupingRule::rules` field. Instead, they are lazily obtained in + # `CSSGroupingRule::rulelist()` by downcasting and calling the appropriate method for the subclass. + # Testing: covered by WPT + # Fixes: #36245 +https://github.com/servo/servo/pull/36280 (@dependabot[bot], @dependabot[bot], #36280) build(deps): bump quick-xml from 0.37.3 to 0.37.4 (#36280) + # Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.3 to 0.37.4. + # Release notes + # Sourced from quick-xml's releases. + # v0.37.4 - Derive more traits for readers + # What's Changed + # Misc Changes + # #852: Add Debug impl for NsReader and Reader and Clone impl for NsReader + # #852: tafia/quick-xml#852 + # New Contributors + # @​lukasfri made their first contribution in tafia/quick-xml#852 + # Full Changelog: https://github.com/tafia/quick-xml/compare/v0.37.3...v0.37.4 + # Changelog + # Sourced from quick-xml's changelog. + # 0.37.4 -- 2025-04-01 + # Misc Changes + # #852: Add Debug impl for NsReader and Reader and Clone impl for NsReader + # #852: tafia/quick-xml#852 + # Commits + # a81bac7 Release 0.37.4 + # cbcf835 Add some standard derives for Debug and Clone on Reader and NsReader. + # See full diff in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quick-xml&package-manager=carg + # o&previous-version=0.37.3&new-version=0.37.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about + # -dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36279 (@dependabot[bot], @dependabot[bot], #36279) build(deps): bump hyper-util from 0.1.10 to 0.1.11 (#36279) + # Bumps [hyper-util](https://github.com/hyperium/hyper-util) from 0.1.10 to 0.1.11. + # Release notes + # Sourced from hyper-util's releases. + # v0.1.11 + # What's Changed + # fix(client): Fix HTTP/2 websocket request by @​0x676e67 in hyperium/hyper-util#165 + # builder: expose methods for determining if HTTP/1.1 or HTTP/2 support are enabled by @​tobz in + # hyperium/hyper-util#164 + # feat(server): support auto_date_header, max_local_error_reset_streams, and ignore_invalid_headers. by @​finnbear + # in hyperium/hyper-util#161 + # fix(tracing): propagate span context by @​alpeb in hyperium/hyper-util#166 + # feat(rt/tokio): additive tokio and hyper i/o adaptors by @​cratelyn in hyperium/hyper-util#170 + # feat(client): implement Connection for UnixStream and NamedPipeClient by @​seanmonstar in hyperium/hyper-util#177 + # enable HttpConnector::interface on macOS and Solarish systems by @​hawkw in hyperium/hyper-util#176 + # New Contributors + # @​jlizen made their first contribution in hyperium/hyper-util#159 + # @​linyihai made their first contribution in hyperium/hyper-util#160 + # @​tobz made their first contribution in hyperium/hyper-util#164 + # @​finnbear made their first contribution in hyperium/hyper-util#161 + # @​alpeb made their first contribution in hyperium/hyper-util#166 + # @​cratelyn made their first contribution in hyperium/hyper-util#168 + # @​hawkw made their first contribution in hyperium/hyper-util#176 + # Thanks + # @​tottoto + # @​gretchenfrage + # Changelog + # Sourced from hyper-util's changelog. + # 0.1.11 (2025-03-31) + # Add tracing crate feature with support in TokioExecutor. + # Add HttpConnector::interface() support for macOS and Solarish systems. + # Add rt::WithHyperIo and rt::WithTokioIo combinators. + # Add auto_date_header() for auto server builder. + # Add max_local_error_reset_streams() for auto server builder. + # Add ignore_invalid_headers() for auto server builder. + # Add methods to determine if auto server is configured for HTTP/1 or HTTP/2. + # Implement Connection for UnixStream and NamedPipeClient. + # Fix HTTP/2 websocket requests sent through legacy::Client. + # Commits + # 4c4e062 v0.1.11 + # 486e3b6 bump license year + # 5831ace feat(client): enable HttpConnector::interface on macOS and Solarish systems... + # dc03ad4 feat(client): implement Connection for UnixStream and NamedPipeClient (#177) + # 94afd50 feat(rt/tokio): additive tokio and hyper i/o adaptors (#170) + # ef35d8a chore: pin once-cell on msrv ci job (#175) + # d51318d chore(client/legacy): remove unused PoolClient::is_closed() (#169) + # 1290685 chore(tokio): warn on dead code (#168) + # b90ff7d feat(rt): add tracing feature that will propagate span context in TokioExec... + # 46826ea feat(server): support auto_date_header, max_local_error_reset_streams, an... + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper-util&package-manager=car + # go&previous-version=0.1.10&new-version=0.1.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/abou + # t-dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36257 (@stevennovaryo, #36257) canvas: Implement line dash setters and getters (#36257) + # Implement `setLineDash`, `getLineDash`, and `lineDashOffset` from `CanvasPathDrawingStyles` mixin, according to + # the spec https://html.spec.whatwg.org/multipage/canvas.html#canvaspathdrawingstyles. + # Testing: Existing WPT. +https://github.com/servo/servo/pull/36248 (@Loirooriol, #36248) Implement CSSNestedDeclarations (#36248) + # This is the CSSOM interface that represents a nested declarations rule. + # https://drafts.csswg.org/css-nesting/#the-cssnestrule + # Testing: `/_mozilla/mozilla/interfaces.https.html`. And once `CSSStyleRule` becomes a `CSSGroupingRule` subclass, + # this will be further covered by `/css/css-nestting/`. + # This is part of #36245 +https://github.com/servo/servo/pull/36249 (@Loirooriol, #36249) Enable CSS parent selector (`&`) (#36249) + # Bumps Stylo to servo/stylo#164 + # Changelog: + # https://github.com/servo/stylo/compare/bc4717c7842ad59243f00ae76ba23f998c749b94...600b5c42970fdbe301f18c013a0f0ca4ed5f08 + # db + # Testing: covered by WPT + # This is part of https://github.com/servo/servo/issues/36245 +https://github.com/servo/servo/pull/35971 (@delan, #35971) devtools: Fix id collisions by using incrementing counters (#35971) + # Devtools clients need a `browserId`, `browsingContextID`, and `outerWindowID`, which correspond to WebViewId, + # BrowsingContextId, and PipelineId in Servo. These u32 values were previously derived from our sharded (u32,u32) + # id values by taking only the `index` (second u32) and ignoring the `namespace_id` (first u32), leading to collisions. + # This patch fixes that by mapping those Servo ids to sequential u32 values. +https://github.com/servo/servo/pull/36256 (@jdm, #36256) Fix null realm assertion when activating a service worker (#36256) + # Ensure there is an active realm when dispatching the `activation` DOM event to the ServiceWorker global. + # Testing: Existing WPT coverage. + # Fixes: #36114 + # Fixes: #36235 + # Fixes: #36231 +https://github.com/servo/servo/pull/36236 (@MDCODE247, #36236) script: Use `RegExpFlag_UnicodeSets` when validating regular expressions in `HTMLInputElement` (#36236) + # Changed `RegExpFlag_Unicode` to `RegExpFlag_UnicodeSets` in all instances. + # Testing: Ran `./mach test-wpt + # tests/wpt/tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html` and all tests + # passed successfully. + # Fixes: #36075 +>>> 2025-04-03T06:09:09Z +https://github.com/servo/servo/pull/36282 (@gterzian, #36282) Add license for WHATWG specifications in code (#36282) + # Add license for WHATWG specs incorporated into source code, as per the [TSC + # discussion](https://github.com/servo/project/blob/db2f4074d4a369beb16f23ccc010ba73a3fc9662/governance/tsc/tsc-2025-03-31 + # .md#add-license-for-whatwg-specs-incorporated-into-source-code). + # As per for example https://html.spec.whatwg.org/#ipr +https://github.com/servo/servo/pull/36296 (@dependabot[bot], @dependabot[bot], #36296) build(deps): bump clap from 4.5.34 to 4.5.35 (#36296) + # Bumps [clap](https://github.com/clap-rs/clap) from 4.5.34 to 4.5.35. + # Release notes + # Sourced from clap's releases. + # v4.5.35 + # [4.5.35] - 2025-04-01 + # Fixes + # (help) Align positionals and flags when put in the same help_heading + # (help) Don't leave space for shorts if there are none + # Changelog + # Sourced from clap's changelog. + # [4.5.35] - 2025-04-01 + # Fixes + # (help) Align positionals and flags when put in the same help_heading + # (help) Don't leave space for shorts if there are none + # Commits + # 55a18f5 chore: Release + # 3b05635 fix(complete): Ensure new enough clap is used + # See full diff in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&pre + # vious-version=4.5.34&new-version=4.5.35)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-depe + # ndabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36294 (@dependabot[bot], @dependabot[bot], #36294) build(deps): bump env_logger from 0.11.7 to 0.11.8 (#36294) + # Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.7 to 0.11.8. + # Release notes + # Sourced from env_logger's releases. + # v0.11.8 + # [0.11.8] - 2025-04-01 + # Compatibility + # (kv) Deprecate the unstable-kv feature which may be removed in a future patch release + # Features + # (kv) Stabilize key-value support behind the kv feature + # Expose ConfigurableFormat to build custom [Builder::format]s that leverage this + # Changelog + # Sourced from env_logger's changelog. + # [0.11.8] - 2025-04-01 + # Compatibility + # (kv) Deprecate the unstable-kv feature which may be removed in a future patch release + # Features + # (kv) Stabilize key-value support behind the kv feature + # Expose ConfigurableFormat to build custom [Builder::format]s that leverage this + # Commits + # f0443b2 chore: Release + # d8b5e1e docs: Update changelog + # 3ca671f Merge pull request #360 from epage/format + # bc02d61 feat(fmt): Expose ConfigurableFormat + # c567fde refactor(fmt): Pull out format logic + # ce25c73 refactor(fmt): Make DefaultFormats name more specific + # 739ebb1 refactor(fmt): Pull out logger's builder methods + # 3acb571 refactor(fmt): Delegate formatting to DefaultFormat + # e351bcb refactor(fmt): Reduce duplication in DefaultFormatWriter + # 3c9e6ff Merge pull request #359 from epage/kv + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=env_logger&package-manager=car + # go&previous-version=0.11.7&new-version=0.11.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/abou + # t-dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36293 (@dependabot[bot], @dependabot[bot], #36293) build(deps): bump aws-lc-rs from 1.12.6 to 1.13.0 (#36293) + # Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.12.6 to 1.13.0. + # Release notes + # Sourced from aws-lc-rs's releases. + # aws-lc-rs v1.13.0 + # What's Changed + # Support serializing RsaSubjectPublicKey to/from X509 by @​justsmth in aws/aws-lc-rs#742 + # ML-DSA support in unstable module by @​justsmth in aws/aws-lc-rs#690 + # Remove Kyber, KDF from unstable module by @​justsmth in aws/aws-lc-rs#747 + # Build improvements + # Fix CMake submodule warning by @​justsmth in aws/aws-lc-rs#730 + # Prefixing applied to all external symbols in aws-lc-sys: + # Align aws-lc-sys v0.27.2 w/ AWS-LC v1.48.5 by @​justsmth in aws/aws-lc-rs#740 + # Improve cross-build support to x86_64-pc-windows-gnu: + # Include Go source in aws-lc-sys crate by @​justsmth in aws/aws-lc-rs#754 + # Support build using CMake 4.0: + # Bump aws-lc-fips-sys to v0.13.5 by @​justsmth in aws/aws-lc-rs#760 + # Regenerate aws-lc-sys @ v1.48.3 by @​skmcgrail in aws/aws-lc-rs#734 + # CI for x86_64-unknown-illumos build target: + # Try to support illumos by @​LecrisUT in aws/aws-lc-rs#709 + # Issues Being Resolved + # implement encoding::AsDer<PublicKeyX509Der<'a>> for rsa::PublicKey -- aws/aws-lc-rs#741 + # -sys: include aws-lc/crypto/err/err_data_generate.go in published crates -- aws/aws-lc-rs#752 + # Failing to cross build for x86_64-pc-windows-gnu -- aws/aws-lc-rs#753 + # Failure to build with CMake 4 -- aws/aws-lc-rs#755 + # Other Merged PRs + # Update rustls integ test by @​justsmth in aws/aws-lc-rs#717 + # Bump aws-lc-fips-sys to v0.13.4 by @​justsmth in aws/aws-lc-rs#731 + # Test script for bindings pregeneration by @​justsmth in aws/aws-lc-rs#732 + # No libssl cross test for arm-linux-androideabi by @​justsmth in aws/aws-lc-rs#739 + # aws-lc-sys: output only one library by @​justsmth in aws/aws-lc-rs#749 + # Align aws-lc-sys v0.28.0 w/ AWS-LC 1.49.0 by @​justsmth in aws/aws-lc-rs#757 + # Bump to aws-lc-rs v1.13.0 by @​justsmth in aws/aws-lc-rs#758 + # New Contributors + # @​LecrisUT made their first contribution in aws/aws-lc-rs#709 + # Full Changelog: https://github.com/aws/aws-lc-rs/compare/v1.12.6...v1.13.0 + # Commits + # 8ed1be8 Bump to aws-lc-rs v1.13.0 (#758) + # 1e96391 Bump aws-lc-fips-sys to v0.13.5 (#760) + # 706565c Include Go source in aws-lc-sys crate (#754) + # 344a56f Align aws-lc-sys v0.28.0 w/ AWS-LC 1.49.0 (#757) + # b6d070b Remove Kyber, KDF from unstable (#747) + # 2e8b158 Unstable API for ML-DSA (#690) + # d998c01 Try to support illumos (#709) + # 44de3d2 aws-lc-sys: output only one library (#749) + # bfe34e8 Support RsaSubjectPublicKey to/from X509; Bump version (#742) + # 4fe8198 Align aws-lc-sys v0.27.2 w/ AWS-LC v1.48.5 (#740) + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-lc-rs&package-manager=carg + # o&previous-version=1.12.6&new-version=1.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about + # -dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36292 (@dependabot[bot], @dependabot[bot], #36292) build(deps): bump flate2 from 1.1.0 to 1.1.1 (#36292) + # Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.1.0 to 1.1.1. + # Release notes + # Sourced from flate2's releases. + # 1.1.1 + # This release should be smaller and thus faster to download. + # Additionally, when using the zlib-rs backend, duplicate symbol issues shouldn't occur anymore. + # What's Changed + # docs: Update README to promote zlib-rs by @​Xuanwo in rust-lang/flate2-rs#470 + # Update miniz_oxide to 0.8.5 by @​oyvindln in rust-lang/flate2-rs#475 + # Remove stale CHANGELOG.md by @​jayvdb in rust-lang/flate2-rs#476 + # More informative README on backends by @​Shnatsel in rust-lang/flate2-rs#480 + # Rewrite outdated backend notes in lib.rs by @​Shnatsel in rust-lang/flate2-rs#481 + # upgrade zlib-rs to version 0.5.0 by @​folkertdev in rust-lang/flate2-rs#482 + # New Contributors + # @​Xuanwo made their first contribution in rust-lang/flate2-rs#470 + # @​jayvdb made their first contribution in rust-lang/flate2-rs#476 + # Full Changelog: https://github.com/rust-lang/flate2-rs/compare/1.1.0...1.1.1 + # Commits + # 98c98c8 Merge pull request #482 from folkertdev/update-zlib-rs-0.5.0 + # 94b36b0 upgrade zlib-rs to version 0.5.0 + # a79bfe4 Merge pull request #481 from Shnatsel/backend-docs + # 694e822 less editorializing + # 6debe95 Merge pull request #480 from Shnatsel/zlib-rs-readme + # a24e276 Rewrite outdated backend notes in lib.rs + # 78ca174 More informative README on backends + # c9a3efa Merge pull request #476 from jayvdb/rm-changelog + # 0b2137d Remove stale CHANGELOG.md + # 0abbd1c Merge pull request #475 from oyvindln/patch-1 + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flate2&package-manager=cargo&p + # revious-version=1.1.0&new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-depe + # ndabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36133 (@richarddushime, #36133) Use Window in new methods instead of GlobalScope for interfaces with … (#36133) + # …Window-only constructors +https://github.com/servo/servo/pull/36272 (@mrobinson, @Loirooriol, #36272) script: Create `CSSStyleOwner::Null` for `getComputedStyle` (#36272) + # This new `CSSStyleOwner` variant is used when the pseudo-element + # argument fails to parse properly or is for some unknown or unsupported + # pseudo-element. + # Testing: There are tests for this change. Various tests start to pass and some start to + # fail. New failures are due to partial or fully missing support for pseudo-elements such + # as: + # - `::selection` + # - `::first-letter` and `::first-line` + # - `::marker` + # Co-authored-by: Oriol Brufau + # Signed-off-by: Martin Robinson +https://github.com/servo/servo/pull/36278 (@Loirooriol, #36278) layout: Allow collapsing bottom margins with any indefinite block size (#36278) + # According to CSS2, the bottom margin of a block container can collapse with the bottom margin of its last in-flow + # child if `height` computes to `auto`. + # However, according to CSS Sizing, that was "legacy spec prose" and should be interpreted as "behaves as `auto`". + # Therefore, cyclic percentages and intrinsic keywords like `min-content` shouldn't prevent margin collapse, because + # they behave as `auto`. + # This change aligns Servo with Gecko and Blink, but diverges from WebKit. + # https://www.w3.org/TR/CSS22/box.html#collapsing-margins + # https://www.w3.org/TR/css-sizing/#behave-auto + # Testing: + # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-001.html` + # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-002.html` + # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-003.html` + # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-004.html` + # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-005.html` +https://github.com/servo/servo/pull/36274 (@andrei.volykhin@gmail.com, #36274) dom: Firing "click" event as synthetic pointer event (#36274) + # According to specification + # https://html.spec.whatwg.org/multipage/webappapis.html#fire-a-click-event "Firing a click event at target means + # firing a synthetic pointer event named click at target" + # So need to replace synthetic mouse event with "click" type to pointer event. + # https://w3c.github.io/pointerevents/#the-click-auxclick-and-contextmenu-events + # https://www.w3.org/TR/uievents/#event-type-click + # Firing "click" event could be triggered from script or by UA: + # - element.click() (https://html.spec.whatwg.org/multipage/interaction.html#dom-click) + # - form implicit submission + # (https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#implicit-submission) + # - keyboard activation (space) +https://github.com/servo/servo/pull/36223 (@mrobinson, #36223) libservo: Start moving `WindowMethods` to `WebViewDelegate` (#36223) + # `WindowMethods` is used by the embedding layer to get information from + # the embedder. This change moves the functionality for getting screen + # size and `WebView` offsets to `WebViewDelegate`. + # This is important because `WebView`s might be on different screens or + # have different offsets on the screen itself, so it makes sense for this + # to be per-`WebView` and not global to the embedder. HiDPI and animation + # state functionality will move to the embedder in subsequent changes. + # Signed-off-by: Martin Robinson +https://github.com/servo/servo/pull/36238 (@shubhamg13, #36238) Fix broken unit-test of webview (#36238) + # This PR fixes the broken unit-test after [#35662](https://github.com/servo/servo/pull/35662) + # Testing: Verified locally and CI confirms too. + # Fixes: Migrate the test to use new API + # cc: @xiaochengh +>>> 2025-04-04T06:05:48Z +https://github.com/servo/servo/pull/36298 (@barigbuenbira@gmail.com, #36298) Fix: `display: inline-grid` considered an atomic inline (#36298) + # This change ensures that `display: inline-grid` is considered an atomic inline + # - Add `is_atomic_inline_level()` logic to `box_fragment.rs` to improve accuracy. + # - Update `stacking_context.rs` to use the new `is_atomic_inline_level()` method instead of the one from stylo. + # - Update `repeat-auto-fill-005.html` test expectation. + # - Remove .ini expectations for tests that are no longer failing. + # Testing: covered by WPT + # Fixes: #35310 +https://github.com/servo/servo/pull/36316 (@Loirooriol, #36316) Enable layout_grid_enabled pref for all tests (#36316) + # This is part of #36315 + # Testing: This improves several tests that rely on this feature +https://github.com/servo/servo/pull/36174 (@mrees@noeontheend.com, #36174) fix: root element not establishing stacking context (#35390) (#36174) + # - [X] `./mach build -d` does not report any errors + # - [X] `./mach test-tidy` does not report any errors + # - [X] These changes fix #35390 + # - [X] There are tests for these changes + # [Successful WPT run](https://github.com/reesmichael1/servo/actions/runs/14097679625) (which includes the new + # test files) + # (I didn't make the formatting changes intentionally--those came from `mach format` following `mach test-tidy`.) +https://github.com/servo/servo/pull/36313 (@Loirooriol, #36313) script: Implement deprecated CSSStyleSheet members (#36313) + # Implements `rules`, `addRule()` and `removeRule()` for `CSSStyleSheet`. + # https://drafts.csswg.org/cssom/#legacy-css-style-sheet-members + # This is part of #36162 + # Testing: + # - `/css/css-cascade/at-scope-parsing.html` + # - `/css/css-conditional/at-supports-whitespace.html` + # - `/css/css-nesting/invalidation-004.html` + # - `/css/css-nesting/parsing.html` + # - `/css/css-nesting/serialize-group-rules-with-decls.html` + # - `/css/css-syntax/custom-property-rule-ambiguity.html` + # - `/css/css-syntax/invalid-nested-rules.html` + # - `/css/css-syntax/trailing-braces.html` + # - `/css/css-syntax/var-with-blocks.html` + # - `/css/css-transitions/parsing/starting-style-parsing.html` + # - `/css/cssom/CSSStyleSheet.html` + # - `/css/cssom/idlharness.html` + # - `/css/cssom/insertRule-across-context.html` +https://github.com/servo/servo/pull/36311 (@Loirooriol, #36311) layout: Improve style conversion for Taffy (#36311) + # This imports the following changes from Blitz: + # - Map position:sticky to relative rather than absolute position + # https://github.com/DioxusLabs/blitz/commit/16a7c1654455bee62e83854f83304a2931b29a0d + # - Map left and right alignment from Stylo + # https://github.com/DioxusLabs/blitz/commit/c71cc681d8c877dbd30853b3c4a2a7449c6450e4 + # - Improve mapping of align-items/self + # https://github.com/DioxusLabs/blitz/commit/7bf2a25e756c1310a9e4603b4757e20548b961e2 + # Fixes: #35998 + # Testing: + # - `/css/css-grid/alignment/grid-align-justify-margin-border-padding.html` + # - `/css/css-grid/alignment/grid-align.html` + # - `/css/css-grid/alignment/grid-column-axis-alignment-sticky-positioned-items-001.html` + # - `/css/css-grid/alignment/grid-gutters-and-alignment.html` + # - `/css/css-grid/alignment/grid-item-alignment-with-orthogonal-flows.html` + # - `/css/css-grid/alignment/grid-row-axis-alignment-sticky-positioned-items-001.html` + # - `/css/css-grid/alignment/grid-self-alignment.html` +https://github.com/servo/servo/pull/35684 (@simonwuelker, #35684) Support single-value ` prompt scrollable (#36677) + # This ensures that the select element is usable when there are a lot of options. + # Testing: We don't have tests for servoshell. +https://github.com/servo/servo/pull/36672 (@sagudev, #36672) Disable serviceworkers for webgpu CTS tests (#36672) + # https://github.com/servo/servo/pull/36335 enabled all experimental features for all wpt tests, but + # `dom_serviceworker_enabled` makes all CTS tests fail, because servo reports working service worker impl, but + # CTS pre-setup of worker fails due too incomplete impl. The solution is that we disable service workers in CTS + # `__dir__.ini` (thus avoiding any CTS worker code) until impl is stable enough. + # Testing: This makes tests works again + # Fixes: #36657 +https://github.com/servo/servo/pull/36667 (@atbrakhi, #36667) DevTools: Move `Source` related code to dedicated `source.rs` file (#36667) + # Currently Source related code exists in watcher.rs and thread.rs. This change moves source-related code to a dedicated + # source.rs file. This is in preparation for adding support for showing source code in the Debugger > Source panel. + # - [x] Testing: These changes should not affect current functionality as it only moves the existing code + # - [x] Fixes: part of https://github.com/servo/servo/issues/36027 +>>> 2025-04-26T06:06:54Z +https://github.com/servo/servo/pull/36681 (@mrobinson, @Loirooriol, #36681) layout: Use box tree `Fragment`s for offset parent queries (#36681) + # This change switches `offsetParent`, `offsetLeft`, etc queries to use + # the BoxTree fragments instead of walking the entire fragment tree. In + # addition, fragments are stored for columns and colgroups. In general, + # this greatly simplifies the flow of the query and prevents having to do + # expensive tree walks. + # Testing: This change is covered by newly passing WPT tests and three new + # failures: + # - /css/filter-effects/backdrop-filter-edge-clipping-2.html + # - /css/filter-effects/backdrop-filter-edge-mirror.html + # - /css/filter-effects/backdrop-filter-edge-pixels-2.html + # These failures are actually progressions, because now the references start + # to render properly whereas before they did not. + # Fixes: This is part of #36525 and #36665. +https://github.com/servo/servo/pull/36506 (@atouchet, #36506) servoshell Cargo.toml cleanup (#36506) + # null +https://github.com/servo/servo/pull/36623 (@TimvdLippe, #36623) Support CSP report-only header (#36623) + # This turned out to be a full rabbit hole. The new header + # is parsed in the new `parse_csp_list_from_metadata` which + # sets `disposition` to `report. + # I was testing this with + # `script-src-report-only-policy-works-with-external-hash-policy.html` + # which was blocking the script incorrectly. Turns out that there + # were multiple bugs in the CSP library, as well as a missing + # check in `fetch` to report violations. + # Additionally, in several locations we were manually reporting csp + # violations, instead of the new `global.report_csp_violations`. As + # a result of that, they would double report, since the report-only + # header would be appended as a policy and now would report twice. + # Now, all callsides use `global.report_csp_violations`. As a nice + # side-effect, I added the code to set source file information, + # since that was already present for the `eval` check, but nowhere + # else. + # Part of #36437 + # Requires servo/rust-content-security-policy#5 +https://github.com/servo/servo/pull/36695 (@dependabot[bot], @dependabot[bot], #36695) build(deps): bump cc from 1.2.19 to 1.2.20 (#36695) + # Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.19 to 1.2.20. + # Release notes + # Sourced from cc's releases. + # cc-v1.2.20 + # Other + # Regenerate target info (#1461) + # Fix parser.rs on latest rustc nightly (#1459) + # Changelog + # Sourced from cc's changelog. + # 1.2.20 - 2025-04-25 + # Other + # Regenerate target info (#1461) + # Fix parser.rs on latest rustc nightly (#1459) + # Commits + # 1dd0989 chore: release v1.2.20 (#1462) + # 828dd19 Regenerate target info (#1461) + # 5da0787 Update rusqlite requirement from 0.34.0 to 0.35.0 (#1460) + # 9fb0d0b Fix parser.rs on latest rustc nightly (#1459) + # See full diff in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cc&package-manager=cargo&previ + # ous-version=1.2.19&new-version=1.2.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-depend + # abot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36663 (@mrobinson, @Loirooriol, #36663) layout: Implement node geometry queries against `BoxTree`'s `Fragment` (#36663) + # This is a followup to #36629, continuing to implement script-based + # layout queries using the `Fragment`s attached to the `BoxTree`. In this + # change, geometry queris (apart from parent offset) are calculated using + # `Fragment`s hanging of the `BoxTree`. + # In order to make this work, all `Fragment`s for inlines split by blocks, + # need to be accessible in the `BoxTree`. This required some changes to + # the way that box tree items were stored in DOM `BoxSlot`s. Now every + # inline level item can have more than a single `BoxTree` item. These are + # carefully collected by the `InlineFormattingContextBuilder` -- currently + # a bit fragile, but with more documentation. + # Testing: There are tests for these changes. +https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test target directories (#36690) + # The command `./mach test-tidy` did not check the TOML files in the subdirectories of components/shared/, since + # the argument for taglo command was written as `components/shared/*.toml`. + # This patch fixes it to include those TOML files in test-tidy. + # Testing: It only involves python script for test-tidy. No test is needed. + # Fixes: #36659 +https://github.com/servo/servo/pull/36595 (@Loirooriol, #36595) layout: Implement `justify-self` for block-level boxes (#36595) + # https://drafts.csswg.org/css-align/#justify-block + # Testing: Improves various WPT tests. `justify-self-auto-margins-2.html` fails but I think the test is wrong. +https://github.com/servo/servo/pull/36656 (@Legend-Master, @mrobinson, #36656) Initial support for marking custom protocol secure (#36656) + # Add initial support for marking custom protocol as secure, this makes it possible to `fetch` a custom protocol + # inside secure contexts (e.g. http://localhost) + # Some additional contexts: + # - [#embedding > Custom protocol secure + # context](https://servo.zulipchat.com/#narrow/channel/437943-embedding/topic/Custom.20protocol.20secure.20context) + # - https://github.com/versotile-org/tauri-runtime-verso/issues/6#issuecomment-2820776128 + # Testing: use `fetch('urlinfo://abc').then(async (response) => console.log(await response.text())).catch(console.log)` + # in servoshell with in a secure context (e.g. https://servo.org), and see the response should not be an error +https://github.com/servo/servo/pull/36688 (@jschwe, #36688) Return Result from ProtocolRegistry::register() (#36688) + # Instead of returning true / false it's better to return a Result (even if we continue ignoring possible error). + # Testing: Doesn't change any behavior +https://github.com/servo/servo/pull/36589 (@sebsebmc@gmail.com, #36589) Implement static Response.json (#36589) + # Implements https://fetch.spec.whatwg.org/#dom-response-json + # Restructured the constructor to follow the spec more closely with a separate "initialize the response" algorithm. + # Testing: There are existing WPT tests for this. +https://github.com/servo/servo/pull/27041 (@jdm, #27041) Report exceptions for async script executions to webdriver (#27041) + # Improving the accuracy of the async script execution for our webdriver implementation allows us to run many more + # webdriver tests without timeouts, which should help with https://github.com/web-platform-tests/wpt/issues/24257. + # Specification: + # * https://w3c.github.io/webdriver/#dfn-clone-an-object + # * https://w3c.github.io/webdriver/#execute-async-script +>>> 2025-04-27T06:07:08Z +https://github.com/servo/servo/pull/36708 (@servo-wpt-sync, #36708) Sync WPT with upstream (27-04-2025) (#36708) + # Automated downstream sync of changes from upstream as of 27-04-2025 + # [no-wpt-sync] +https://github.com/servo/servo/pull/36705 (@simonwuelker, #36705) Use snapshot size instead of canvas size when converting canvas to blob (#36705) + # The blob data is encoded asynchronously, therefore the canvas size may have changed since it's data was saved + # to a snapshot. Using the canvas size confuses the encoder, because the provided data does not match the expected + # size anymore. + # Testing: This change includes a new web platform test + # Fixes https://github.com/servo/servo/issues/36702 +https://github.com/servo/servo/pull/36698 (@mrobinson, #36698) layout: Remove rules for legacy pseudo-elements in user agent stylesheet (#36698) + # The legacy layout system used these pseudo-elements, but modern layout + # no longer does, so they are unused. They can simply be removed. + # Testing: No new tests as this is effectively dead code. +>>> 2025-04-28T06:03:44Z +https://github.com/servo/servo/pull/36431 (@elomscansio, #36431) htmlinputelement: Update radio group validity logic for disconnected trees (#36431) + # This PR updates the validity state revalidation behavior for radio input elements, ensuring consistent logic + # regardless of tree connectivity. +https://github.com/servo/servo/pull/36713 (@jdm, #36713) constellation: Move log inside relevant conditional. (#36713) + # This message is logged when we don't actually act on it and is confusing as a result. By moving it inside the + # conditional, we only log the message when we actually notify webdriver that the load is complete. + # Testing: Manual testing. +https://github.com/servo/servo/pull/36622 (@elomscansio, #36622) script_thread: HTML parser doesn't set relevant option (#36622) + # This patch ensures that the Servo HTML parser uses the appropriate `TreeBuilderOpts` settings + # as specified by the HTML specification. + # Changes: + # - **iframe_srcdoc:** Detect if the parsed document's URL scheme is `about:srcdoc`, and set the parser’s + # iframe_srcdoc option accordingly. + # - **quirks_mode:** Use the associated Document's quirks mode to set the parser’s quirks mode flag, improving + # fragment parsing behavior. + # - **scripting_enabled:** Add a `scripting_enabled` method to Document, based on whether it has a browsing context, + # and set this flag for the parser. + # These updates align Servo's parsing behavior more closely with the specification: + # https://html.spec.whatwg.org/multipage/parsing.html#the-initial-insertion-mode +https://github.com/servo/servo/pull/36704 (@Taym95, #36704) Determine if ResizeTo is allowed (#36704) + # Spec says to check If target is not an auxiliary browsing context before performing ResizeTo. + # Fixes: #36701 +>>> 2025-04-29T06:08:21Z +https://github.com/servo/servo/pull/36733 (@dependabot[bot], @dependabot[bot], #36733) build(deps): bump toml_datetime from 0.6.8 to 0.6.9 (#36733) + # Bumps [toml_datetime](https://github.com/toml-rs/toml) from 0.6.8 to 0.6.9. + # Commits + # 4021081 chore: Release + # 3312698 chore: Release + # b25da32 docs: Update changelog + # 8844949 docs(write): Update base commit + # 5406815 Merge pull request #875 from epage/w + # c6479a2 refactor(toml): Pull out ValueSerializer for easier comparison + # 8c43cf8 refactor(toml): Remove redundant non_exhaustive + # 268a1f8 Merge pull request #874 from epage/w + # e406f94 refactor(toml): Split ser module + # 4d782f8 refactor(edit): Rely on type alias in ser + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml_datetime&package-manager= + # cargo&previous-version=0.6.8&new-version=0.6.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/abo + # ut-dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36736 (@dependabot[bot], @dependabot[bot], #36736) build(deps): bump toml_edit from 0.22.24 to 0.22.25 (#36736) + # Bumps [toml_edit](https://github.com/toml-rs/toml) from 0.22.24 to 0.22.25. + # Commits + # 4021081 chore: Release + # 3312698 chore: Release + # b25da32 docs: Update changelog + # 8844949 docs(write): Update base commit + # 5406815 Merge pull request #875 from epage/w + # c6479a2 refactor(toml): Pull out ValueSerializer for easier comparison + # 8c43cf8 refactor(toml): Remove redundant non_exhaustive + # 268a1f8 Merge pull request #874 from epage/w + # e406f94 refactor(toml): Split ser module + # 4d782f8 refactor(edit): Rely on type alias in ser + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml_edit&package-manager=carg + # o&previous-version=0.22.24&new-version=0.22.25)](https://docs.github.com/en/github/managing-security-vulnerabilities/abo + # ut-dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36738 (@dependabot[bot], @dependabot[bot], #36738) build(deps): bump quick-xml from 0.37.4 to 0.37.5 (#36738) + # Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.4 to 0.37.5. + # Release notes + # Sourced from quick-xml's releases. + # v0.37.5 - BytesCData::decode() + # What's Changed + # New Features + # #857: Add BytesCData::decode(). + # #857: tafia/quick-xml#857 + # New Contributors + # @​mematthias made their first contribution in tafia/quick-xml#857 + # Full Changelog: https://github.com/tafia/quick-xml/compare/v0.37.4...v0.37.5 + # Changelog + # Sourced from quick-xml's changelog. + # 0.37.5 -- 2025-04-27 + # New Features + # #857: Add BytesCData::decode(). + # #857: tafia/quick-xml#857 + # Commits + # a018365 Release 0.37.5 + # a7cb878 Merge pull request #857 from mematthias/master + # 4acc194 Make BytesCData decode method pub + # See full diff in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quick-xml&package-manager=carg + # o&previous-version=0.37.4&new-version=0.37.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about + # -dependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36732 (@dependabot[bot], @dependabot[bot], #36732) build(deps): bump web_atoms from 0.1.0 to 0.1.1 (#36732) + # Bumps [web_atoms](https://github.com/servo/html5ever) from 0.1.0 to 0.1.1. + # Commits + # 15d10bf v0.1.1 + # b57243c Auto merge of #146 - servo:rustup, r=SimonSapin + # 4630ad8 Upgrade to rustc 1.2.0-nightly (2f5683913 2015-06-18) + # 395e39c Merge pull request #145 from kstep/patch-1 + # 5f8d1e1 add documentation link to cargo.toml + # 73d3f78 Auto merge of #144 - servo:crates.io, r=metajack + # See full diff in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=web_atoms&package-manager=carg + # o&previous-version=0.1.0&new-version=0.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-d + # ependabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36735 (@dependabot[bot], @dependabot[bot], #36735) build(deps): bump syn from 2.0.100 to 2.0.101 (#36735) + # Bumps [syn](https://github.com/dtolnay/syn) from 2.0.100 to 2.0.101. + # Release notes + # Sourced from syn's releases. + # 2.0.101 + # Improve TypeGenerics::as_turbofish to return longer-lived return value (#1861) + # Commits + # 58336a3 Release 2.0.101 + # f1612cc Merge pull request #1861 from JakobDegen/turbofish + # d04eea1 Fix lifetime on as_turbofish + # 432b303 Resolve renamed_and_removed_lints warning about match_on_vec_items + # 1353d60 Update test suite to nightly-2025-04-08 + # 3980ff2 Improve wording of comment in advance_to implementation + # 8328b52 Update test suite to nightly-2025-04-05 + # 1d2e2be Update test suite to nightly-2025-04-03 + # 2400946 Update test suite to nightly-2025-04-02 + # 114a629 Update test suite to nightly-2025-03-27 + # Additional commits viewable in compare view + # [![Dependabot compatibility + # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&prev + # ious-version=2.0.100&new-version=2.0.101)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dep + # endabot-security-updates#about-compatibility-scores) + # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger + # a rebase manually by commenting `@dependabot rebase`. + # [//]: # (dependabot-automerge-start) + # [//]: # (dependabot-automerge-end) +https://github.com/servo/servo/pull/36692 (@PartiallyUntyped, #36692) Propagate image resolution errors in layout context (#36692) + # This commit modifies layout context to propagate any issues that occur during image + # resolution. + # At the moment, when errors occur during image resolution we propagate None upwards. This + # hides any potential issues that may be actionable, for example, we may want to avoid + # trying to load an image that failed to load for whatever reason or has an invalid url. + # This commit instead propagates these errors upwards to consumers where they may become + # actionable. This is part of an investigation into #36679. + # Signed-off-by: Astraea Quinn Skoutelli +https://github.com/servo/servo/pull/36470 (@Taym95, #36470) Start adding support for transforms in readable and writable streams (#36470) + # Start adding support for transforms in readable and writable streams. Part of + # https://github.com/servo/servo/issues/34676 +https://github.com/servo/servo/pull/35999 (@xiaochengh, #35999) Rewrite node insertion algorithm to match the spec (#35999) + # Per [spec](https://dom.spec.whatwg.org/#concept-node-insert), adoption of new node should be done while inserting + # the node. This patch moves the call site of `adopt` to inside `insert` to match it. + # It also rewrites some existing code to better match the spec without any behavioral changes. +https://github.com/servo/servo/pull/36725 (@Loirooriol, #36725) layout: Refactor `establishes_containing_block_for_all_descendants()` (#36725) + # Instead of grouping all the `will-change` conditions together, move each one of them next to the condition for + # the relevant property. + # This avoids the need to call `is_transformable()` multiple times, and will also be needed for #35391. + # Testing: unneeded (no change in behavior) +>>> 2025-04-30T06:06:29Z From 707f9ff136af18426537b6d055c2926a13f96a72 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Wed, 30 Apr 2025 17:18:54 +0800 Subject: [PATCH 15/81] Triage 59 commits --- README.md | 2 +- commits.txt | 118 ++++++++++++++++++++++++++-------------------------- 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 1ff4f8739..d8ffdf0e4 100644 --- a/README.md +++ b/README.md @@ -344,7 +344,7 @@ Generally we want to include... And generally we want to exclude... - dependabot updates (“build(deps)”) -- WPT imports (“Update web-platform-tests”) +- WPT imports (“Update web-platform-tests” or “Sync WPT with upstream”) - lint and warning fixes - other CI changes - refactors (unless large-scale) diff --git a/commits.txt b/commits.txt index 310eabc5d..46a76aeb5 100644 --- a/commits.txt +++ b/commits.txt @@ -12,7 +12,7 @@ https://github.com/servo/servo/pull/36246 (@Loirooriol, #36246) Enable css-nesti # So that we can see the improvement when enabling the feature. # Testing: This PR enables tests # This is part of #36245 -https://github.com/servo/servo/pull/36244 (@dependabot[bot], @dependabot[bot], #36244) build(deps): bump darling from 0.20.10 to 0.20.11 (#36244) +-https://github.com/servo/servo/pull/36244 (@dependabot[bot], @dependabot[bot], #36244) build(deps): bump darling from 0.20.10 to 0.20.11 (#36244) # Bumps [darling](https://github.com/TedDriggs/darling) from 0.20.10 to 0.20.11. # Release notes # Sourced from darling's releases. @@ -56,7 +56,7 @@ https://github.com/servo/servo/pull/36244 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36243 (@dependabot[bot], @dependabot[bot], #36243) build(deps): bump socket2 from 0.5.8 to 0.5.9 (#36243) +-https://github.com/servo/servo/pull/36243 (@dependabot[bot], @dependabot[bot], #36243) build(deps): bump socket2 from 0.5.8 to 0.5.9 (#36243) # Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.8 to 0.5.9. # Commits # See full diff in compare view @@ -80,7 +80,7 @@ https://github.com/servo/servo/pull/36168 (@UssyMan, #36168) Track the active ta # - [ ] There are tests for these changes OR # - [X] These changes do not require tests because they’re structural setup for the actor chain and don’t change # the system's behavior yet. -https://github.com/servo/servo/pull/36242 (@dependabot[bot], @dependabot[bot], #36242) build(deps): bump iana-time-zone from 0.1.62 to 0.1.63 (#36242) +-https://github.com/servo/servo/pull/36242 (@dependabot[bot], @dependabot[bot], #36242) build(deps): bump iana-time-zone from 0.1.62 to 0.1.63 (#36242) # Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from 0.1.62 to 0.1.63. # Changelog # Sourced from iana-time-zone's changelog. @@ -107,7 +107,7 @@ https://github.com/servo/servo/pull/36242 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36241 (@dependabot[bot], @dependabot[bot], #36241) build(deps): bump once_cell from 1.21.2 to 1.21.3 (#36241) +-https://github.com/servo/servo/pull/36241 (@dependabot[bot], @dependabot[bot], #36241) build(deps): bump once_cell from 1.21.2 to 1.21.3 (#36241) # Bumps [once_cell](https://github.com/matklad/once_cell) from 1.21.2 to 1.21.3. # Changelog # Sourced from once_cell's changelog. @@ -196,7 +196,7 @@ https://github.com/servo/servo/pull/36254 (@Loirooriol, #36254) Turn `CSSStyleRu # `CSSGroupingRule::rulelist()` by downcasting and calling the appropriate method for the subclass. # Testing: covered by WPT # Fixes: #36245 -https://github.com/servo/servo/pull/36280 (@dependabot[bot], @dependabot[bot], #36280) build(deps): bump quick-xml from 0.37.3 to 0.37.4 (#36280) +-https://github.com/servo/servo/pull/36280 (@dependabot[bot], @dependabot[bot], #36280) build(deps): bump quick-xml from 0.37.3 to 0.37.4 (#36280) # Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.3 to 0.37.4. # Release notes # Sourced from quick-xml's releases. @@ -226,7 +226,7 @@ https://github.com/servo/servo/pull/36280 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36279 (@dependabot[bot], @dependabot[bot], #36279) build(deps): bump hyper-util from 0.1.10 to 0.1.11 (#36279) +-https://github.com/servo/servo/pull/36279 (@dependabot[bot], @dependabot[bot], #36279) build(deps): bump hyper-util from 0.1.10 to 0.1.11 (#36279) # Bumps [hyper-util](https://github.com/hyperium/hyper-util) from 0.1.10 to 0.1.11. # Release notes # Sourced from hyper-util's releases. @@ -324,7 +324,7 @@ https://github.com/servo/servo/pull/36282 (@gterzian, #36282) Add license for WH # discussion](https://github.com/servo/project/blob/db2f4074d4a369beb16f23ccc010ba73a3fc9662/governance/tsc/tsc-2025-03-31 # .md#add-license-for-whatwg-specs-incorporated-into-source-code). # As per for example https://html.spec.whatwg.org/#ipr -https://github.com/servo/servo/pull/36296 (@dependabot[bot], @dependabot[bot], #36296) build(deps): bump clap from 4.5.34 to 4.5.35 (#36296) +-https://github.com/servo/servo/pull/36296 (@dependabot[bot], @dependabot[bot], #36296) build(deps): bump clap from 4.5.34 to 4.5.35 (#36296) # Bumps [clap](https://github.com/clap-rs/clap) from 4.5.34 to 4.5.35. # Release notes # Sourced from clap's releases. @@ -351,7 +351,7 @@ https://github.com/servo/servo/pull/36296 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36294 (@dependabot[bot], @dependabot[bot], #36294) build(deps): bump env_logger from 0.11.7 to 0.11.8 (#36294) +-https://github.com/servo/servo/pull/36294 (@dependabot[bot], @dependabot[bot], #36294) build(deps): bump env_logger from 0.11.7 to 0.11.8 (#36294) # Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.7 to 0.11.8. # Release notes # Sourced from env_logger's releases. @@ -390,7 +390,7 @@ https://github.com/servo/servo/pull/36294 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36293 (@dependabot[bot], @dependabot[bot], #36293) build(deps): bump aws-lc-rs from 1.12.6 to 1.13.0 (#36293) +-https://github.com/servo/servo/pull/36293 (@dependabot[bot], @dependabot[bot], #36293) build(deps): bump aws-lc-rs from 1.12.6 to 1.13.0 (#36293) # Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.12.6 to 1.13.0. # Release notes # Sourced from aws-lc-rs's releases. @@ -446,7 +446,7 @@ https://github.com/servo/servo/pull/36293 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36292 (@dependabot[bot], @dependabot[bot], #36292) build(deps): bump flate2 from 1.1.0 to 1.1.1 (#36292) +-https://github.com/servo/servo/pull/36292 (@dependabot[bot], @dependabot[bot], #36292) build(deps): bump flate2 from 1.1.0 to 1.1.1 (#36292) # Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.1.0 to 1.1.1. # Release notes # Sourced from flate2's releases. @@ -657,7 +657,7 @@ https://github.com/servo/servo/pull/36343 (@mrobinson, #36343) script: Remove co # Testing: This is covered by existing tests as it shouldn't change # any behavior. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36345 (@dependabot[bot], @dependabot[bot], #36345) build(deps): bump cc from 1.2.17 to 1.2.18 (#36345) +-https://github.com/servo/servo/pull/36345 (@dependabot[bot], @dependabot[bot], #36345) build(deps): bump cc from 1.2.17 to 1.2.18 (#36345) # Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.17 to 1.2.18. # Release notes # Sourced from cc's releases. @@ -690,7 +690,7 @@ https://github.com/servo/servo/pull/36345 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36344 (@dependabot[bot], @dependabot[bot], #36344) build(deps): bump errno from 0.3.10 to 0.3.11 (#36344) +-https://github.com/servo/servo/pull/36344 (@dependabot[bot], @dependabot[bot], #36344) build(deps): bump errno from 0.3.10 to 0.3.11 (#36344) # Bumps [errno](https://github.com/lambda-fairy/rust-errno) from 0.3.10 to 0.3.11. # Changelog # Sourced from errno's changelog. @@ -714,7 +714,7 @@ https://github.com/servo/servo/pull/36344 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36342 (@dependabot[bot], @dependabot[bot], #36342) build(deps): bump miniz_oxide from 0.8.5 to 0.8.7 (#36342) +-https://github.com/servo/servo/pull/36342 (@dependabot[bot], @dependabot[bot], #36342) build(deps): bump miniz_oxide from 0.8.5 to 0.8.7 (#36342) # Bumps [miniz_oxide](https://github.com/Frommi/miniz_oxide) from 0.8.5 to 0.8.7. # Changelog # Sourced from miniz_oxide's changelog. @@ -847,7 +847,7 @@ https://github.com/servo/servo/pull/36306 (@yezhizhen, #36306) Webdriver delete # 2. Remove unnecessary clone for `WebDriverCommand::GetNamedCookie` # Fixes: #36287 >>> 2025-04-06T06:04:59Z -https://github.com/servo/servo/pull/36369 (@servo-wpt-sync, #36369) Sync WPT with upstream (06-04-2025) (#36369) +-https://github.com/servo/servo/pull/36369 (@servo-wpt-sync, #36369) Sync WPT with upstream (06-04-2025) (#36369) # Automated downstream sync of changes from upstream as of 06-04-2025 # [no-wpt-sync] https://github.com/servo/servo/pull/36338 (@sakupi1101@outlook.jp, #36338) Fix: Add support for stylesheet MIME type quirk in quirks mode (#36338) @@ -974,7 +974,7 @@ https://github.com/servo/servo/pull/36390 (@sebsebmc@gmail.com, #36390) fix: met # Previously the referrer policy used tree order but the spec only cares about the most-recently-updated or # most-recently-added meta referrer. # Testing: change has existing WPT tests -https://github.com/servo/servo/pull/36387 (@dependabot[bot], @dependabot[bot], #36387) build(deps): bump smallvec from 1.14.0 to 1.15.0 (#36387) +-https://github.com/servo/servo/pull/36387 (@dependabot[bot], @dependabot[bot], #36387) build(deps): bump smallvec from 1.14.0 to 1.15.0 (#36387) # Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.14.0 to 1.15.0. # Release notes # Sourced from smallvec's releases. @@ -1006,7 +1006,7 @@ https://github.com/servo/servo/pull/36391 (@simonwuelker, #36391) Split up the U # The current implementation is already rather large at ~2.5k lines (~2k LoC). There is still quite a lot of # functionality left to implement, so let's split it up while it's still manageable. # Testing: Covered by existing web platform tests -https://github.com/servo/servo/pull/36388 (@dependabot[bot], @dependabot[bot], #36388) build(deps): bump indexmap from 2.8.0 to 2.9.0 (#36388) +-https://github.com/servo/servo/pull/36388 (@dependabot[bot], @dependabot[bot], #36388) build(deps): bump indexmap from 2.8.0 to 2.9.0 (#36388) # Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.8.0 to 2.9.0. # Changelog # Sourced from indexmap's changelog. @@ -1037,7 +1037,7 @@ https://github.com/servo/servo/pull/36388 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36389 (@dependabot[bot], @dependabot[bot], #36389) build(deps): bump prettyplease from 0.2.31 to 0.2.32 (#36389) +-https://github.com/servo/servo/pull/36389 (@dependabot[bot], @dependabot[bot], #36389) build(deps): bump prettyplease from 0.2.31 to 0.2.32 (#36389) # Bumps [prettyplease](https://github.com/dtolnay/prettyplease) from 0.2.31 to 0.2.32. # Release notes # Sourced from prettyplease's releases. @@ -1121,7 +1121,7 @@ https://github.com/servo/servo/pull/36399 (@barigbuenbira@gmail.com, #36399) Rem # within the function # Testing: Testing is not required as this change does not alter behaviour. # Fixes: #36358 -https://github.com/servo/servo/pull/36407 (@dependabot[bot], @dependabot[bot], #36407) build(deps): bump winnow from 0.7.4 to 0.7.6 (#36407) +-https://github.com/servo/servo/pull/36407 (@dependabot[bot], @dependabot[bot], #36407) build(deps): bump winnow from 0.7.4 to 0.7.6 (#36407) # Bumps [winnow](https://github.com/winnow-rs/winnow) from 0.7.4 to 0.7.6. # Changelog # Sourced from winnow's changelog. @@ -1151,7 +1151,7 @@ https://github.com/servo/servo/pull/36407 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36406 (@dependabot[bot], @dependabot[bot], #36406) build(deps): bump jiff from 0.2.5 to 0.2.6 (#36406) +-https://github.com/servo/servo/pull/36406 (@dependabot[bot], @dependabot[bot], #36406) build(deps): bump jiff from 0.2.5 to 0.2.6 (#36406) # Bumps [jiff](https://github.com/BurntSushi/jiff) from 0.2.5 to 0.2.6. # Changelog # Sourced from jiff's changelog. @@ -1189,7 +1189,7 @@ https://github.com/servo/servo/pull/36406 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36405 (@dependabot[bot], @dependabot[bot], #36405) build(deps): bump half from 2.5.0 to 2.6.0 (#36405) +-https://github.com/servo/servo/pull/36405 (@dependabot[bot], @dependabot[bot], #36405) build(deps): bump half from 2.5.0 to 2.6.0 (#36405) # Bumps [half](https://github.com/VoidStarKat/half-rs) from 2.5.0 to 2.6.0. # Release notes # Sourced from half's releases. @@ -1281,7 +1281,7 @@ https://github.com/servo/servo/pull/36400 (@mrobinson, #36400) libservo: Move an # Testing: No tests necessary as the API layer is still untested. Later, # tests will be added for the `WebView` API and this can be tested then. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36424 (@dependabot[bot], @dependabot[bot], #36424) build(deps): bump vergen from 9.0.4 to 9.0.6 (#36424) +-https://github.com/servo/servo/pull/36424 (@dependabot[bot], @dependabot[bot], #36424) build(deps): bump vergen from 9.0.4 to 9.0.6 (#36424) # Bumps [vergen](https://github.com/rustyhorde/vergen) from 9.0.4 to 9.0.6. # Release notes # Sourced from vergen's releases. @@ -1320,7 +1320,7 @@ https://github.com/servo/servo/pull/36424 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36425 (@dependabot[bot], @dependabot[bot], #36425) build(deps): bump xml-rs from 0.8.25 to 0.8.26 (#36425) +-https://github.com/servo/servo/pull/36425 (@dependabot[bot], @dependabot[bot], #36425) build(deps): bump xml-rs from 0.8.25 to 0.8.26 (#36425) # Bumps [xml-rs](https://github.com/kornelski/xml-rs) from 0.8.25 to 0.8.26. # Commits # 250211c Bump @@ -1347,7 +1347,7 @@ https://github.com/servo/servo/pull/36420 (@mrobinson, #36420) libservo: Move `E # conditionally (and sometimes duplicating it). # Testing: This just moves a data type, so no tests are necessary. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36386 (@dependabot[bot], @dependabot[bot], #36386) build(deps): bump gilrs-core from 0.6.1 to 0.6.4 (#36386) +-https://github.com/servo/servo/pull/36386 (@dependabot[bot], @dependabot[bot], #36386) build(deps): bump gilrs-core from 0.6.1 to 0.6.4 (#36386) # Bumps [gilrs-core](https://gitlab.com/gilrs-project/gilrs) from 0.6.1 to 0.6.4. # Commits # d66688c Prepare for gilrs-core 0.6.4 @@ -1386,7 +1386,7 @@ https://github.com/servo/servo/pull/36411 (@Loirooriol, #36411) Add serde and wg # This fixes errors when running `./mach clippy -r -p layout_2020` and `./mach clippy -r -p script`. # Also addressing an unused import warning when running the latter. # Testing: These changes do not require tests because it's just a compile error fix. -https://github.com/servo/servo/pull/36415 (@dependabot[bot], @dependabot[bot], #36415) build(deps): bump miniz_oxide from 0.8.7 to 0.8.8 (#36415) +-https://github.com/servo/servo/pull/36415 (@dependabot[bot], @dependabot[bot], #36415) build(deps): bump miniz_oxide from 0.8.7 to 0.8.8 (#36415) # Bumps [miniz_oxide](https://github.com/Frommi/miniz_oxide) from 0.8.7 to 0.8.8. # Changelog # Sourced from miniz_oxide's changelog. @@ -1413,7 +1413,7 @@ https://github.com/servo/servo/pull/36415 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36412 (@Loirooriol, #36412) build(deps): bump crossbeam-channel from 0.5.14 to 0.5.15 (#36412) +-https://github.com/servo/servo/pull/36412 (@Loirooriol, #36412) build(deps): bump crossbeam-channel from 0.5.14 to 0.5.15 (#36412) # Version 0.5.14 has been yanked because it could trigger a double free. # https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-channel-0.5.14...crossbeam-channel-0.5.15 >>> 2025-04-11T06:06:29Z @@ -1422,7 +1422,7 @@ https://github.com/servo/servo/pull/36448 (@mrobinson, @Loirooriol, #36448) layo https://github.com/servo/servo/pull/36429 (@atouchet, #36429) Replace bluetooth Readme with corrected version from devices repository (#36429) # This Readme is for a different crate located in https://github.com/servo/servo/tree/main/third_party/blurmac. Was # adding it to the bluetooth directory in #30974 a mistake? -https://github.com/servo/servo/pull/36450 (@dependabot[bot], @dependabot[bot], #36450) build(deps): bump rustls from 0.23.25 to 0.23.26 (#36450) +-https://github.com/servo/servo/pull/36450 (@dependabot[bot], @dependabot[bot], #36450) build(deps): bump rustls from 0.23.25 to 0.23.26 (#36450) # Bumps [rustls](https://github.com/rustls/rustls) from 0.23.25 to 0.23.26. # Commits # 88dccec Prepare 0.23.26 @@ -1497,7 +1497,7 @@ https://github.com/servo/servo/pull/36458 (@sebsebmc@gmail.com, #36458) fix: Fil # Testing: WPT tests exist # Fixes: #22744 (if I undertand the issue correctly the filename issue was already fixed and now this fixes the # lastModified part) -https://github.com/servo/servo/pull/36477 (@dependabot[bot], @dependabot[bot], #36477) build(deps): bump cc from 1.2.18 to 1.2.19 (#36477) +-https://github.com/servo/servo/pull/36477 (@dependabot[bot], @dependabot[bot], #36477) build(deps): bump cc from 1.2.18 to 1.2.19 (#36477) # Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.18 to 1.2.19. # Release notes # Sourced from cc's releases. @@ -1521,7 +1521,7 @@ https://github.com/servo/servo/pull/36477 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36476 (@dependabot[bot], @dependabot[bot], #36476) build(deps): bump hilog from 0.1.1 to 0.2.0 (#36476) +-https://github.com/servo/servo/pull/36476 (@dependabot[bot], @dependabot[bot], #36476) build(deps): bump hilog from 0.1.1 to 0.2.0 (#36476) # Bumps [hilog](https://github.com/openharmony-rs/hilog) from 0.1.1 to 0.2.0. # Release notes # Sourced from hilog's releases. @@ -1616,7 +1616,7 @@ https://github.com/servo/servo/pull/36454 (@TimvdLippe, @jdm, #36454) Implement # specification algorithm and the Rust compiler does a lot of heavy # lifting figuring out which type is what. # Part of https://github.com/servo/servo/issues/36258 -https://github.com/servo/servo/pull/36488 (@servo-wpt-sync, #36488) Sync WPT with upstream (13-04-2025) (#36488) +-https://github.com/servo/servo/pull/36488 (@servo-wpt-sync, #36488) Sync WPT with upstream (13-04-2025) (#36488) # Automated downstream sync of changes from upstream as of 13-04-2025 # [no-wpt-sync] https://github.com/servo/servo/pull/36487 (@sebsebmc@gmail.com, #36487) Update ProgressEvent to use doubles (#36487) @@ -1749,7 +1749,7 @@ https://github.com/servo/servo/pull/36518 (@Loirooriol, #36518) layout: Floor th # there is no interoperability: https://github.com/w3c/csswg-drafts/issues/12076 # Testing: adding new reftest and crashtest # Fixes: #36481 -https://github.com/servo/servo/pull/36517 (@dependabot[bot], @dependabot[bot], #36517) build(deps): bump clap from 4.5.35 to 4.5.36 (#36517) +-https://github.com/servo/servo/pull/36517 (@dependabot[bot], @dependabot[bot], #36517) build(deps): bump clap from 4.5.35 to 4.5.36 (#36517) # Bumps [clap](https://github.com/clap-rs/clap) from 4.5.35 to 4.5.36. # Release notes # Sourced from clap's releases. @@ -1776,7 +1776,7 @@ https://github.com/servo/servo/pull/36517 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36516 (@dependabot[bot], @dependabot[bot], #36516) build(deps): bump anyhow from 1.0.97 to 1.0.98 (#36516) +-https://github.com/servo/servo/pull/36516 (@dependabot[bot], @dependabot[bot], #36516) build(deps): bump anyhow from 1.0.97 to 1.0.98 (#36516) # Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.97 to 1.0.98. # Release notes # Sourced from anyhow's releases. @@ -1800,7 +1800,7 @@ https://github.com/servo/servo/pull/36516 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36515 (@dependabot[bot], @dependabot[bot], #36515) build(deps): bump jiff from 0.2.6 to 0.2.8 (#36515) +-https://github.com/servo/servo/pull/36515 (@dependabot[bot], @dependabot[bot], #36515) build(deps): bump jiff from 0.2.6 to 0.2.8 (#36515) # Bumps [jiff](https://github.com/BurntSushi/jiff) from 0.2.6 to 0.2.8. # Changelog # Sourced from jiff's changelog. @@ -1853,7 +1853,7 @@ https://github.com/servo/servo/pull/36515 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36514 (@dependabot[bot], @dependabot[bot], #36514) build(deps): bump data-encoding from 2.8.0 to 2.9.0 (#36514) +-https://github.com/servo/servo/pull/36514 (@dependabot[bot], @dependabot[bot], #36514) build(deps): bump data-encoding from 2.8.0 to 2.9.0 (#36514) # Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.8.0 to 2.9.0. # Commits # 4fce77c Release 2.9.0 (#138) @@ -1925,7 +1925,7 @@ https://github.com/servo/servo/pull/36550 (@mrobinson, #36550) compositing: Remo # This data structure is unused. # Testing: No tests as this just removes dead code. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36545 (@sidntrivedi012@gmail.com, #36545) build(deps): bump stylo from `c756a21` to `0eaeea3` (#36545) +-https://github.com/servo/servo/pull/36545 (@sidntrivedi012@gmail.com, #36545) build(deps): bump stylo from `c756a21` to `0eaeea3` (#36545) # This PR bumps stylo from [c756a21](https://github.com/servo/stylo/commit/c756a21864709dae8f85c564125bf92440aeaab5) # to [0eaeea3](https://github.com/servo/stylo/commit/0eaeea3dfd4aa0415529700353075ad1e1e47e5b). https://github.com/servo/servo/pull/36543 (@mrobinson, #36543) compositor: Unify the cross process and in-process API (#36543) @@ -1940,7 +1940,7 @@ https://github.com/servo/servo/pull/36543 (@mrobinson, #36543) compositor: Unify # two APIs, leaving the cleanup of routes in the constellation for another # PR. # Testing: This is covered by existing WPT tests. -https://github.com/servo/servo/pull/36548 (@dependabot[bot], @dependabot[bot], #36548) build(deps): bump content-security-policy from `babd99e` to `be68d50` (#36548) +-https://github.com/servo/servo/pull/36548 (@dependabot[bot], @dependabot[bot], #36548) build(deps): bump content-security-policy from `babd99e` to `be68d50` (#36548) # Bumps [content-security-policy](https://github.com/servo/rust-content-security-policy) from `babd99e` to `be68d50`. # Commits # be68d50 Make URL serializable with serde @@ -1950,7 +1950,7 @@ https://github.com/servo/servo/pull/36548 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36547 (@dependabot[bot], @dependabot[bot], #36547) build(deps): bump libc from 0.2.171 to 0.2.172 (#36547) +-https://github.com/servo/servo/pull/36547 (@dependabot[bot], @dependabot[bot], #36547) build(deps): bump libc from 0.2.171 to 0.2.172 (#36547) # Bumps [libc](https://github.com/rust-lang/libc) from 0.2.171 to 0.2.172. # Release notes # Sourced from libc's releases. @@ -2144,7 +2144,7 @@ https://github.com/servo/servo/pull/36523 (@sebsebmc@gmail.com, #36523) Support https://github.com/servo/servo/pull/36566 (@Taym95, #36566) fix writablestream assertion crash when getting chunk size following spec change (#36566) # One-line change to align with the new spec and avoid a crash. # fix #36565 -https://github.com/servo/servo/pull/36575 (@dependabot[bot], @dependabot[bot], #36575) build(deps): bump proc-macro2 from 1.0.94 to 1.0.95 (#36575) +-https://github.com/servo/servo/pull/36575 (@dependabot[bot], @dependabot[bot], #36575) build(deps): bump proc-macro2 from 1.0.94 to 1.0.95 (#36575) # Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.94 to 1.0.95. # Release notes # Sourced from proc-macro2's releases. @@ -2239,7 +2239,7 @@ https://github.com/servo/servo/pull/36510 (@TimvdLippe, #36510) Check CSP for in # With these changes, all `script-src-attr-elem` WPT tests pass. # Part of #36437 # Requires servo/rust-content-security-policy#3 to land first -https://github.com/servo/servo/pull/36587 (@dependabot[bot], @dependabot[bot], #36587) build(deps): bump svg_fmt from 0.4.4 to 0.4.5 (#36587) +-https://github.com/servo/servo/pull/36587 (@dependabot[bot], @dependabot[bot], #36587) build(deps): bump svg_fmt from 0.4.4 to 0.4.5 (#36587) # Bumps [svg_fmt](https://github.com/nical/rust_debug) from 0.4.4 to 0.4.5. # Commits # See full diff in compare view @@ -2359,7 +2359,7 @@ https://github.com/servo/servo/pull/36584 (@sagudev, #36584) CI: Add `number_of_ # Testing: Manual try runs # Fixes: #30062 >>> 2025-04-20T06:06:13Z -https://github.com/servo/servo/pull/36618 (@servo-wpt-sync, #36618) Sync WPT with upstream (20-04-2025) (#36618) +-https://github.com/servo/servo/pull/36618 (@servo-wpt-sync, #36618) Sync WPT with upstream (20-04-2025) (#36618) # Automated downstream sync of changes from upstream as of 20-04-2025 # [no-wpt-sync] https://github.com/servo/servo/pull/36605 (@elomscansio, @jdm, #36605) htmlvideoelement: Include security settings in poster image request (#36605) @@ -2397,7 +2397,7 @@ https://github.com/servo/servo/pull/36612 (@jdm, #36612) script: Only register o # unresponsive script thread. # Testing: Manual testing on the provided testcase, and a new WPT test that times out without this PR's changes. # Fixes: #36480 -https://github.com/servo/servo/pull/36601 (@dependabot[bot], @dependabot[bot], #36601) build(deps): bump brotli-decompressor from 4.0.2 to 4.0.3 (#36601) +-https://github.com/servo/servo/pull/36601 (@dependabot[bot], @dependabot[bot], #36601) build(deps): bump brotli-decompressor from 4.0.2 to 4.0.3 (#36601) # Bumps [brotli-decompressor](https://github.com/dropbox/rust-brotli-decompressor) from 4.0.2 to 4.0.3. # Commits # See full diff in compare view @@ -2468,7 +2468,7 @@ https://github.com/servo/servo/pull/36624 (@jdm, #36624) Reduce indexing boilerp # reduce the boilerplate code required when implementing serializable/transferable interfaces, since the structured # clone implementation can rely on the common type. # Testing: Existing WPT tests for serialization and transferring provide coverage. -https://github.com/servo/servo/pull/36636 (@dependabot[bot], @dependabot[bot], #36636) build(deps): bump clap from 4.5.36 to 4.5.37 (#36636) +-https://github.com/servo/servo/pull/36636 (@dependabot[bot], @dependabot[bot], #36636) build(deps): bump clap from 4.5.36 to 4.5.37 (#36636) # Bumps [clap](https://github.com/clap-rs/clap) from 4.5.36 to 4.5.37. # Release notes # Sourced from clap's releases. @@ -2498,7 +2498,7 @@ https://github.com/servo/servo/pull/36636 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36634 (@dependabot[bot], @dependabot[bot], #36634) build(deps): bump aws-lc-sys from 0.28.0 to 0.28.1 (#36634) +-https://github.com/servo/servo/pull/36634 (@dependabot[bot], @dependabot[bot], #36634) build(deps): bump aws-lc-sys from 0.28.0 to 0.28.1 (#36634) # Bumps [aws-lc-sys](https://github.com/aws/aws-lc-rs) from 0.28.0 to 0.28.1. # Commits # cff21c1 Bump aws-lc-sys to v0.28.1 (#782) @@ -2515,7 +2515,7 @@ https://github.com/servo/servo/pull/36634 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36633 (@dependabot[bot], @dependabot[bot], #36633) build(deps): bump jiff from 0.2.8 to 0.2.9 (#36633) +-https://github.com/servo/servo/pull/36633 (@dependabot[bot], @dependabot[bot], #36633) build(deps): bump jiff from 0.2.8 to 0.2.9 (#36633) # Bumps [jiff](https://github.com/BurntSushi/jiff) from 0.2.8 to 0.2.9. # Changelog # Sourced from jiff's changelog. @@ -2627,7 +2627,7 @@ https://github.com/servo/servo/pull/36573 (@PartiallyUntyped, #36573) [tracing] # Closes: #36534 # Testing: # - Pass in sample test cases and compare against expected behaviour. -https://github.com/servo/servo/pull/36653 (@dependabot[bot], @dependabot[bot], #36653) build(deps): bump async-compression from 0.4.22 to 0.4.23 (#36653) +-https://github.com/servo/servo/pull/36653 (@dependabot[bot], @dependabot[bot], #36653) build(deps): bump async-compression from 0.4.22 to 0.4.23 (#36653) # Bumps [async-compression](https://github.com/Nullus157/async-compression) from 0.4.22 to 0.4.23. # Changelog # Sourced from async-compression's changelog. @@ -2651,7 +2651,7 @@ https://github.com/servo/servo/pull/36653 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36652 (@dependabot[bot], @dependabot[bot], #36652) build(deps): bump libm from 0.2.12 to 0.2.13 (#36652) +-https://github.com/servo/servo/pull/36652 (@dependabot[bot], @dependabot[bot], #36652) build(deps): bump libm from 0.2.12 to 0.2.13 (#36652) # Bumps [libm](https://github.com/rust-lang/compiler-builtins) from 0.2.12 to 0.2.13. # Release notes # Sourced from libm's releases. @@ -2674,7 +2674,7 @@ https://github.com/servo/servo/pull/36648 (@pewsheen, #36648) chore: remove unne # remove `webrender_document` in script and constellation's pipeline # Testing: `webrender_document` in script crate is not being referenced anywhere in the Servo, should be safe to remove. # Fixes: https://github.com/servo/servo/issues/36647 -https://github.com/servo/servo/pull/36646 (@dependabot[bot], @dependabot[bot], #36646) build(deps): bump aws-lc-sys from 0.28.1 to 0.28.2 (#36646) +-https://github.com/servo/servo/pull/36646 (@dependabot[bot], @dependabot[bot], #36646) build(deps): bump aws-lc-sys from 0.28.1 to 0.28.2 (#36646) # Bumps [aws-lc-sys](https://github.com/aws/aws-lc-rs) from 0.28.1 to 0.28.2. # Commits # af4d199 Bump aws-lc-sys to v0.28.2 (#785) @@ -2688,7 +2688,7 @@ https://github.com/servo/servo/pull/36646 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36645 (@dependabot[bot], @dependabot[bot], #36645) build(deps): bump jiff from 0.2.9 to 0.2.10 (#36645) +-https://github.com/servo/servo/pull/36645 (@dependabot[bot], @dependabot[bot], #36645) build(deps): bump jiff from 0.2.9 to 0.2.10 (#36645) # Bumps [jiff](https://github.com/BurntSushi/jiff) from 0.2.9 to 0.2.10. # Changelog # Sourced from jiff's changelog. @@ -2712,7 +2712,7 @@ https://github.com/servo/servo/pull/36645 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36644 (@dependabot[bot], @dependabot[bot], #36644) build(deps): bump libm from 0.2.11 to 0.2.12 (#36644) +-https://github.com/servo/servo/pull/36644 (@dependabot[bot], @dependabot[bot], #36644) build(deps): bump libm from 0.2.11 to 0.2.12 (#36644) # Bumps [libm](https://github.com/rust-lang/compiler-builtins) from 0.2.11 to 0.2.12. # Release notes # Sourced from libm's releases. @@ -2776,7 +2776,7 @@ https://github.com/servo/servo/pull/36642 (@sagudev, #36642) Fixup dependabot.ym # fixups https://github.com/servo/servo/pull/36641, as yaml was not valid (one ` ` to many). # Testing: No testing for bot config. >>> 2025-04-24T06:04:39Z -https://github.com/servo/servo/pull/36671 (@dependabot[bot], @dependabot[bot], #36671) build(deps): bump tokio-util from 0.7.14 to 0.7.15 (#36671) +-https://github.com/servo/servo/pull/36671 (@dependabot[bot], @dependabot[bot], #36671) build(deps): bump tokio-util from 0.7.14 to 0.7.15 (#36671) # Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.14 to 0.7.15. # Commits # 4d4d126 chore: prepare tokio-util v0.7.15 (#7283) @@ -2798,7 +2798,7 @@ https://github.com/servo/servo/pull/36671 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36670 (@dependabot[bot], @dependabot[bot], #36670) build(deps): bump getrandom from 0.2.15 to 0.2.16 (#36670) +-https://github.com/servo/servo/pull/36670 (@dependabot[bot], @dependabot[bot], #36670) build(deps): bump getrandom from 0.2.15 to 0.2.16 (#36670) # Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.15 to 0.2.16. # Changelog # Sourced from getrandom's changelog. @@ -2879,7 +2879,7 @@ https://github.com/servo/servo/pull/36662 (@mrobinson, #36662) compositor: Tick # animting at once. # Testing: This is covered by existing WPT tests as it mainly just improve # animation efficiency in a particular case. -https://github.com/servo/servo/pull/36685 (@dependabot[bot], @dependabot[bot], #36685) build(deps): bump winnow from 0.7.6 to 0.7.7 (#36685) +-https://github.com/servo/servo/pull/36685 (@dependabot[bot], @dependabot[bot], #36685) build(deps): bump winnow from 0.7.6 to 0.7.7 (#36685) # Bumps [winnow](https://github.com/winnow-rs/winnow) from 0.7.6 to 0.7.7. # Changelog # Sourced from winnow's changelog. @@ -2905,7 +2905,7 @@ https://github.com/servo/servo/pull/36685 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36683 (@dependabot[bot], @dependabot[bot], #36683) build(deps): bump derive_more from 0.99.19 to 0.99.20 (#36683) +-https://github.com/servo/servo/pull/36683 (@dependabot[bot], @dependabot[bot], #36683) build(deps): bump derive_more from 0.99.19 to 0.99.20 (#36683) # Bumps [derive_more](https://github.com/JelteF/derive_more) from 0.99.19 to 0.99.20. # Changelog # Sourced from derive_more's changelog. @@ -2986,7 +2986,7 @@ https://github.com/servo/servo/pull/36623 (@TimvdLippe, #36623) Support CSP repo # else. # Part of #36437 # Requires servo/rust-content-security-policy#5 -https://github.com/servo/servo/pull/36695 (@dependabot[bot], @dependabot[bot], #36695) build(deps): bump cc from 1.2.19 to 1.2.20 (#36695) +-https://github.com/servo/servo/pull/36695 (@dependabot[bot], @dependabot[bot], #36695) build(deps): bump cc from 1.2.19 to 1.2.20 (#36695) # Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.19 to 1.2.20. # Release notes # Sourced from cc's releases. @@ -3058,7 +3058,7 @@ https://github.com/servo/servo/pull/27041 (@jdm, #27041) Report exceptions for a # * https://w3c.github.io/webdriver/#dfn-clone-an-object # * https://w3c.github.io/webdriver/#execute-async-script >>> 2025-04-27T06:07:08Z -https://github.com/servo/servo/pull/36708 (@servo-wpt-sync, #36708) Sync WPT with upstream (27-04-2025) (#36708) +-https://github.com/servo/servo/pull/36708 (@servo-wpt-sync, #36708) Sync WPT with upstream (27-04-2025) (#36708) # Automated downstream sync of changes from upstream as of 27-04-2025 # [no-wpt-sync] https://github.com/servo/servo/pull/36705 (@simonwuelker, #36705) Use snapshot size instead of canvas size when converting canvas to blob (#36705) @@ -3095,7 +3095,7 @@ https://github.com/servo/servo/pull/36704 (@Taym95, #36704) Determine if ResizeT # Spec says to check If target is not an auxiliary browsing context before performing ResizeTo. # Fixes: #36701 >>> 2025-04-29T06:08:21Z -https://github.com/servo/servo/pull/36733 (@dependabot[bot], @dependabot[bot], #36733) build(deps): bump toml_datetime from 0.6.8 to 0.6.9 (#36733) +-https://github.com/servo/servo/pull/36733 (@dependabot[bot], @dependabot[bot], #36733) build(deps): bump toml_datetime from 0.6.8 to 0.6.9 (#36733) # Bumps [toml_datetime](https://github.com/toml-rs/toml) from 0.6.8 to 0.6.9. # Commits # 4021081 chore: Release @@ -3117,7 +3117,7 @@ https://github.com/servo/servo/pull/36733 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36736 (@dependabot[bot], @dependabot[bot], #36736) build(deps): bump toml_edit from 0.22.24 to 0.22.25 (#36736) +-https://github.com/servo/servo/pull/36736 (@dependabot[bot], @dependabot[bot], #36736) build(deps): bump toml_edit from 0.22.24 to 0.22.25 (#36736) # Bumps [toml_edit](https://github.com/toml-rs/toml) from 0.22.24 to 0.22.25. # Commits # 4021081 chore: Release @@ -3139,7 +3139,7 @@ https://github.com/servo/servo/pull/36736 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36738 (@dependabot[bot], @dependabot[bot], #36738) build(deps): bump quick-xml from 0.37.4 to 0.37.5 (#36738) +-https://github.com/servo/servo/pull/36738 (@dependabot[bot], @dependabot[bot], #36738) build(deps): bump quick-xml from 0.37.4 to 0.37.5 (#36738) # Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.4 to 0.37.5. # Release notes # Sourced from quick-xml's releases. @@ -3170,7 +3170,7 @@ https://github.com/servo/servo/pull/36738 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36732 (@dependabot[bot], @dependabot[bot], #36732) build(deps): bump web_atoms from 0.1.0 to 0.1.1 (#36732) +-https://github.com/servo/servo/pull/36732 (@dependabot[bot], @dependabot[bot], #36732) build(deps): bump web_atoms from 0.1.0 to 0.1.1 (#36732) # Bumps [web_atoms](https://github.com/servo/html5ever) from 0.1.0 to 0.1.1. # Commits # 15d10bf v0.1.1 @@ -3188,7 +3188,7 @@ https://github.com/servo/servo/pull/36732 (@dependabot[bot], @dependabot[bot], # # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36735 (@dependabot[bot], @dependabot[bot], #36735) build(deps): bump syn from 2.0.100 to 2.0.101 (#36735) +-https://github.com/servo/servo/pull/36735 (@dependabot[bot], @dependabot[bot], #36735) build(deps): bump syn from 2.0.100 to 2.0.101 (#36735) # Bumps [syn](https://github.com/dtolnay/syn) from 2.0.100 to 2.0.101. # Release notes # Sourced from syn's releases. From a7161b308b62f6235de2f335dd45a4ccc91cb9f9 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Thu, 1 May 2025 13:53:20 +0800 Subject: [PATCH 16/81] Add tip about triaging commits --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d8ffdf0e4..be25c1eac 100644 --- a/README.md +++ b/README.md @@ -372,6 +372,8 @@ $ tools/list-commits-by-nightly.sh ~/code/servo tools/pulls-2025-01-2025-02.json - To write some notes or additional context, append `; your notes` to that new tags line - Generate the outline: `tools/generate-outline.sh commits.txt` +**TIP:** if you’re faced with hundreds of commits and it’s a real slog, try triaging the commits of one author at a time. Each author probably only works on a few things each month, so it’s a lot easier to keep the context of their work in your head. + ## Hints for writing about changes **Always check the correct names of people and API features.** People like it when their names are spelled correctly, of course, but sometimes authors refer to API features by incorrect names. When in doubt, check the spec. For example, [servo#32642](https://github.com/servo/servo/pull/32642) says “ShaderCompilationInfo” in the title, but the interface is actually [GPUCompilationInfo](https://developer.mozilla.org/en-US/docs/Web/API/GPUCompilationInfo), returned by the [getCompilationInfo() method on GPUShaderModule](https://developer.mozilla.org/en-US/docs/Web/API/GPUShaderModule/getCompilationInfo) ([July 2024](https://servo.org/blog/2024/07/31/this-month-in-servo/)). From 4f11001f75a9fbd4b3ebe32f5849569e83f0bb62 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Thu, 1 May 2025 13:59:38 +0800 Subject: [PATCH 17/81] Triage 62/239 of the remaining commits --- commits.txt | 171 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 109 insertions(+), 62 deletions(-) diff --git a/commits.txt b/commits.txt index 46a76aeb5..3168b1556 100644 --- a/commits.txt +++ b/commits.txt @@ -143,7 +143,7 @@ https://github.com/servo/servo/pull/36230 (@jdm, #36230) script: Fix resize obse # Follow the specification more closely by using the flat tree when calculating depth for the resize observer. # Testing: Newly passing WPT test. # Fixes: #36092 -https://github.com/servo/servo/pull/36233 (@simonwuelker, #36233) Remove interior mutability from `ResizeObservation` (#36233) +-https://github.com/servo/servo/pull/36233 (@simonwuelker, #36233) Remove interior mutability from `ResizeObservation` (#36233) # This is struct is always already wrapped in a RefCell by `ResizeObserver`. It is not exposed to JS itself, so it # doesn't need `RefCell`s. # Testing: Covered by existing WPT tests @@ -168,7 +168,8 @@ https://github.com/servo/servo/pull/36221 (@jdm, #36221) Enable service worker W # these tests running even if nobody is actively working on implementing the feature right now, since they would # have caught the crash sooner. >>> 2025-04-02T06:12:13Z -https://github.com/servo/servo/pull/36276 (@mrobinson, #36276) libservo: Remove a couple `EmbedderMethods` (#36276) ++https://github.com/servo/servo/pull/36276 (@mrobinson, #36276) libservo: Remove a couple `EmbedderMethods` (#36276) + embedding # - Remove `EmbedderMethods::get_user_agent_string`. This is now part of # the `Preferences` data structure, which should allow it to be # per-`WebView` in the future. @@ -184,7 +185,8 @@ https://github.com/servo/servo/pull/36276 (@mrobinson, #36276) libservo: Remove # Testing: There is currently no testing for libservo. These changes are meant # as preparation for adding a suite of `WebView` unit tests. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36281 (@TimvdLippe, #36281) Remove meta-legacy-layout wpt tests (#36281) ++https://github.com/servo/servo/pull/36281 (@TimvdLippe, #36281) Remove meta-legacy-layout wpt tests (#36281) + legacy # These tests were related to the legacy layout engine which has been removed. # Therefore, they are considered leftover and can be removed. # Fixes #36277 @@ -288,13 +290,15 @@ https://github.com/servo/servo/pull/36257 (@stevennovaryo, #36257) canvas: Imple # Implement `setLineDash`, `getLineDash`, and `lineDashOffset` from `CanvasPathDrawingStyles` mixin, according to # the spec https://html.spec.whatwg.org/multipage/canvas.html#canvaspathdrawingstyles. # Testing: Existing WPT. -https://github.com/servo/servo/pull/36248 (@Loirooriol, #36248) Implement CSSNestedDeclarations (#36248) ++https://github.com/servo/servo/pull/36248 (@Loirooriol, #36248) Implement CSSNestedDeclarations (#36248) + css; nesting # This is the CSSOM interface that represents a nested declarations rule. # https://drafts.csswg.org/css-nesting/#the-cssnestrule # Testing: `/_mozilla/mozilla/interfaces.https.html`. And once `CSSStyleRule` becomes a `CSSGroupingRule` subclass, # this will be further covered by `/css/css-nestting/`. # This is part of #36245 -https://github.com/servo/servo/pull/36249 (@Loirooriol, #36249) Enable CSS parent selector (`&`) (#36249) ++https://github.com/servo/servo/pull/36249 (@Loirooriol, #36249) Enable CSS parent selector (`&`) (#36249) + css; nesting # Bumps Stylo to servo/stylo#164 # Changelog: # https://github.com/servo/stylo/compare/bc4717c7842ad59243f00ae76ba23f998c749b94...600b5c42970fdbe301f18c013a0f0ca4ed5f08 @@ -319,7 +323,7 @@ https://github.com/servo/servo/pull/36236 (@MDCODE247, #36236) script: Use `RegE # passed successfully. # Fixes: #36075 >>> 2025-04-03T06:09:09Z -https://github.com/servo/servo/pull/36282 (@gterzian, #36282) Add license for WHATWG specifications in code (#36282) +-https://github.com/servo/servo/pull/36282 (@gterzian, #36282) Add license for WHATWG specifications in code (#36282) # Add license for WHATWG specs incorporated into source code, as per the [TSC # discussion](https://github.com/servo/project/blob/db2f4074d4a369beb16f23ccc010ba73a3fc9662/governance/tsc/tsc-2025-03-31 # .md#add-license-for-whatwg-specs-incorporated-into-source-code). @@ -525,7 +529,8 @@ https://github.com/servo/servo/pull/36274 (@andrei.volykhin@gmail.com, #36274) d # - form implicit submission # (https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#implicit-submission) # - keyboard activation (space) -https://github.com/servo/servo/pull/36223 (@mrobinson, #36223) libservo: Start moving `WindowMethods` to `WebViewDelegate` (#36223) ++https://github.com/servo/servo/pull/36223 (@mrobinson, #36223) libservo: Start moving `WindowMethods` to `WebViewDelegate` (#36223) + embedding # `WindowMethods` is used by the embedding layer to get information from # the embedder. This change moves the functionality for getting screen # size and `WebView` offsets to `WebViewDelegate`. @@ -534,7 +539,7 @@ https://github.com/servo/servo/pull/36223 (@mrobinson, #36223) libservo: Start m # to be per-`WebView` and not global to the embedder. HiDPI and animation # state functionality will move to the embedder in subsequent changes. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36238 (@shubhamg13, #36238) Fix broken unit-test of webview (#36238) +-https://github.com/servo/servo/pull/36238 (@shubhamg13, #36238) Fix broken unit-test of webview (#36238) # This PR fixes the broken unit-test after [#35662](https://github.com/servo/servo/pull/35662) # Testing: Verified locally and CI confirms too. # Fixes: Migrate the test to use new API @@ -594,7 +599,8 @@ https://github.com/servo/servo/pull/36311 (@Loirooriol, #36311) layout: Improve # - `/css/css-grid/alignment/grid-item-alignment-with-orthogonal-flows.html` # - `/css/css-grid/alignment/grid-row-axis-alignment-sticky-positioned-items-001.html` # - `/css/css-grid/alignment/grid-self-alignment.html` -https://github.com/servo/servo/pull/35684 (@simonwuelker, #35684) Support single-value `` elements (#35684) + html # https://github.com/user-attachments/assets/9aba75ff-4190-4a85-89ed-d3f3aa53d3b0 # Among other things this adds a new `EmbedderMsg::ShowSelectElementMenu` to tell the embedder to display a select # popup at the given location. @@ -632,7 +638,8 @@ https://github.com/servo/servo/pull/36301 (@sebsebmc@gmail.com, @sagudev, #36301 # This should make the `js/builtins/weakrefs` tests run faster and more consistently. # This change will enable other WPT tests but no tests exist currently for TestUtils itself. # Fixes: #36290 -https://github.com/servo/servo/pull/36341 (@mrobinson, #36341) constellation: Rename messages sent to the `Constellation` (#36341) ++https://github.com/servo/servo/pull/36341 (@mrobinson, #36341) constellation: Rename messages sent to the `Constellation` (#36341) + architecture # Messages that are sent to the `Constellation` have pretty ambiguous names. # This change does two renames: # - `ConstellationMsg` → `EmbedderToConstellationMessage` @@ -644,13 +651,14 @@ https://github.com/servo/servo/pull/36341 (@mrobinson, #36341) constellation: Re # responsible for exposing the API for that crate. # Testing: No new tests are necessary here as this just renames two enums. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36329 (@webbeef, #36329) Prevent zombie processes in multi-process mode. (#36329) ++https://github.com/servo/servo/pull/36329 (@webbeef, #36329) Prevent zombie processes in multi-process mode. (#36329) + multiprocess # This introduces a process manager that holds for each process a "lifeline": this is the receiving end of a ipc # channel that is not used to send anything, but only to monitor the process presence. We turn that ipc receiver into a # crossbeam one to integrate the monitoring into the constellation run loop. The sender side is made part of the initial # "UnprivilegedContent" data structure sent to the new process, both for content and for service worker processes. # When a process dies we currently wait() on it to let the OS do a clean shutdown. -https://github.com/servo/servo/pull/36343 (@mrobinson, #36343) script: Remove code dealing with `CompositorUntrustedNode` (#36343) +-https://github.com/servo/servo/pull/36343 (@mrobinson, #36343) script: Remove code dealing with `CompositorUntrustedNode` (#36343) # There used to be two kinds of untrusted nodes, but these have been # unified, so the duplicate methods dealing with them in `script` can be # removed. @@ -760,7 +768,8 @@ https://github.com/servo/servo/pull/36343 (@mrobinson, #36343) script: Remove co # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36312 (@mrobinson, #36312) constellation: Stop assuming that the viewport is shared by all WebViews (#36312) ++https://github.com/servo/servo/pull/36312 (@mrobinson, #36312) constellation: Stop assuming that the viewport is shared by all WebViews (#36312) + embedding; per-webview dpi and zoom # The `Constellation` previously held a `window_size` member, but this # assumes that all `WebView`s have the same size. This change removes that # assumption as well as making sure that all `WebView`s pass their size @@ -779,14 +788,15 @@ https://github.com/servo/servo/pull/36312 (@mrobinson, #36312) constellation: St # Testing: This is covered by existing tests. There should be no behavior changes. # Fixes: This is part of #36232. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36339 (@Loirooriol, #36339) Remove layout_writing_mode_enabled from experimental features (#36339) +-https://github.com/servo/servo/pull/36339 (@Loirooriol, #36339) Remove layout_writing_mode_enabled from experimental features (#36339) # Running tests with --enable-experimental-web-platform-features would make so many of them fail asserts because of # this feature. # Testing: No need to test since `--enable-experimental-web-platform-features` isn't used by default # This is part of #36315 https://github.com/servo/servo/pull/36334 (@rego@igalia.com, #36334) wpt: Unskip webaudio tests as most are passing (#36334) # null -https://github.com/servo/servo/pull/36332 (@mrobinson, #36332) script: Remove dependency on `webgpu` (#36332) ++https://github.com/servo/servo/pull/36332 (@mrobinson, #36332) script: Remove dependency on `webgpu` (#36332) + script; rebuild webgpu without rebuilding script # After #36320, `script` only depends on `webgpu` for its type aliases to # `wgpu_core` and `wgpu_types`. This change removes the dependency on # `webgpu` in favor of depending directly on the upstream crates. This @@ -814,7 +824,8 @@ https://github.com/servo/servo/pull/36070 (@jschwe, #36070) mach: Fix cross-comp # with failing compiler checks. Switching to Ninja fixes that issue. # The CMake build rules of aws-lc-rs also make use of `tr` and assume it is installed, hence we provide a helpful # error message suggesting to try using mach from `git bash` which does provide the `tr` command. -https://github.com/servo/servo/pull/36320 (@mrobinson, #36320) webgpu: Add a `webgpu_traits` crate (#36320) ++https://github.com/servo/servo/pull/36320 (@mrobinson, #36320) webgpu: Add a `webgpu_traits` crate (#36320) + script; webgpu dependency # This breaks the `script_traits` dependency on `webgpu`. In general, the # `traits` crates shouldn't depend on Servo non-`traits` crates. This is # necessary to move "script to constellation" messages to the @@ -823,11 +834,12 @@ https://github.com/servo/servo/pull/36320 (@mrobinson, #36320) webgpu: Add a `we # Testing: Successfully building is enough of a test for this one as # it is mainly moving types around. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36302 (@shubhamg13, #36302) Separate `WebviewManager` from `Webview` in `compositor` and `constellation` (#36302) +-https://github.com/servo/servo/pull/36302 (@shubhamg13, #36302) Separate `WebviewManager` from `Webview` in `compositor` and `constellation` (#36302) # Create a separate file for `WebviewManager` to improve clarity. # Testing: This change is just a refactor, so no new tests are needed. # cc: @xiaochengh -https://github.com/servo/servo/pull/36323 (@jdm, #36323) Move generated bindings to script_bindings (#36323) ++https://github.com/servo/servo/pull/36323 (@jdm, #36323) Move generated bindings to script_bindings (#36323) + script; crate split done! script rebuilds take 50% less time # This is the final step of #1799, where the majority of the generated code for the JS bindings is # now compiled as part of the script_bindings build step. The remaining pieces in script must live # there because they refer to concrete DOM types; all code in script_bindings is generic over the @@ -856,7 +868,8 @@ https://github.com/servo/servo/pull/36338 (@sakupi1101@outlook.jp, #36338) Fix: # new WPT test to verify that same-origin non-CSS MIME type resources are properly treated as CSS in quirks mode. # Testing: Added a new WPT test (`quirk-origin-check-positive.html`) that verifies the positive case for this quirk. # Fixes: https://github.com/servo/servo/issues/36324 -https://github.com/servo/servo/pull/36364 (@mrobinson, #36364) Move `ScriptToConstellationMsg` to `constellation_traits` (#36364) ++https://github.com/servo/servo/pull/36364 (@mrobinson, #36364) Move `ScriptToConstellationMsg` to `constellation_traits` (#36364) + architecture # This is the last big change necessary to create the # `constellation_traits` crate. This moves the data structure for messages # that originate from the `ScriptThread` and are sent to the @@ -895,7 +908,8 @@ https://github.com/servo/servo/pull/36361 (@kkoyung, #36361) structuredclone::re # write function. # Testing: It doesn't require tests. # Fixes: #36217 -https://github.com/servo/servo/pull/35863 (@webbeef, #35863) Make the memory reporting multi-process aware (#35863) ++https://github.com/servo/servo/pull/35863 (@webbeef, #35863) Make the memory reporting multi-process aware (#35863) + multiprocess # So far the memory reporter aggregates reports from all processes, and runs the system reporter only in the main # process. Instead it is desirable to have per-process reports. We do so by: # - creating a ProcessReports struct that holds includes the pid in addition to the reports themselves. @@ -925,7 +939,8 @@ https://github.com/servo/servo/pull/36252 (@elomscansio, #36252) Fix radio group # - A **checked radio button was removed** from the DOM. # - A **different radio button was selected** by user interaction. # This behavior caused mismatches with how browsers like Firefox handle radio group validation. -https://github.com/servo/servo/pull/36372 (@mrobinson, #36372) `compositing`: Combine `webrender_traits` and `compositing_traits` (#36372) ++https://github.com/servo/servo/pull/36372 (@mrobinson, #36372) `compositing`: Combine `webrender_traits` and `compositing_traits` (#36372) + architecture # These two traits both exposed different parts of the compositing API, # but now that the compositor doesn't depend directly on `script` any # longer and the `script_traits` crate has been split into the @@ -1060,7 +1075,8 @@ https://github.com/servo/servo/pull/36391 (@simonwuelker, #36391) Split up the U https://github.com/servo/servo/pull/36382 (@simonwuelker, #36382) Create a parser for URLPatterns (#36382) # This change implements the pattern parser, completing the "parsing pipeline" for URL patterns. # Testing: Primarily `urlpattern/urlpattern-hasregexpgroups.any.js`, some other subtests start to pass too. -https://github.com/servo/servo/pull/36317 (@mrobinson, #36317) layout: Add initial support for the `::marker` pseudo-element (#36317) ++https://github.com/servo/servo/pull/36317 (@mrobinson, #36317) layout: Add initial support for the `::marker` pseudo-element (#36317) + css; internal support; no ‘content’ yet # This change adds support for the `::marker` pseudo-element and ensure that # markers are cached into the box tree. This is only initial support, there are a few # things missing such as animations, transitions, and support the `content` CSS @@ -1081,7 +1097,8 @@ https://github.com/servo/servo/pull/36383 (@uthmaniv, #36383) Remove trailing sp # Fixes: https://github.com/servo/servo/issues/36380 https://github.com/servo/servo/pull/35978 (@yezhizhen, #35978) Fix transition toggle & cancellation & delay (#35978) # More details in Stylo PR: https://github.com/servo/stylo/pull/145 -https://github.com/servo/servo/pull/36374 (@Tobias.frischmann1@gmail.com, @mrobinson, @jdm, #36374) layout: Scale images in `image_set` by their specified resolution (#36374) ++https://github.com/servo/servo/pull/36374 (@Tobias.frischmann1@gmail.com, @mrobinson, @jdm, #36374) layout: Scale images in `image_set` by their specified resolution (#36374) + css; image-set() # This PR makes it so the `resolution` factor in `image-set` also affects the image size. # For instance, in the example below: # ```css @@ -1239,7 +1256,8 @@ https://github.com/servo/servo/pull/36402 (@jdm, #36402) Run subset of CSP tests # This will establish a baseline for the changes from #36363. # Testing: New tests in CI. # Fixes: Part of #4577 -https://github.com/servo/servo/pull/36164 (@delan, @atbrakhi, #36164) Devtools: initial Debugger > Sources panel (#36164) ++https://github.com/servo/servo/pull/36164 (@delan, @atbrakhi, #36164) Devtools: initial Debugger > Sources panel (#36164) + devtools # This patch adds support for listing scripts in the Sources panel. Classic scripts, both external and inline, # are implemented, but worker scripts and imported module scripts are not yet implemented. # For example: @@ -1268,7 +1286,8 @@ https://github.com/servo/servo/pull/36347 (@barigbuenbira@gmail.com, #36347) ref # Use `is_zero()` instead of comparing with `Au::Zero()` for zero checks. # Testing: This change does not cause behaviour change, a test is not necessary. # Fixes: #36300 -https://github.com/servo/servo/pull/36400 (@mrobinson, #36400) libservo: Move animation tracking from `WindowMethods` to delegates (#36400) ++https://github.com/servo/servo/pull/36400 (@mrobinson, #36400) libservo: Move animation tracking from `WindowMethods` to delegates (#36400) + embedding # This changes removes animation tracking from the `WindowMethods` trait # and moves it to `ServoDelegate` and `WebViewDelegate`. # - Animation changes per-`WebView` are now triggered in the compositor @@ -1341,7 +1360,8 @@ https://github.com/servo/servo/pull/36403 (@Gae24, #36403) script: Correctly con # Fixes an oversight of #36097, in which converting to a Promise would fail if the value passed wasn't actually a # Promise, while in binding code we actually call `Promise::new_resolved` on the value. # Testing: There are wpt tests that should pass now -https://github.com/servo/servo/pull/36420 (@mrobinson, #36420) libservo: Move `EventLooperWaker` from `webxr_traits` to `embedder_traits` (#36420) ++https://github.com/servo/servo/pull/36420 (@mrobinson, #36420) libservo: Move `EventLooperWaker` from `webxr_traits` to `embedder_traits` (#36420) + embedding # Now that `webxr` is integrated into the Servo directory, `webxr` can # depend on `embedder_traits` instead of having it re-export this type # conditionally (and sometimes duplicating it). @@ -1369,7 +1389,8 @@ https://github.com/servo/servo/pull/36420 (@mrobinson, #36420) libservo: Move `E # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36404 (@mrobinson, @Loirooriol, #36404) layout: Enable using cached fragments when there is a BoxTree update point (#36404) ++https://github.com/servo/servo/pull/36404 (@mrobinson, @Loirooriol, #36404) layout: Enable using cached fragments when there is a BoxTree update point (#36404) + incremental # This starts to enable the fragment cache for all layout modes, except # grid. The main tricky bit here is that update points are absolutes and # these need to be laid out again in their containing blocks. We punt a @@ -1417,7 +1438,8 @@ https://github.com/servo/servo/pull/36411 (@Loirooriol, #36411) Add serde and wg # Version 0.5.14 has been yanked because it could trigger a double free. # https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-channel-0.5.14...crossbeam-channel-0.5.15 >>> 2025-04-11T06:06:29Z -https://github.com/servo/servo/pull/36448 (@mrobinson, @Loirooriol, #36448) layout: Add documentation for `CacheableLayoutResultAndInputs` (#36448) ++https://github.com/servo/servo/pull/36448 (@mrobinson, @Loirooriol, #36448) layout: Add documentation for `CacheableLayoutResultAndInputs` (#36448) + incremental # null https://github.com/servo/servo/pull/36429 (@atouchet, #36429) Replace bluetooth Readme with corrected version from devices repository (#36429) # This Readme is for a different crate located in https://github.com/servo/servo/tree/main/third_party/blurmac. Was @@ -1546,7 +1568,7 @@ https://github.com/servo/servo/pull/36455 (@sebsebmc@gmail.com, #36455) Manually # not use the normal combining algorithm and values should be joined with `,` (comma). # Testing: WPT tests exist # Fixes: temporary fix for #36451 until hyperium/headers#207 is fixed -https://github.com/servo/servo/pull/36471 (@mrobinson, @Loirooriol, #36471) layout: Eliminate extra stored style on outside markers (#36471) ++https://github.com/servo/servo/pull/36471 (@mrobinson, @Loirooriol, #36471) layout: Eliminate extra stored style on outside markers (#36471) # This is a duplicate of the style stored on the marker's `LayoutBoxBase`. # Testing: This is covered by existings WPT tests. https://github.com/servo/servo/pull/36472 (@Loirooriol, #36472) Cleanup after #36461 (#36472) @@ -1622,7 +1644,8 @@ https://github.com/servo/servo/pull/36454 (@TimvdLippe, @jdm, #36454) Implement https://github.com/servo/servo/pull/36487 (@sebsebmc@gmail.com, #36487) Update ProgressEvent to use doubles (#36487) # See: https://github.com/whatwg/xhr/pull/394 # Testing: WPT tests exist for this -https://github.com/servo/servo/pull/36443 (@mrobinson, #36443) compositor: Unify the cross process and in-process API (#36443) ++https://github.com/servo/servo/pull/36443 (@mrobinson, #36443) compositor: Unify the cross process and in-process API (#36443) + embedding; working towards more robust embedding that can destroy and recreate servo instances # Because there used to be two traits exposing messages to the compositor, # there were two kinds of messages that could be sent: # 1. In-process messages from the `Constellation` @@ -1637,7 +1660,8 @@ https://github.com/servo/servo/pull/36443 (@mrobinson, #36443) compositor: Unify # This is part of #36442. # Testing: This is covered by existing WPT tests. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36484 (@mrobinson, #36484) compositing: Send `CompositorDisplayListInfo` as bytes to compositor (#36484) ++https://github.com/servo/servo/pull/36484 (@mrobinson, #36484) compositing: Send `CompositorDisplayListInfo` as bytes to compositor (#36484) + embedding; related to unified compositor # `CompositorDisplayListInfo` is a large data structure that scales with # the size of the display list. Serializing it onto the Compositor's IPC # channel can cause deadlocks. This change serializes it with bincode and @@ -1646,14 +1670,16 @@ https://github.com/servo/servo/pull/36484 (@mrobinson, #36484) compositing: Send # compositor API is unified. # Testing: This is covered by existing WPT tests. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36483 (@mrobinson, #36483) libservo: Create a `WebViewBuilder` class to construct `WebView`s (#36483) ++https://github.com/servo/servo/pull/36483 (@mrobinson, #36483) libservo: Create a `WebViewBuilder` class to construct `WebView`s (#36483) + embedding # This exposes a new method of creating `WebView`s using the Rust builder # pattern. This will be more important as we add more kinds of # configuration options for `WebView` such as size and HiDPI scaling. # Testing: The API currently doesn't have tests, but functionality is # ensured by the fact that servoshell is the test harness. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36440 (@mrobinson, #36440) libservo: Add a very simple `libservo` API test (#36440) ++https://github.com/servo/servo/pull/36440 (@mrobinson, #36440) libservo: Add a very simple `libservo` API test (#36440) + embedding # libservo: Add a very simple `libservo` API test # This is the first step toward adding full testing for the `WebView` API. # The test added here simply starts up a Servo instance and verifies that @@ -1665,7 +1691,8 @@ https://github.com/servo/servo/pull/36469 (@Loirooriol, #36469) layout: Enforce # This was handled in `Sizes::resolve()`, but flex items don't use that. So this patch moves the logic into # `Size::resolve_for_min()`. # Testing: Covered by WPT -https://github.com/servo/servo/pull/36447 (@mrobinson, @Loirooriol, #36447) layout: Store table parts in DOM layout data (#36447) ++https://github.com/servo/servo/pull/36447 (@mrobinson, @Loirooriol, #36447) layout: Store table parts in DOM layout data (#36447) + incremental # When laying out tables, store the boxes of non-anonymous table parts in # their respective DOM objects. This is going to be important for # incremental layout, but also for mapping from the DOM to the box tree @@ -1676,7 +1703,8 @@ https://github.com/servo/servo/pull/36447 (@mrobinson, @Loirooriol, #36447) layo # WPT. # Co-authored-by: Oriol Brufau # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36474 (@mrobinson, @Loirooriol, #36474) layout: Box `block_margins_collapsed_with_children` member of `BoxFragment` (#36474) ++https://github.com/servo/servo/pull/36474 (@mrobinson, @Loirooriol, #36474) layout: Box `block_margins_collapsed_with_children` member of `BoxFragment` (#36474) + perf; memory usage # This reduces the size of `BoxFragment` by around 20 bytes. # Testing: This just changes the layout of a data structure, so is # covered by existing WPT tests. @@ -1728,7 +1756,7 @@ https://github.com/servo/servo/pull/36492 (@yerke, #36492) add CanGc as argument # Testing: These changes do not require tests because they are a refactor. # Addresses part of https://github.com/servo/servo/issues/34573. >>> 2025-04-15T06:44:00Z -https://github.com/servo/servo/pull/36524 (@webbeef, #36524) Remove unused pref: dom_forcetouch_enabled (#36524) +-https://github.com/servo/servo/pull/36524 (@webbeef, #36524) Remove unused pref: dom_forcetouch_enabled (#36524) # This is a leftover from e7c754fb64bf200cf64f7c7c4104f8489d117965 # Testing: removing unused pref, no testing needed. https://github.com/servo/servo/pull/36335 (@Loirooriol, #36335) Run all tests with --enable-experimental-web-platform-features (#36335) @@ -1876,7 +1904,8 @@ https://github.com/servo/servo/pull/36363 (@TimvdLippe, @jdm, #36363) Implement # [1]: # https://w3c.github.io/trusted-types/dist/spec/#abstract-opdef-should-trusted-type-policy-creation-be-blocked-by-content- # security-policy -https://github.com/servo/servo/pull/36513 (@mrobinson, @Loirooriol, #36513) layout: Add a `LayoutBoxBase` to inline boxes (#36513) ++https://github.com/servo/servo/pull/36513 (@mrobinson, @Loirooriol, #36513) layout: Add a `LayoutBoxBase` to inline boxes (#36513) + incremental # `LayoutBoxBase` will soon contain laid out `Fragment`s of a box tree # node in order to facilitate incremental layout and also layout queries. # This is currently missing for inline boxes, so this change adds a @@ -1889,7 +1918,8 @@ https://github.com/servo/servo/pull/36511 (@TimvdLippe, #36511) Gate `window.tru https://github.com/servo/servo/pull/36498 (@Gae24, #36498) async clipboard: implement `writeText` (#36498) # Implement enough of the Clipboard API to have a working `writeText`. # Testing: Unfortunately many clipboard-apis tests require testdriver, so only idlharness ones will pass now. -https://github.com/servo/servo/pull/36419 (@mrobinson, @shubham13297@gmail.com, #36419) libservo: Make zooming and HiDPI scaling work per-`WebView` (#36419) ++https://github.com/servo/servo/pull/36419 (@mrobinson, @shubham13297@gmail.com, #36419) libservo: Make zooming and HiDPI scaling work per-`WebView` (#36419) + embedding; per-webview dpi and zoom # libservo: Make zooming and HiDPI scaling work per-`WebView` # This change moves all zooming and HiDPI scaling to work per-`WebView` in # both libservo and Compositor. This means that you can pinch zoom one @@ -1908,10 +1938,11 @@ https://github.com/servo/servo/pull/36430 (@Loirooriol, #36430) layout: Let getC # The initial value of `min-width` and `min-height` was 0px in CSS2. However, CSS3 changed it to `auto`, so for # backwards compatibility, `getComputedStyle` needs to resolve it to 0px in a bunch of cases. # Testing: covered by WPT -https://github.com/servo/servo/pull/36509 (@mrobinson, #36509) compositing: Remove `IOCompositor::zoom_time` and `IOCompositor::zoom_action` (#36509) +-https://github.com/servo/servo/pull/36509 (@mrobinson, #36509) compositing: Remove `IOCompositor::zoom_time` and `IOCompositor::zoom_action` (#36509) # It seems that these two members are completely unused. # Testing: These changes are untested as they simply removed dead code. -https://github.com/servo/servo/pull/36485 (@mrobinson, #36485) libservo: Remove the unused `multiview` feature (#36485) +-https://github.com/servo/servo/pull/36485 (@mrobinson, #36485) libservo: Remove the unused `multiview` feature (#36485) + embedding; multiview # null >>> 2025-04-16T06:02:37Z https://github.com/servo/servo/pull/36552 (@kenzieradityatirtarahardja18@gmail.com, @kenzieradityatirtarahardja.18@gmail.com, #36552) Implement GetComputedRole in wd (#36552) @@ -1921,14 +1952,15 @@ https://github.com/servo/servo/pull/36467 (@kenzieradityatirtarahardja18@gmail.c # Refactor getting an element's container. Previously this is inlined and only done for `HTMLOptionElement`. # [Try](https://github.com/PotatoCP/servo/actions/runs/14399482275) # Fixes: #24106 -https://github.com/servo/servo/pull/36550 (@mrobinson, #36550) compositing: Remove `compositing_traits::MouseWindowEvent` (#36550) +-https://github.com/servo/servo/pull/36550 (@mrobinson, #36550) compositing: Remove `compositing_traits::MouseWindowEvent` (#36550) # This data structure is unused. # Testing: No tests as this just removes dead code. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36545 (@sidntrivedi012@gmail.com, #36545) build(deps): bump stylo from `c756a21` to `0eaeea3` (#36545) # This PR bumps stylo from [c756a21](https://github.com/servo/stylo/commit/c756a21864709dae8f85c564125bf92440aeaab5) # to [0eaeea3](https://github.com/servo/stylo/commit/0eaeea3dfd4aa0415529700353075ad1e1e47e5b). -https://github.com/servo/servo/pull/36543 (@mrobinson, #36543) compositor: Unify the cross process and in-process API (#36543) ++https://github.com/servo/servo/pull/36543 (@mrobinson, #36543) compositor: Unify the cross process and in-process API (#36543) + embedding; related to unified compositor # Because there used to be two traits exposing messages to the compositor, # there were two kinds of messages that could be sent: # 1. In-process messages from the `Constellation` @@ -2065,10 +2097,10 @@ https://github.com/servo/servo/pull/36543 (@mrobinson, #36543) compositor: Unify # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36522 (@webbeef, #36522) Switch to data_url::mime for document content type (#36522) +-https://github.com/servo/servo/pull/36522 (@webbeef, #36522) Switch to data_url::mime for document content type (#36522) # The data_url Mime parser has a more conformant behavior in most cases, including dealing with charsets. # Testing: wpt expectations with new passes are updated. -https://github.com/servo/servo/pull/36544 (@jschwe, #36544) Fix git failure on macos (#36544) +-https://github.com/servo/servo/pull/36544 (@jschwe, #36544) Fix git failure on macos (#36544) # Fixes the following warning: # ``` # warning: servoshell@0.0.1: Could not generate git version information: "dyld[59398]: Symbol not found: @@ -2088,7 +2120,8 @@ https://github.com/servo/servo/pull/36546 (@andrei.volykhin@gmail.com, #36546) c # - [x] There are tests for these changes # tests/wpt/tests/html/canvas/element/pixel-manipulation/2d.imageData* # tests/wpt/tests/html/canvas/offscreen/pixel-manipulation/2d.imageData* -https://github.com/servo/servo/pull/36521 (@Loirooriol, #36521) script: Implement CSSStyleSheet constructor (#36521) ++https://github.com/servo/servo/pull/36521 (@Loirooriol, #36521) script: Implement CSSStyleSheet constructor (#36521) + api # https://drafts.csswg.org/cssom/#dom-cssstylesheet-cssstylesheet # Testing: covered by WPT # This is part of #36162 @@ -2114,7 +2147,8 @@ https://github.com/servo/servo/pull/36531 (@jschwe, #36531) touch: Fix panic wit # we leave this unimplemented and simply only evaluate the left mouse button. # Testing: Manual testing. We don't have servodriver support yet. # Fixes: #36526 -https://github.com/servo/servo/pull/36533 (@mrobinson, #36533) Revert "compositor: Unify the cross process and in-process API (#36443)" (#36533) ++https://github.com/servo/servo/pull/36533 (@mrobinson, #36533) Revert "compositor: Unify the cross process and in-process API (#36443)" (#36533) + embedding; related to unified compositor # This reverts commit 4c55104b36c7b858a117a6dd90a5dc21b74324d1. # This commit introduced an issue where messages from script to the # compositor no longer woke up the embedder. There is a larger issue @@ -2168,12 +2202,14 @@ https://github.com/servo/servo/pull/36566 (@Taym95, #36566) fix writablestream a # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36549 (@mrobinson, #36549) libservo: Expose a `ServoBuilder` (#36549) ++https://github.com/servo/servo/pull/36549 (@mrobinson, #36549) libservo: Expose a `ServoBuilder` (#36549) + embedding # Expose a `ServoBuilder` for easily creating Servo instances using # default values. This change enables removing `EmbedderTraits`. # Testing: This is covered by `Servo` unit tests. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36568 (@mrobinson, @Loirooriol, #36568) layout: Throw away nested marker elements instead of storing them in a `BoxSlot` (#36568) ++https://github.com/servo/servo/pull/36568 (@mrobinson, @Loirooriol, #36568) layout: Throw away nested marker elements instead of storing them in a `BoxSlot` (#36568) + css; marker pseudo # `::before` and `::after` pseudo-elements can have their own `::marker` # pseudo-element. Since this case wasn't taken into account, they were # being stored in main element's `::marker` `BoxSlot`. This could cause @@ -2208,7 +2244,8 @@ https://github.com/servo/servo/pull/36564 (@jschwe, #36564) uv: Use native-tls ( # I've been using the option on my mac for around 1 month now, without noticing any degradation. # See also the previous discussion in https://github.com/servo/book/issues/53 for some background. # Testing: We use `uv` in all our tests -https://github.com/servo/servo/pull/36532 (@mrobinson, #36532) libservo: Allow running more than one Servo test in a run (#36532) ++https://github.com/servo/servo/pull/36532 (@mrobinson, #36532) libservo: Allow running more than one Servo test in a run (#36532) + embedding; testing # A `Servo` instance can only be constructed once per program execution # and cannot be passed between threads. This change adds a special thread # to run `Servo` unit tests. This will allow creating suites of `WebView` @@ -2266,7 +2303,8 @@ https://github.com/servo/servo/pull/36581 (@jdm, #36581) Report memory usage for # These changes make the image-cache memory reporter report much larger values after loading image-heavy pages. # Testing: Manual testing on https://www.nist.gov/image-gallery # Fixes: #36559 -https://github.com/servo/servo/pull/36582 (@mrobinson, #36582) compositing: Remove `windowing.rs` and making `compositing` private (#36582) ++https://github.com/servo/servo/pull/36582 (@mrobinson, #36582) compositing: Remove `windowing.rs` and making `compositing` private (#36582) + architecture; no more public api in compositing # This file used to contain the `EmbedderDelegate` and `WindowMethods` # traits, but these are gone now, so we can move the one remaining enum # to be in `compositor.rs` where it is used. This change also stops @@ -2283,7 +2321,7 @@ https://github.com/servo/servo/pull/36569 (@andrei.volykhin@gmail.com, #36569) i # - [x] ./mach test-tidy does not report any errors # - [x] There are tests for these changes # tests/wpt/tests/html/canvas/element/pixel-manipulation/2d.imageData.object.ctor.basics.html -https://github.com/servo/servo/pull/36042 (@jschwe, #36042) resources: Remove baked in resources (#36042) +-https://github.com/servo/servo/pull/36042 (@jschwe, #36042) resources: Remove baked in resources (#36042) # This allows removing a LazyLock around the resources. # We override the baked in resources unconditionally in servoshell # upon initialization anyway @@ -2335,7 +2373,8 @@ https://github.com/servo/servo/pull/36413 (@yezhizhen, #36413) Move click event # Should I handle it in # https://github.com/servo/servo/blob/4d4f94936f8859f039497df370083fd7ea35fb00/components/script/dom/document.rs#L1296-L12 # 97? -https://github.com/servo/servo/pull/36583 (@mrobinson, @Loirooriol, #36583) layout: Store `Fragment` results in `LayoutBoxBase` and start using them for queries (#36583) ++https://github.com/servo/servo/pull/36583 (@mrobinson, @Loirooriol, #36583) layout: Store `Fragment` results in `LayoutBoxBase` and start using them for queries (#36583) + incremental # Start storing a link to laid-out `Fragment`s in `LayoutBoxBase`, so that # these are accessible for queries and eventually for incremental layout. # Some box tree data structures lacked a `LayoutBoxBase`, such as table @@ -2377,7 +2416,8 @@ https://github.com/servo/servo/pull/36542 (@nicoburns, #36542) Use version of `m # Upgrades `markup5ever` and fixes "unnecessary import" lints. # See https://github.com/servo/html5ever/pull/599 # And https://github.com/servo/stylo/pull/173 -https://github.com/servo/servo/pull/36613 (@mrobinson, #36613) layout: Combine `layout_2020` and `layout_thread_2020` into a crate called `layout` (#36613) ++https://github.com/servo/servo/pull/36613 (@mrobinson, #36613) layout: Combine `layout_2020` and `layout_thread_2020` into a crate called `layout` (#36613) + architecture legacy # Now that legacy layout has been removed, the name `layout_2020` doesn't # make much sense any longer, also it's 2025 now for better or worse. The # split between the "layout thread" and "layout" also doesn't make as much @@ -2410,7 +2450,7 @@ https://github.com/servo/servo/pull/36612 (@jdm, #36612) script: Only register o # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) >>> 2025-04-21T08:12:46Z -https://github.com/servo/servo/pull/36615 (@mrobinson, #36615) constellation: Re-split structured data types into separate files (#36615) +-https://github.com/servo/servo/pull/36615 (@mrobinson, #36615) constellation: Re-split structured data types into separate files (#36615) # In #36364 I moved both serializable and transferable implementations # from the `script_traits` crate into a single file called # `message_ports.rs`. Gregory raised the point that this was a bit of a @@ -2583,7 +2623,8 @@ https://github.com/servo/servo/pull/36603 (@TimvdLippe, #36603) Set correct poli # so that we can do CSP-checks. https://github.com/servo/servo/pull/36630 (@simonwuelker, #36630) Bump fontsan version to include servo/fontsan#37 (#36630) # Fixes a build issue on fedora 42 due to missing includes. -https://github.com/servo/servo/pull/36574 (@mrobinson, #36574) compositing: Rename `WebView` to `WebViewRenderer` (#36574) ++https://github.com/servo/servo/pull/36574 (@mrobinson, #36574) compositing: Rename `WebView` to `WebViewRenderer` (#36574) + architecture # There is a `WebView` in libservo (new) and a `WebView` in compositing # (old). Nowadays, the "real" `WebView` is the one in the libservo. The # `WebView` in `compositing` is really about rendering the contents of a @@ -2832,7 +2873,8 @@ https://github.com/servo/servo/pull/36632 (@atbrakhi, #36632) DevTools: Add `res # - [x] ./mach build -d does not report any errors # - [x] ./mach test-tidy does not report any errors # - [x] These changes partially implement https://github.com/servo/servo/issues/36027 -https://github.com/servo/servo/pull/36629 (@mrobinson, @Loirooriol, #36629) layout: Add a new `FragmentTree` pass to calculate containing block rectangles (#36629) ++https://github.com/servo/servo/pull/36629 (@mrobinson, @Loirooriol, #36629) layout: Add a new `FragmentTree` pass to calculate containing block rectangles (#36629) + perf; layout queries # When doing any kind of query, up until now, containing block rectangles # were calculated by walking the `FragmentTree` until the node being # queried was found. In order to make possible answering queries without @@ -2846,7 +2888,7 @@ https://github.com/servo/servo/pull/36629 (@mrobinson, @Loirooriol, #36629) layo # for elements no longer in the `FragmentTree` are integrated into this # new traversal. # Testing: Covered by existing WPT tests. -https://github.com/servo/servo/pull/36597 (@mrobinson, @Loirooriol, #36597) layout: Structure reflow code to make it more modular (#36597) +-https://github.com/servo/servo/pull/36597 (@mrobinson, @Loirooriol, #36597) layout: Structure reflow code to make it more modular (#36597) # This reworks the structure of reflow in `layout_thread_2020` in order to # make it more modular. The goal here is to allow possibly adding a new # fragment tree traversal and to, in general, make the code a bit more @@ -2861,7 +2903,8 @@ https://github.com/servo/servo/pull/36119 (@sagudev, #36119) Introduce snapshot # Fixes #35759 # There are tests for these changes in WPT >>> 2025-04-25T06:07:58Z -https://github.com/servo/servo/pull/36662 (@mrobinson, #36662) compositor: Tick animations for an entire WebView at once (#36662) ++https://github.com/servo/servo/pull/36662 (@mrobinson, #36662) compositor: Tick animations for an entire WebView at once (#36662) + compositor; refresh driver # Previously, when processing animations, the compositor would sent a tick # message to each pipeline. This is an issue because now the # `ScriptThread` always processes rendering updates for all `Document`s in @@ -2951,7 +2994,8 @@ https://github.com/servo/servo/pull/36667 (@atbrakhi, #36667) DevTools: Move `So # - [x] Testing: These changes should not affect current functionality as it only moves the existing code # - [x] Fixes: part of https://github.com/servo/servo/issues/36027 >>> 2025-04-26T06:06:54Z -https://github.com/servo/servo/pull/36681 (@mrobinson, @Loirooriol, #36681) layout: Use box tree `Fragment`s for offset parent queries (#36681) ++https://github.com/servo/servo/pull/36681 (@mrobinson, @Loirooriol, #36681) layout: Use box tree `Fragment`s for offset parent queries (#36681) + perf; layout queries # This change switches `offsetParent`, `offsetLeft`, etc queries to use # the BoxTree fragments instead of walking the entire fragment tree. In # addition, fragments are stored for columns and colgroups. In general, @@ -3014,7 +3058,8 @@ https://github.com/servo/servo/pull/36623 (@TimvdLippe, #36623) Support CSP repo # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36663 (@mrobinson, @Loirooriol, #36663) layout: Implement node geometry queries against `BoxTree`'s `Fragment` (#36663) ++https://github.com/servo/servo/pull/36663 (@mrobinson, @Loirooriol, #36663) layout: Implement node geometry queries against `BoxTree`'s `Fragment` (#36663) + perf; layout queries # This is a followup to #36629, continuing to implement script-based # layout queries using the `Fragment`s attached to the `BoxTree`. In this # change, geometry queris (apart from parent offset) are calculated using @@ -3035,7 +3080,8 @@ https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test targ https://github.com/servo/servo/pull/36595 (@Loirooriol, #36595) layout: Implement `justify-self` for block-level boxes (#36595) # https://drafts.csswg.org/css-align/#justify-block # Testing: Improves various WPT tests. `justify-self-auto-margins-2.html` fails but I think the test is wrong. -https://github.com/servo/servo/pull/36656 (@Legend-Master, @mrobinson, #36656) Initial support for marking custom protocol secure (#36656) ++https://github.com/servo/servo/pull/36656 (@Legend-Master, @mrobinson, #36656) Initial support for marking custom protocol secure (#36656) + custom-protocol # Add initial support for marking custom protocol as secure, this makes it possible to `fetch` a custom protocol # inside secure contexts (e.g. http://localhost) # Some additional contexts: @@ -3067,7 +3113,8 @@ https://github.com/servo/servo/pull/36705 (@simonwuelker, #36705) Use snapshot s # size anymore. # Testing: This change includes a new web platform test # Fixes https://github.com/servo/servo/issues/36702 -https://github.com/servo/servo/pull/36698 (@mrobinson, #36698) layout: Remove rules for legacy pseudo-elements in user agent stylesheet (#36698) ++https://github.com/servo/servo/pull/36698 (@mrobinson, #36698) layout: Remove rules for legacy pseudo-elements in user agent stylesheet (#36698) + legacy # The legacy layout system used these pseudo-elements, but modern layout # no longer does, so they are unused. They can simply be removed. # Testing: No new tests as this is effectively dead code. From c90db703f7d5f5b043b6dd8816301c28231223bb Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Fri, 2 May 2025 12:20:37 +0800 Subject: [PATCH 18/81] Triage 86/239 of the remaining commits --- commits.txt | 67 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 24 deletions(-) diff --git a/commits.txt b/commits.txt index 3168b1556..4b11ee5ec 100644 --- a/commits.txt +++ b/commits.txt @@ -8,7 +8,8 @@ https://github.com/servo/servo/pull/36253 (@UssyMan, #36253) Add SimulateColorSc # Fixes: Part of #35867 (https://github.com/servo/servo/issues/35867) https://github.com/servo/servo/pull/36255 (@simonwuelker, #36255) Remove ServoParser::do_parse_sync (#36255) # The indirection through ServoParser::parse_sync does nothing, so the method can simply be called directly. -https://github.com/servo/servo/pull/36246 (@Loirooriol, #36246) Enable css-nesting WPT tests (#36246) ++https://github.com/servo/servo/pull/36246 (@Loirooriol, #36246) Enable css-nesting WPT tests (#36246) + css; nesting # So that we can see the improvement when enabling the feature. # Testing: This PR enables tests # This is part of #36245 @@ -190,7 +191,8 @@ https://github.com/servo/servo/pull/36221 (@jdm, #36221) Enable service worker W # These tests were related to the legacy layout engine which has been removed. # Therefore, they are considered leftover and can be removed. # Fixes #36277 -https://github.com/servo/servo/pull/36254 (@Loirooriol, #36254) Turn `CSSStyleRule` into a `CSSGroupingRule` subclass (#36254) ++https://github.com/servo/servo/pull/36254 (@Loirooriol, #36254) Turn `CSSStyleRule` into a `CSSGroupingRule` subclass (#36254) + css; nesting # Note that `StyleRule` may not have the `CssRules` readily available, they may need to be created. So the previous # approach of providing `CSSGroupingRule` with the `CssRules` is no good: it would require writing them in advance, # just in case they end up being used. @@ -490,7 +492,8 @@ https://github.com/servo/servo/pull/36236 (@MDCODE247, #36236) script: Use `RegE # [//]: # (dependabot-automerge-end) https://github.com/servo/servo/pull/36133 (@richarddushime, #36133) Use Window in new methods instead of GlobalScope for interfaces with … (#36133) # …Window-only constructors -https://github.com/servo/servo/pull/36272 (@mrobinson, @Loirooriol, #36272) script: Create `CSSStyleOwner::Null` for `getComputedStyle` (#36272) ++https://github.com/servo/servo/pull/36272 (@mrobinson, @Loirooriol, #36272) script: Create `CSSStyleOwner::Null` for `getComputedStyle` (#36272) + css; marker pseudo # This new `CSSStyleOwner` variant is used when the pseudo-element # argument fails to parse properly or is for some unknown or unsupported # pseudo-element. @@ -502,7 +505,8 @@ https://github.com/servo/servo/pull/36272 (@mrobinson, @Loirooriol, #36272) scri # - `::marker` # Co-authored-by: Oriol Brufau # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36278 (@Loirooriol, #36278) layout: Allow collapsing bottom margins with any indefinite block size (#36278) ++https://github.com/servo/servo/pull/36278 (@Loirooriol, #36278) layout: Allow collapsing bottom margins with any indefinite block size (#36278) + layout # According to CSS2, the bottom margin of a block container can collapse with the bottom margin of its last in-flow # child if `height` computes to `auto`. # However, according to CSS Sizing, that was "legacy spec prose" and should be interpreted as "behaves as `auto`". @@ -553,7 +557,8 @@ https://github.com/servo/servo/pull/36298 (@barigbuenbira@gmail.com, #36298) Fix # - Remove .ini expectations for tests that are no longer failing. # Testing: covered by WPT # Fixes: #35310 -https://github.com/servo/servo/pull/36316 (@Loirooriol, #36316) Enable layout_grid_enabled pref for all tests (#36316) ++https://github.com/servo/servo/pull/36316 (@Loirooriol, #36316) Enable layout_grid_enabled pref for all tests (#36316) + layout # This is part of #36315 # Testing: This improves several tests that rely on this feature https://github.com/servo/servo/pull/36174 (@mrees@noeontheend.com, #36174) fix: root element not establishing stacking context (#35390) (#36174) @@ -564,7 +569,8 @@ https://github.com/servo/servo/pull/36174 (@mrees@noeontheend.com, #36174) fix: # [Successful WPT run](https://github.com/reesmichael1/servo/actions/runs/14097679625) (which includes the new # test files) # (I didn't make the formatting changes intentionally--those came from `mach format` following `mach test-tidy`.) -https://github.com/servo/servo/pull/36313 (@Loirooriol, #36313) script: Implement deprecated CSSStyleSheet members (#36313) ++https://github.com/servo/servo/pull/36313 (@Loirooriol, #36313) script: Implement deprecated CSSStyleSheet members (#36313) + api; for speedometer # Implements `rules`, `addRule()` and `removeRule()` for `CSSStyleSheet`. # https://drafts.csswg.org/cssom/#legacy-css-style-sheet-members # This is part of #36162 @@ -582,7 +588,8 @@ https://github.com/servo/servo/pull/36313 (@Loirooriol, #36313) script: Implemen # - `/css/cssom/CSSStyleSheet.html` # - `/css/cssom/idlharness.html` # - `/css/cssom/insertRule-across-context.html` -https://github.com/servo/servo/pull/36311 (@Loirooriol, #36311) layout: Improve style conversion for Taffy (#36311) ++https://github.com/servo/servo/pull/36311 (@Loirooriol, #36311) layout: Improve style conversion for Taffy (#36311) + layout; grid # This imports the following changes from Blitz: # - Map position:sticky to relative rather than absolute position # https://github.com/DioxusLabs/blitz/commit/16a7c1654455bee62e83854f83304a2931b29a0d @@ -806,7 +813,8 @@ https://github.com/servo/servo/pull/36334 (@rego@igalia.com, #36334) wpt: Unskip # Signed-off-by: Martin Robinson https://github.com/servo/servo/pull/36333 (@rego@igalia.com, #36333) wpt: Unskip old-tests/ folder as most tests are passing (#36333) # null -https://github.com/servo/servo/pull/36288 (@Loirooriol, #36288) layout: Restrict stretch alignment to flex items with computed auto size (#36288) ++https://github.com/servo/servo/pull/36288 (@Loirooriol, #36288) layout: Restrict stretch alignment to flex items with computed auto size (#36288) + layout; flex # We were allowing `align-self: stretch` to stretch flex items whose cross size behaves as `auto`, including cyclic # percentages. # However, https://github.com/w3c/csswg-drafts/issues/4525 resolved that stretching should only happen when the @@ -1108,7 +1116,8 @@ https://github.com/servo/servo/pull/35978 (@yezhizhen, #35978) Fix transition to # in . # Testing: # - `css/css-images/image-set/image-set-resolution-002.html` -https://github.com/servo/servo/pull/36348 (@Loirooriol, #36348) Enable layout_container_queries_enabled on all WPT tests (#36348) ++https://github.com/servo/servo/pull/36348 (@Loirooriol, #36348) Enable layout_container_queries_enabled on all WPT tests (#36348) + testing; experimental features # This feature is part of --enable-experimental-web-platform-features, so it should be enabled on all tests. # It's not really implemented beyond parsing, but it should be safe to enable. It mostly changes test results from # ERROR to FAIL. @@ -1403,7 +1412,7 @@ https://github.com/servo/servo/pull/36403 (@Gae24, #36403) script: Correctly con https://github.com/servo/servo/pull/36416 (@sagudev, #36416) mach try: Add `wpt` alias for `linux-wpt` (#36416) # Add `wpt` alias for `linux-wpt` in try_parser, because that's the what I have in muscle memory. # Testing: Tested with new try_parser unit tests. -https://github.com/servo/servo/pull/36411 (@Loirooriol, #36411) Add serde and wgsl features to wgpu-core (#36411) +-https://github.com/servo/servo/pull/36411 (@Loirooriol, #36411) Add serde and wgsl features to wgpu-core (#36411) # This fixes errors when running `./mach clippy -r -p layout_2020` and `./mach clippy -r -p script`. # Also addressing an unused import warning when running the latter. # Testing: These changes do not require tests because it's just a compile error fix. @@ -1466,7 +1475,8 @@ https://github.com/servo/servo/pull/36429 (@atouchet, #36429) Replace bluetooth # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36446 (@Loirooriol, #36446) Implement `disabled` attribute for `` (#36446) ++https://github.com/servo/servo/pull/36446 (@Loirooriol, #36446) Implement `disabled` attribute for `` (#36446) + html # Adds support for both the content and the IDL attribute. # Note this doesn't cover dynamic updates to `document.styleSheets` and the owner node of the sheet. # Testing: Covered by WPT @@ -1508,7 +1518,8 @@ https://github.com/servo/servo/pull/36478 (@webbeef, #36478) textinput: position # already text present. That makes is annoying when you want to add text, and doesn't match what other browsers do. # Instead, this change positions the caret at the end of the current text. # Testing: Not covered by any wpt tests (rightly so I think). -https://github.com/servo/servo/pull/36475 (@Loirooriol, #36475) Enable dom_svg_enabled on all tests (#36475) ++https://github.com/servo/servo/pull/36475 (@Loirooriol, #36475) Enable dom_svg_enabled on all tests (#36475) + testing; experimental features # This feature is part of --enable-experimental-web-platform-features, so it should be enabled on all tests. # This causes some new failures, but mostly it's because the tests were timing out instead of running the failing # subtests. @@ -1571,7 +1582,7 @@ https://github.com/servo/servo/pull/36455 (@sebsebmc@gmail.com, #36455) Manually +https://github.com/servo/servo/pull/36471 (@mrobinson, @Loirooriol, #36471) layout: Eliminate extra stored style on outside markers (#36471) # This is a duplicate of the style stored on the marker's `LayoutBoxBase`. # Testing: This is covered by existings WPT tests. -https://github.com/servo/servo/pull/36472 (@Loirooriol, #36472) Cleanup after #36461 (#36472) +-https://github.com/servo/servo/pull/36472 (@Loirooriol, #36472) Cleanup after #36461 (#36472) # This avoids some minor code duplication. # Testing: not needed (no behavior change) https://github.com/servo/servo/pull/36422 (@TimvdLippe, #36422) Implement attribute and property lookup for Trusted Types (#36422) @@ -1592,7 +1603,8 @@ https://github.com/servo/servo/pull/36459 (@ibluegalaxy_taoj@163.com, #36459) Im # @mrobinson @jschwe # Testing: the ohos platform test demo hap # Fixes: No issue exists i can find -https://github.com/servo/servo/pull/36461 (@dklassic, #36461) fix: Crashing due to input element hack (#36461) ++https://github.com/servo/servo/pull/36461 (@dklassic, #36461) fix: Crashing due to input element hack (#36461) + crash # This PR addresses a crash in text input element due to a hack to prevent text input being trimmed. # The updated behavior will only add `zero width space` unicode character to the node if there's no text content # instead of adding it constantly. Also by adding the same `zero width space` unicode character to text area when @@ -1686,7 +1698,8 @@ https://github.com/servo/servo/pull/36487 (@sebsebmc@gmail.com, #36487) Update P # it does not crash when shutting down. # Testing: This change is a test, so there are tests for these changes. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36469 (@Loirooriol, #36469) layout: Enforce min-content min main size of flex-level tables (#36469) ++https://github.com/servo/servo/pull/36469 (@Loirooriol, #36469) layout: Enforce min-content min main size of flex-level tables (#36469) + layout; tables in flex # Additionally to the minimum specified in min-width or min-height, tables also enforce a `min-content` minimum. # This was handled in `Sizes::resolve()`, but flex items don't use that. So this patch moves the logic into # `Size::resolve_for_min()`. @@ -1759,9 +1772,11 @@ https://github.com/servo/servo/pull/36492 (@yerke, #36492) add CanGc as argument -https://github.com/servo/servo/pull/36524 (@webbeef, #36524) Remove unused pref: dom_forcetouch_enabled (#36524) # This is a leftover from e7c754fb64bf200cf64f7c7c4104f8489d117965 # Testing: removing unused pref, no testing needed. -https://github.com/servo/servo/pull/36335 (@Loirooriol, #36335) Run all tests with --enable-experimental-web-platform-features (#36335) ++https://github.com/servo/servo/pull/36335 (@Loirooriol, #36335) Run all tests with --enable-experimental-web-platform-features (#36335) + testing; experimental features # Fixes: #36315 -https://github.com/servo/servo/pull/36519 (@Loirooriol, #36519) Enable all experimental web platform features on all testsuites (#36519) ++https://github.com/servo/servo/pull/36519 (@Loirooriol, #36519) Enable all experimental web platform features on all testsuites (#36519) + testing; experimental features # This affects the following testsuites: # - tests/wpt/tests/ # - tests/wpt/mozilla/tests/ @@ -1769,7 +1784,8 @@ https://github.com/servo/servo/pull/36519 (@Loirooriol, #36519) Enable all exper # - tests/wpt/webgpu/tests/ # Testing: Several tests improve # This is part of #36315 -https://github.com/servo/servo/pull/36518 (@Loirooriol, #36518) layout: Floor the max-content size by the min-content size (#36518) ++https://github.com/servo/servo/pull/36518 (@Loirooriol, #36518) layout: Floor the max-content size by the min-content size (#36518) + layout crash # It's typically a given that the min-content size can't exceed the max-content size. However, it was possible to break # that assumption when an inline formatting context had contents with a negative outer size (due to margins). This # could lead to assert failures. @@ -1934,7 +1950,8 @@ https://github.com/servo/servo/pull/36498 (@Gae24, #36498) async clipboard: impl # to add those soon. # Co-authored-by: Shubham Gupta # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36430 (@Loirooriol, #36430) layout: Let getComputedStyle resolve auto min size as 0px when needed (#36430) ++https://github.com/servo/servo/pull/36430 (@Loirooriol, #36430) layout: Let getComputedStyle resolve auto min size as 0px when needed (#36430) + css; cssom fix # The initial value of `min-width` and `min-height` was 0px in CSS2. However, CSS3 changed it to `auto`, so for # backwards compatibility, `getComputedStyle` needs to resolve it to 0px in a bunch of cases. # Testing: covered by WPT @@ -2132,7 +2149,7 @@ https://github.com/servo/servo/pull/36535 (@kkoyung, #36535) Make DOMException s # Follow the implementation of making DOMPoint and DOMPointReadOnly serializable in PR #35989 # Testing: Passed a test previously expected to fail. # Fixes: #36463 -https://github.com/servo/servo/pull/36520 (@Loirooriol, #36520) Unify media query and media query list parsing (#36520) +-https://github.com/servo/servo/pull/36520 (@Loirooriol, #36520) Unify media query and media query list parsing (#36520) # Several places were using identical logic in order to parse a media queries or media query lists. # This patch centralizes the logic into 2 new helper methods in MediaList. # Testing: not needed (no behavior change) @@ -2288,13 +2305,14 @@ https://github.com/servo/servo/pull/36510 (@TimvdLippe, #36510) Check CSP for in # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36585 (@Loirooriol, #36585) Fix `/css/css-flexbox/gap-007-*` WPT tests (#36585) +-https://github.com/servo/servo/pull/36585 (@Loirooriol, #36585) Fix `/css/css-flexbox/gap-007-*` WPT tests (#36585) # These tests were locally failing for me, both on Servo and Gecko, because these browsers choose a different default # font than Blink, making the flex items a bit bigger, and thus only fitting 2 items on the first flex line, instead # of 3 items. # Manually setting the `line-height` provides consistent results. # Testing: This doesn't affect CI, but fixes the local problem for me. -https://github.com/servo/servo/pull/36571 (@Loirooriol, #36571) layout: Always floor the max-content size by the min-content size (#36571) ++https://github.com/servo/servo/pull/36571 (@Loirooriol, #36571) layout: Always floor the max-content size by the min-content size (#36571) + layout crash # This is a follow-up to #36518, which only addressed inline formatting contexts. However, flex formatting contexts # had the same problem, so it seems safer to address it in general. # Testing: this makes a WPT test pass @@ -3077,7 +3095,8 @@ https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test targ # This patch fixes it to include those TOML files in test-tidy. # Testing: It only involves python script for test-tidy. No test is needed. # Fixes: #36659 -https://github.com/servo/servo/pull/36595 (@Loirooriol, #36595) layout: Implement `justify-self` for block-level boxes (#36595) ++https://github.com/servo/servo/pull/36595 (@Loirooriol, #36595) layout: Implement `justify-self` for block-level boxes (#36595) + css layout # https://drafts.csswg.org/css-align/#justify-block # Testing: Improves various WPT tests. `justify-self-auto-margins-2.html` fails but I think the test is wrong. +https://github.com/servo/servo/pull/36656 (@Legend-Master, @mrobinson, #36656) Initial support for marking custom protocol secure (#36656) @@ -3277,7 +3296,7 @@ https://github.com/servo/servo/pull/35999 (@xiaochengh, #35999) Rewrite node ins # Per [spec](https://dom.spec.whatwg.org/#concept-node-insert), adoption of new node should be done while inserting # the node. This patch moves the call site of `adopt` to inside `insert` to match it. # It also rewrites some existing code to better match the spec without any behavioral changes. -https://github.com/servo/servo/pull/36725 (@Loirooriol, #36725) layout: Refactor `establishes_containing_block_for_all_descendants()` (#36725) +-https://github.com/servo/servo/pull/36725 (@Loirooriol, #36725) layout: Refactor `establishes_containing_block_for_all_descendants()` (#36725) # Instead of grouping all the `will-change` conditions together, move each one of them next to the condition for # the relevant property. # This avoids the need to call `is_transformable()` multiple times, and will also be needed for #35391. From d41c67fa6ef0020bb7b79bc765f4d027ea992448 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 12:33:56 +0800 Subject: [PATCH 19/81] Triage 98/239 of the remaining commits --- commits.txt | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/commits.txt b/commits.txt index 4b11ee5ec..9c8778db0 100644 --- a/commits.txt +++ b/commits.txt @@ -6,7 +6,7 @@ https://github.com/servo/servo/pull/36253 (@UssyMan, #36253) Add SimulateColorSc # Testing: This PR does not require testing because it only adds infrastructure (command and handler) but doesn’t # yet integrate with devtools actors. # Fixes: Part of #35867 (https://github.com/servo/servo/issues/35867) -https://github.com/servo/servo/pull/36255 (@simonwuelker, #36255) Remove ServoParser::do_parse_sync (#36255) +-https://github.com/servo/servo/pull/36255 (@simonwuelker, #36255) Remove ServoParser::do_parse_sync (#36255) # The indirection through ServoParser::parse_sync does nothing, so the method can simply be called directly. +https://github.com/servo/servo/pull/36246 (@Loirooriol, #36246) Enable css-nesting WPT tests (#36246) css; nesting @@ -148,7 +148,8 @@ https://github.com/servo/servo/pull/36230 (@jdm, #36230) script: Fix resize obse # This is struct is always already wrapped in a RefCell by `ResizeObserver`. It is not exposed to JS itself, so it # doesn't need `RefCell`s. # Testing: Covered by existing WPT tests -https://github.com/servo/servo/pull/36227 (@simonwuelker, #36227) Refuse to provide partial response from earlier ranged request to API that did not make a range request (#36227) ++https://github.com/servo/servo/pull/36227 (@simonwuelker, #36227) Refuse to provide partial response from earlier ranged request to API that did not make a range request (#36227) + net # Part of https://github.com/servo/servo/issues/33616 # It appears that there is no web platform test for this change (at least I couldn't find any). The flag itself # is used to prevent an attack involving service workers - I only implemented it because it was getting in the way @@ -622,7 +623,8 @@ https://github.com/servo/servo/pull/36174 (@mrees@noeontheend.com, #36174) fix: # Third Value # ``` >>> 2025-04-05T06:05:57Z -https://github.com/servo/servo/pull/36225 (@simonwuelker, #36225) script: Implement input preprocessing for URLPatterns (#36225) ++https://github.com/servo/servo/pull/36225 (@simonwuelker, #36225) script: Implement input preprocessing for URLPatterns (#36225) + api # Implements https://urlpattern.spec.whatwg.org/#process-a-urlpatterninit and the component canonicalization # functions. These handle percent-encoding and such for the components of a `URLPattern`. # No new tests pass, because the tokenizer and parser are still missing. @@ -1025,7 +1027,8 @@ https://github.com/servo/servo/pull/36390 (@sebsebmc@gmail.com, #36390) fix: met # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36391 (@simonwuelker, #36391) Split up the URLPattern implementation (#36391) ++https://github.com/servo/servo/pull/36391 (@simonwuelker, #36391) Split up the URLPattern implementation (#36391) + api # The current implementation is already rather large at ~2.5k lines (~2k LoC). There is still quite a lot of # functionality left to implement, so let's split it up while it's still manageable. # Testing: Covered by existing web platform tests @@ -1080,7 +1083,8 @@ https://github.com/servo/servo/pull/36391 (@simonwuelker, #36391) Split up the U # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36382 (@simonwuelker, #36382) Create a parser for URLPatterns (#36382) ++https://github.com/servo/servo/pull/36382 (@simonwuelker, #36382) Create a parser for URLPatterns (#36382) + api # This change implements the pattern parser, completing the "parsing pipeline" for URL patterns. # Testing: Primarily `urlpattern/urlpattern-hasregexpgroups.any.js`, some other subtests start to pass too. +https://github.com/servo/servo/pull/36317 (@mrobinson, #36317) layout: Add initial support for the `::marker` pseudo-element (#36317) @@ -1126,7 +1130,8 @@ https://github.com/servo/servo/pull/36377 (@mukilan, #36377) ci: use Ubuntu 22.0 # The upstream PR (web-platform-tests/wpt#51084) to update the WPT.fyi docker image to 22.04 landed a few days back. No # new issues have been discovered so far in wpt.fyi, so it should be safe for us to move to 22.04 for the nightly builds. # Fixes #35747. -https://github.com/servo/servo/pull/36362 (@simonwuelker, #36362) Add a tokenizer for URLPatterns (#36362) ++https://github.com/servo/servo/pull/36362 (@simonwuelker, #36362) Add a tokenizer for URLPatterns (#36362) + api # Not a lot of new tests start to pass because the actual parser is still missing, so we're only passing tests for # invalid inputs. The parser will be added in the next PR. # This is part 3 of upstreaming the changes in https://github.com/simonwuelker/servo/tree/urlpattern @@ -1256,7 +1261,8 @@ https://github.com/servo/servo/pull/36399 (@barigbuenbira@gmail.com, #36399) Rem # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36284 (@simonwuelker, #36284) Unify the way html5ever and xml5ever block on script elements (#36284) ++https://github.com/servo/servo/pull/36284 (@simonwuelker, #36284) Unify the way html5ever and xml5ever block on script elements (#36284) + architecture; towards non-utf-8 encoding support # Companion PR for https://github.com/servo/html5ever/pull/591 # Testing: Covered by WPT # Part of https://github.com/servo/servo/issues/6414, https://github.com/servo/servo/issues/24898, preparation for @@ -1722,7 +1728,7 @@ https://github.com/servo/servo/pull/36487 (@sebsebmc@gmail.com, #36487) Update P # Testing: This just changes the layout of a data structure, so is # covered by existing WPT tests. >>> 2025-04-14T06:06:10Z -https://github.com/servo/servo/pull/36507 (@simonwuelker, #36507) Remove HTMLStyleElement::line_number (#36507) +-https://github.com/servo/servo/pull/36507 (@simonwuelker, #36507) Remove HTMLStyleElement::line_number (#36507) # This field is unused. https://github.com/servo/servo/pull/36409 (@TimvdLippe, @jdm, #36409) Update FetchTaskTarget to propagate CSP violations. (#36409) # It also updates the FetchResponseListener to process CSP violations to ensure that iframe elements (amongst others) @@ -2142,7 +2148,7 @@ https://github.com/servo/servo/pull/36546 (@andrei.volykhin@gmail.com, #36546) c # https://drafts.csswg.org/cssom/#dom-cssstylesheet-cssstylesheet # Testing: covered by WPT # This is part of #36162 -https://github.com/servo/servo/pull/36540 (@simonwuelker, #36540) Remove two outdated TODO comments in HTMLScriptElement (#36540) +-https://github.com/servo/servo/pull/36540 (@simonwuelker, #36540) Remove two outdated TODO comments in HTMLScriptElement (#36540) # We support both the "referrerpolicy" and the "nonce" attribute on script elements, just not where the spec tells # us to do it. https://github.com/servo/servo/pull/36535 (@kkoyung, #36535) Make DOMException serializable (#36535) @@ -2639,7 +2645,7 @@ https://github.com/servo/servo/pull/36631 (@atbrakhi, #36631) DevTools: `worker_ https://github.com/servo/servo/pull/36603 (@TimvdLippe, #36603) Set correct policy-container for worker construction (#36603) # This makes sure that when workers are created, their global scope has the correct policy-container set # so that we can do CSP-checks. -https://github.com/servo/servo/pull/36630 (@simonwuelker, #36630) Bump fontsan version to include servo/fontsan#37 (#36630) +-https://github.com/servo/servo/pull/36630 (@simonwuelker, #36630) Bump fontsan version to include servo/fontsan#37 (#36630) # Fixes a build issue on fedora 42 due to missing includes. +https://github.com/servo/servo/pull/36574 (@mrobinson, #36574) compositing: Rename `WebView` to `WebViewRenderer` (#36574) architecture @@ -2996,7 +3002,8 @@ https://github.com/servo/servo/pull/36664 (@jdm, #36664) script: Measure stored # that we don't miss anything. Since there are often Arc values involved, this means that the layout-thread box tree # measurements now look quite small, while reported JS heap usage has increased. # Testing: Manually compared about:memory for servo.org. -https://github.com/servo/servo/pull/36677 (@simonwuelker, #36677) servoshell: Make list of options in prompt scrollable (#36677) + servoshell # This ensures that the select element is usable when there are a lot of options. # Testing: We don't have tests for servoshell. https://github.com/servo/servo/pull/36672 (@sagudev, #36672) Disable serviceworkers for webgpu CTS tests (#36672) @@ -3126,7 +3133,8 @@ https://github.com/servo/servo/pull/27041 (@jdm, #27041) Report exceptions for a -https://github.com/servo/servo/pull/36708 (@servo-wpt-sync, #36708) Sync WPT with upstream (27-04-2025) (#36708) # Automated downstream sync of changes from upstream as of 27-04-2025 # [no-wpt-sync] -https://github.com/servo/servo/pull/36705 (@simonwuelker, #36705) Use snapshot size instead of canvas size when converting canvas to blob (#36705) ++https://github.com/servo/servo/pull/36705 (@simonwuelker, #36705) Use snapshot size instead of canvas size when converting canvas to blob (#36705) + crash # The blob data is encoded asynchronously, therefore the canvas size may have changed since it's data was saved # to a snapshot. Using the canvas size confuses the encoder, because the provided data does not match the expected # size anymore. From 8613d86182af617d8bcbfe7b5fdd7c6653a1ed78 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 13:01:06 +0800 Subject: [PATCH 20/81] Triage 143/239 of the remaining commits --- commits.txt | 124 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 79 insertions(+), 45 deletions(-) diff --git a/commits.txt b/commits.txt index 9c8778db0..7e6412a12 100644 --- a/commits.txt +++ b/commits.txt @@ -140,7 +140,8 @@ https://github.com/servo/servo/pull/36239 (@andrei.volykhin@gmail.com, #36239) d # from optional "EventInit" dictionary # (https://dom.spec.whatwg.org/#dom-eventinit-composed). # The limited set of event types (Custom/Error/Focus/Mouse) will be affected by this CL (used in WPT tests). -https://github.com/servo/servo/pull/36230 (@jdm, #36230) script: Fix resize observer depth calculation for Shadow DOM. (#36230) ++https://github.com/servo/servo/pull/36230 (@jdm, #36230) script: Fix resize observer depth calculation for Shadow DOM. (#36230) + shadowdom # Follow the specification more closely by using the flat tree when calculating depth for the resize observer. # Testing: Newly passing WPT test. # Fixes: #36092 @@ -165,7 +166,8 @@ https://github.com/servo/servo/pull/36230 (@jdm, #36230) script: Fix resize obse https://github.com/servo/servo/pull/36229 (@kongbai1996, #36229) Fixed the crash issue when the openharmony web component is adapted. (#36229) # When the OpenHarmony web component is adapted, touchmove events with the same ID may exist after touchup. Therefore, # only error logs are printed and no exception is thrown. -https://github.com/servo/servo/pull/36221 (@jdm, #36221) Enable service worker WPT tests. (#36221) ++https://github.com/servo/servo/pull/36221 (@jdm, #36221) Enable service worker WPT tests. (#36221) + test # #36114 showed a crash in the service worker code that is enabled with the experimental prefs. I'd like to have # these tests running even if nobody is actively working on implementing the feature right now, since they would # have caught the crash sooner. @@ -313,7 +315,8 @@ https://github.com/servo/servo/pull/35971 (@delan, #35971) devtools: Fix id coll # BrowsingContextId, and PipelineId in Servo. These u32 values were previously derived from our sharded (u32,u32) # id values by taking only the `index` (second u32) and ignoring the `namespace_id` (first u32), leading to collisions. # This patch fixes that by mapping those Servo ids to sequential u32 values. -https://github.com/servo/servo/pull/36256 (@jdm, #36256) Fix null realm assertion when activating a service worker (#36256) ++https://github.com/servo/servo/pull/36256 (@jdm, #36256) Fix null realm assertion when activating a service worker (#36256) + crash # Ensure there is an active realm when dispatching the `activation` DOM event to the ServiceWorker global. # Testing: Existing WPT coverage. # Fixes: #36114 @@ -629,7 +632,8 @@ https://github.com/servo/servo/pull/36174 (@mrees@noeontheend.com, #36174) fix: # functions. These handle percent-encoding and such for the components of a `URLPattern`. # No new tests pass, because the tokenizer and parser are still missing. # This is part 2 of upstreaming the changes in https://github.com/simonwuelker/servo/tree/urlpattern -https://github.com/servo/servo/pull/36330 (@jdm, #36330) constellation: Only return focused browsing contexts that exist. (#36330) ++https://github.com/servo/servo/pull/36330 (@jdm, #36330) constellation: Only return focused browsing contexts that exist. (#36330) + test; servodriver bustage # The webdriver server relies on the constellation to report which browsing context is focused, and assumes that # a focused context is ready for interaction. However, new browsing contexts exist in a weird state where they are # not tracked by the constellation until the initial load is complete, which leads to the constellation rejecting @@ -642,7 +646,8 @@ https://github.com/servo/servo/pull/36330 (@jdm, #36330) constellation: Only ret https://github.com/servo/servo/pull/36354 (@TimvdLippe, #36354) Run Trusted Types tests (#36354) # To set a baseline of test expectations prior to implementation. # Part of #36258 -https://github.com/servo/servo/pull/36301 (@sebsebmc@gmail.com, @sagudev, #36301) Implement TestUtils (#36301) ++https://github.com/servo/servo/pull/36301 (@sebsebmc@gmail.com, @sagudev, #36301) Implement TestUtils (#36301) + test # Implement the TestUtils namespace from https://testutils.spec.whatwg.org/. # This should make the `js/builtins/weakrefs` tests run faster and more consistently. # This change will enable other WPT tests but no tests exist currently for TestUtils itself. @@ -828,7 +833,8 @@ https://github.com/servo/servo/pull/36333 (@rego@igalia.com, #36333) wpt: Unskip # - `/css/css-flexbox/stretch-requires-computed-auto-size.html` https://github.com/servo/servo/pull/36314 (@rego@igalia.com, #36314) wpt: Unskip css/css-text/i18n as many tests are passing there (#36314) # This patch unskips `css/css-text/i18n` WPT tests as many tests on that folder are already passing in Servo. -https://github.com/servo/servo/pull/36070 (@jschwe, #36070) mach: Fix cross-compiling from windows to non windows (#36070) ++https://github.com/servo/servo/pull/36070 (@jschwe, #36070) mach: Fix cross-compiling from windows to non windows (#36070) + build # Since we switched to using `aws-lc-rs` instead of `ring`, cross-compiling on windows (to non-windows) had been # broken. Using the default MSVC Generator results in CMake erroneously being configured for the host platform, # with failing compiler checks. Switching to Ninja fixes that issue. @@ -859,7 +865,8 @@ https://github.com/servo/servo/pull/36070 (@jschwe, #36070) mach: Fix cross-comp # Servo, and now they take 8 seconds. # Testing: Existing WPT tests ensure no regressions. # Fixes: #1799 -https://github.com/servo/servo/pull/36327 (@jdm, #36327) Ignore cert errors when running wdspec tests. (#36327) ++https://github.com/servo/servo/pull/36327 (@jdm, #36327) Ignore cert errors when running wdspec tests. (#36327) + test; servodriver bustage # This change makes the wdspec configuration match our other browser configurations to account for #30080. # Testing: Tested locally, since we don't run webdriver conformance tests in CI yet. The STR from the issue do not # reproduce the same problem any longer. @@ -1136,7 +1143,8 @@ https://github.com/servo/servo/pull/36377 (@mukilan, #36377) ci: use Ubuntu 22.0 # invalid inputs. The parser will be added in the next PR. # This is part 3 of upstreaming the changes in https://github.com/simonwuelker/servo/tree/urlpattern >>> 2025-04-09T06:09:16Z -https://github.com/servo/servo/pull/36384 (@sagudev, #36384) script: copy include! files from script_bindings to script's OUT_DIR (#36384) ++https://github.com/servo/servo/pull/36384 (@sagudev, #36384) script: copy include! files from script_bindings to script's OUT_DIR (#36384) + dev; fixes rust-analyzer in script # copy generated `include!`d files from script_bindings's OUT_DIR, to script's OUT_DIR to allow Rust Analyzer to # load them. # This is done to bypass limitation of Rust Analyzer: https://github.com/rust-lang/rust-analyzer/issues/17040 @@ -1267,7 +1275,8 @@ https://github.com/servo/servo/pull/36399 (@barigbuenbira@gmail.com, #36399) Rem # Testing: Covered by WPT # Part of https://github.com/servo/servo/issues/6414, https://github.com/servo/servo/issues/24898, preparation for # https://github.com/servo/html5ever/pull/590 -https://github.com/servo/servo/pull/36402 (@jdm, #36402) Run subset of CSP tests by default. (#36402) ++https://github.com/servo/servo/pull/36402 (@jdm, #36402) Run subset of CSP tests by default. (#36402) + test # This will establish a baseline for the changes from #36363. # Testing: New tests in CI. # Fixes: Part of #4577 @@ -1415,7 +1424,7 @@ https://github.com/servo/servo/pull/36403 (@Gae24, #36403) script: Correctly con # to run some tests manually later. Behavior is covered by the WPT. # Co-authored-by: Oriol Brufau # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36416 (@sagudev, #36416) mach try: Add `wpt` alias for `linux-wpt` (#36416) +-https://github.com/servo/servo/pull/36416 (@sagudev, #36416) mach try: Add `wpt` alias for `linux-wpt` (#36416) # Add `wpt` alias for `linux-wpt` in try_parser, because that's the what I have in muscle memory. # Testing: Tested with new try_parser unit tests. -https://github.com/servo/servo/pull/36411 (@Loirooriol, #36411) Add serde and wgsl features to wgpu-core (#36411) @@ -1513,7 +1522,8 @@ https://github.com/servo/servo/pull/36439 (@kkoyung, #36439) Drop vergen_git2 de # Testing: This change is untested, because there is no good way to test that the # version number embedded into Servo is correct currently. # Fixes: #36435 -https://github.com/servo/servo/pull/36436 (@jdm, #36436) Run all CSP tests in CI by default. (#36436) ++https://github.com/servo/servo/pull/36436 (@jdm, #36436) Run all CSP tests in CI by default. (#36436) + test # Extending the original set from #36402 since there are additional tests relevant to the work happening in #36409 # and #36363. # Testing: New tests in CI. @@ -1639,7 +1649,8 @@ https://github.com/servo/servo/pull/36464 (@yerke, #36464) add CanGc as argument # Testing: These changes do not require tests because they are a refactor. # Addresses part of https://github.com/servo/servo/issues/34573. >>> 2025-04-13T06:07:31Z -https://github.com/servo/servo/pull/36454 (@TimvdLippe, @jdm, #36454) Implement "Create a Trusted Type" algorithm (#36454) ++https://github.com/servo/servo/pull/36454 (@TimvdLippe, @jdm, #36454) Implement "Create a Trusted Type" algorithm (#36454) + api; start of trusted types # This algorithm is quite straightforward written in the specification, # but leads to some type awkwardness in Rust. Most notably, the callbacks # have different types and cannot be unified easily. They also return @@ -1730,7 +1741,8 @@ https://github.com/servo/servo/pull/36487 (@sebsebmc@gmail.com, #36487) Update P >>> 2025-04-14T06:06:10Z -https://github.com/servo/servo/pull/36507 (@simonwuelker, #36507) Remove HTMLStyleElement::line_number (#36507) # This field is unused. -https://github.com/servo/servo/pull/36409 (@TimvdLippe, @jdm, #36409) Update FetchTaskTarget to propagate CSP violations. (#36409) ++https://github.com/servo/servo/pull/36409 (@TimvdLippe, @jdm, #36409) Update FetchTaskTarget to propagate CSP violations. (#36409) + api; trusted types # It also updates the FetchResponseListener to process CSP violations to ensure that iframe elements (amongst others) # properly generate the CSP events. These iframe elements are used in the Trusted Types tests themselves and weren't # propagating the violations before. @@ -1757,7 +1769,7 @@ https://github.com/servo/servo/pull/36308 (@jerensl, #36308) Support optional me # needs to use the stored error message if it's available # Testing: *Describe how this pull request is tested or why it doesn't require tests* # Fixes: #36191 -https://github.com/servo/servo/pull/36501 (@jdm, #36501) Fix typo in tracing code. (#36501) +-https://github.com/servo/servo/pull/36501 (@jdm, #36501) Fix typo in tracing code. (#36501) # Presumably this was an autocomplete mistake. # Testing: ran Servo with RUST_LOG enabled. No panic any more. https://github.com/servo/servo/pull/36495 (@yerke, #36495) add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement (#36495) @@ -1918,7 +1930,8 @@ https://github.com/servo/servo/pull/36492 (@yerke, #36492) add CanGc as argument # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36363 (@TimvdLippe, @jdm, #36363) Implement CSP check for Trusted Types (#36363) ++https://github.com/servo/servo/pull/36363 (@TimvdLippe, @jdm, #36363) Implement CSP check for Trusted Types (#36363) + api; trusted types # The algorithm [1] is implemented in the content-security-policy # package. # Requires https://github.com/rust-ammonia/rust-content-security-policy/pull/56 @@ -2162,7 +2175,8 @@ https://github.com/servo/servo/pull/36535 (@kkoyung, #36535) Make DOMException s https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @schwenderjonathan@gmail.com, #36444) [OHOS] Allow setting the log-filter via cli arguments (#36444) # This PR allows setting the log-filter according to the env_filter spec via CLI arguments. # Testing is currently in progress, will be done on machines running OHOS. -https://github.com/servo/servo/pull/36531 (@jschwe, #36531) touch: Fix panic with -Zconvert-mouse-to-touch (#36531) ++https://github.com/servo/servo/pull/36531 (@jschwe, #36531) touch: Fix panic with -Zconvert-mouse-to-touch (#36531) + crash # - We previously converted all mouse move events to touch events, but we should only be doing that while a mouse # button is pressed (a finger always does touch-down -> move -> up / cancel) # - Only consider Left mouse button for mouse-to-touch. We currently already hardcode TouchId 0, which we would need @@ -2180,7 +2194,8 @@ https://github.com/servo/servo/pull/36531 (@jschwe, #36531) touch: Fix panic wit https://github.com/servo/servo/pull/36181 (@gterzian, #36181) Transfer ReadableStream (#36181) # Add transfer support to ReadableStream. Part of https://github.com/servo/servo/issues/34676 >>> 2025-04-17T06:08:43Z -https://github.com/servo/servo/pull/36491 (@jdm, #36491) Fix crash when enumerating properties of global object (#36491) ++https://github.com/servo/servo/pull/36491 (@jdm, #36491) Fix crash when enumerating properties of global object (#36491) + crash # These changes make our implementation of the enumeration hook for globals [match # Gecko's](https://searchfox.org/mozilla-central/rev/1f65969e57c757146e3e548614b49d3a4168eeb8/dom/base/nsGlobalWindowInner # .cpp#3297), @@ -2244,20 +2259,24 @@ https://github.com/servo/servo/pull/36566 (@Taym95, #36566) fix writablestream a # addition, we also made a test case that always causes this crash, but since it # had to create 100000 ``s it's probably not appropriate for a test suite. # Fixes: #36551 -https://github.com/servo/servo/pull/36557 (@jdm, #36557) compositing: Add memory reporter for WebRender. (#36557) ++https://github.com/servo/servo/pull/36557 (@jdm, #36557) compositing: Add memory reporter for WebRender. (#36557) + perf; memory usage # This adds a memory reporter for WebRender's memory usage. I # seeded it with a couple entries that looked reasonable based on # https://searchfox.org/mozilla-central/rev/2c71f1e9b5947612abdc16b64008162c58c1b9d3/gfx/thebes/gfxPlatform.cpp#722-738. # Testing: Verified that new numbers appear in about:memory for servo.org. The new images category is surprisingly # large (40mb). -https://github.com/servo/servo/pull/36556 (@jdm, #36556) net: Report memory usage for image cache. (#36556) ++https://github.com/servo/servo/pull/36556 (@jdm, #36556) net: Report memory usage for image cache. (#36556) + perf; memory usage # These changes add a new report for image cache memory usage for each script thread. # Testing: Looked at the numbers after browsing various stock photo sites that show galleries of images. -https://github.com/servo/servo/pull/36558 (@jdm, #36558) net: Measure HSTS memory usage. (#36558) ++https://github.com/servo/servo/pull/36558 (@jdm, #36558) net: Measure HSTS memory usage. (#36558) + perf; memory usage # Records the memory usage of the HSTS lists in the network thread. # Testing: Verified the presence of the new reports for servo.org. # Fixes: #35059 -https://github.com/servo/servo/pull/36564 (@jschwe, #36564) uv: Use native-tls (#36564) ++https://github.com/servo/servo/pull/36564 (@jschwe, #36564) uv: Use native-tls (#36564) + build # uv by default uses baked in webpki certificates. # Using the system certificates is preferable for multiple reasons: # - OS updates will automatically update the certificates (including revoking) @@ -2274,7 +2293,8 @@ https://github.com/servo/servo/pull/36564 (@jschwe, #36564) uv: Use native-tls ( # to run `Servo` unit tests. This will allow creating suites of `WebView` # unit tests. # Testing: This change includes a new test. -https://github.com/servo/servo/pull/36494 (@jdm, #36494) Fix crash when setting custom property on Location (#36494) ++https://github.com/servo/servo/pull/36494 (@jdm, #36494) Fix crash when setting custom property on Location (#36494) + crash # The JS engine uses types like `Handle>` in various places and our automated bindings are not able to handle the # Maybe type. We have hand-written bindings that use outparams to indicate a PropertyDescriptor value is actually the # Nothing type, but that data was getting lost when we passed the property descriptor to SetPropertyIgnoringNamedGetter, @@ -2290,7 +2310,8 @@ https://github.com/servo/servo/pull/36541 (@rayguo17, #36541) media element: sup # Will wait for https://github.com/servo/media/pull/435 before turning this to ready for review. # cc @jdm @xiaochengh >>> 2025-04-18T06:10:13Z -https://github.com/servo/servo/pull/36579 (@jdm, #36579) Refactor common infrastructure for creating memory reports. (#36579) ++https://github.com/servo/servo/pull/36579 (@jdm, #36579) Refactor common infrastructure for creating memory reports. (#36579) + perf; memory usage # This removes a bunch of duplicated code needed to support ConditionalMallocSizeOf correctly, and fixes multiple # places where that code was subtly wrong (the seen pointers hashset was never cleared). # Testing: Measuring https://www.nist.gov/image-gallery lots of times. @@ -2323,7 +2344,8 @@ https://github.com/servo/servo/pull/36510 (@TimvdLippe, #36510) Check CSP for in # had the same problem, so it seems safer to address it in general. # Testing: this makes a WPT test pass # Fixes: #36570 -https://github.com/servo/servo/pull/36581 (@jdm, #36581) Report memory usage for image frames. (#36581) ++https://github.com/servo/servo/pull/36581 (@jdm, #36581) Report memory usage for image frames. (#36581) + perf; memory usage # These changes make the image-cache memory reporter report much larger values after loading image-heavy pages. # Testing: Manual testing on https://www.nist.gov/image-gallery # Fixes: #36559 @@ -2366,17 +2388,20 @@ https://github.com/servo/servo/pull/36569 (@andrei.volykhin@gmail.com, #36569) i # some logic to keep the baked in resources for tests only and initialize # the resource reader on first access. >>> 2025-04-19T06:03:48Z -https://github.com/servo/servo/pull/36560 (@sidntrivedi012@gmail.com, @jdm, #36560) content/dom: set navigator.onLine attribute to `true` (#36560) ++https://github.com/servo/servo/pull/36560 (@sidntrivedi012@gmail.com, @jdm, #36560) content/dom: set navigator.onLine attribute to `true` (#36560) + api; fixes pinterest # Sets the navigator.onLine attribute to true. # Testing: # Ran `./mach run https://pinterest.com --enable-experimental-web-platform-features`. This doesn't show the # "Hmm..you're not connected to the internet" text anymore. # part of: #36554 -https://github.com/servo/servo/pull/36553 (@jdm, #36553) layout: Report memory usage for fragment and box trees. (#36553) ++https://github.com/servo/servo/pull/36553 (@jdm, #36553) layout: Report memory usage for fragment and box trees. (#36553) + perf; memory usage # Add memory reporter integration for the fragment and box trees that are persisted in the layout thread. # Testing: Looked at the numbers for https://servo.org and https://html.spec.whatwg.org/. The former was very small, # but the latter was 700mb. -https://github.com/servo/servo/pull/36600 (@barigbuenbira@gmail.com, @jdm, #36600) Prevent multiple notifications for image dimensions (#36600) ++https://github.com/servo/servo/pull/36600 (@barigbuenbira@gmail.com, @jdm, #36600) Prevent multiple notifications for image dimensions (#36600) + perf # Added a simple check to only perform metadata extraction and listener notification when we haven't already processed # the metadata for an image # Testing: Existing tests should cover if we break decoding image metadata complete. @@ -2414,10 +2439,11 @@ https://github.com/servo/servo/pull/36413 (@yezhizhen, #36413) Move click event # Fixes: This is part of #36525. https://github.com/servo/servo/pull/36588 (@gterzian, #36588) Streams: make writable streams transferrable (#36588) # Making writable streams transferrable, part of https://github.com/servo/servo/issues/34676 -https://github.com/servo/servo/pull/36486 (@sagudev, #36486) chore: Update wgpu to v25 (#36486) ++https://github.com/servo/servo/pull/36486 (@sagudev, #36486) chore: Update wgpu to v25 (#36486) + upgrade # Updates wgpu to v25 and remove some verbose logging from CTS (that also causes OOM). # Testing: WebGPU CTS -https://github.com/servo/servo/pull/36584 (@sagudev, #36584) CI: Add `number_of_chunks` (#36584) +-https://github.com/servo/servo/pull/36584 (@sagudev, #36584) CI: Add `number_of_chunks` (#36584) # This allows changing number of chunks used for WPT testing (sometimes useful for WebGPU). # Testing: Manual try runs # Fixes: #30062 @@ -2425,13 +2451,15 @@ https://github.com/servo/servo/pull/36584 (@sagudev, #36584) CI: Add `number_of_ -https://github.com/servo/servo/pull/36618 (@servo-wpt-sync, #36618) Sync WPT with upstream (20-04-2025) (#36618) # Automated downstream sync of changes from upstream as of 20-04-2025 # [no-wpt-sync] -https://github.com/servo/servo/pull/36605 (@elomscansio, @jdm, #36605) htmlvideoelement: Include security settings in poster image request (#36605) ++https://github.com/servo/servo/pull/36605 (@elomscansio, @jdm, #36605) htmlvideoelement: Include security settings in poster image request (#36605) + net # This PR addresses [#36593](https://github.com/servo/servo/issues/36593), where the poster image request for `` # elements lacked several settings introduced in `RequestBuilder`. These settings — `insecure_requests_policy`, # `has_trustworthy_ancestor_origin`, and `policy_container` — are now forwarded from the document, aligning poster # requests with other fetches using the correct policy container and trust assessment. # This ensures that poster images are requested under the same security assumptions as other media or resource loads. -https://github.com/servo/servo/pull/36617 (@jdm, #36617) Use swap_remove when unrooting DOM objects. (#36617) ++https://github.com/servo/servo/pull/36617 (@jdm, #36617) Use swap_remove when unrooting DOM objects. (#36617) + perf # Profiling from #36609 showed this is an easy win. Ordering of our root list does not matter, so swap_remove is a # constant time operation compared to a linear time one that caused memmove to appear in profiles with lots of unrooting. # Testing: Existing WPT tests will cover this change. @@ -2451,7 +2479,8 @@ https://github.com/servo/servo/pull/36542 (@nicoburns, #36542) Use version of `m # This is part of the larger layout interface cleanup and optimization that # @Looriool and I are doing. # Testing: Covered by existing tests as this is just code movement. -https://github.com/servo/servo/pull/36612 (@jdm, #36612) script: Only register one image callback per CSS image in use. (#36612) ++https://github.com/servo/servo/pull/36612 (@jdm, #36612) script: Only register one image callback per CSS image in use. (#36612) + perf # When layout encounters a CSS image, the script thread is responsible for fetching the image from the image cache. When # the image is not yet available, the script thread creates image cache listeners to perform actions in response to # future updates from the image cache. @@ -2492,7 +2521,8 @@ https://github.com/servo/servo/pull/36619 (@yezhizhen, #36619) Rework `ScriptThr # Testing: Manually tested. Right mouse won't trigger click event now. # Fixes: #35666 # cc @jdm @xiaochengh -https://github.com/servo/servo/pull/36604 (@jdm, #36604) Eagerly define interfaces on non-Window globals (#36604) ++https://github.com/servo/servo/pull/36604 (@jdm, #36604) Eagerly define interfaces on non-Window globals (#36604) + perf; memory usage # These changes make us match Gecko's setup for how Window and non-Window globals are initialized. Since Window globals # are much more common than Worker globals, using lazy interface definitions can be a useful memory optimization at # the expense of increased complexity for property lookups. @@ -2521,12 +2551,12 @@ https://github.com/servo/servo/pull/36606 (@elomscansio, #36606) Fix missing set # This change ensures that scripts loaded via `` or dynamic `import()` correctly reflect the calling document’s # security environment. >>> 2025-04-22T06:06:20Z -https://github.com/servo/servo/pull/36641 (@sagudev, #36641) dependabot: group objc2 crates (#36641) +-https://github.com/servo/servo/pull/36641 (@sagudev, #36641) dependabot: group objc2 crates (#36641) # or else their PRs will fail in tidy: # https://github.com/servo/servo/pull/36637 # https://github.com/servo/servo/pull/36635 # Testing: It's bot config so no testing is possible. -https://github.com/servo/servo/pull/36624 (@jdm, #36624) Reduce indexing boilerplate for serializable/transferrable objects. (#36624) +-https://github.com/servo/servo/pull/36624 (@jdm, #36624) Reduce indexing boilerplate for serializable/transferrable objects. (#36624) # Rather than creating unique types for each pipeline-namespaced index type (eg. MessagePortId, DomExceptionId, # etc.), we can create a generic common type that uses a marker to prevent type confusion. This change allows us to # reduce the boilerplate code required when implementing serializable/transferable interfaces, since the structured @@ -2665,7 +2695,7 @@ https://github.com/servo/servo/pull/36628 (@gterzian, #36628) Streams: remove un # This removes a now unnecessary handling of dataclone error when port posts a message handling error to support # stream transfers. # Fix https://github.com/servo/servo/issues/36479 -https://github.com/servo/servo/pull/36625 (@jdm, #36625) Remove unnecessary map_err. (#36625) +-https://github.com/servo/servo/pull/36625 (@jdm, #36625) Remove unnecessary map_err. (#36625) # #36361 changed the return type of structuredclone::read, so this code is just stomping on an error value that is # potentially more useful since #36308 was merged. # Testing: Existing WPT test coverage. @@ -2677,7 +2707,8 @@ https://github.com/servo/servo/pull/36508 (@mukilan, #36508) script: `LoadBlocke # unnecessary 'unknown completed load' warnings when Servo is run with # logging enabled. # Signed-off-by: Mukilan Thiyagarajan -https://github.com/servo/servo/pull/36596 (@TimvdLippe, @jdm, #36596) Implement trusted types url setter (#36596) ++https://github.com/servo/servo/pull/36596 (@TimvdLippe, @jdm, #36596) Implement trusted types url setter (#36596) + api; trusted types # We now check the sink of script.src for trusted types. This is the first attribute that we check, other sinks will # be implemented in follow-up changes. # The algorithms currently hardcode various parts. That's because I need to refactor a couple of algorithms already @@ -2837,7 +2868,7 @@ https://github.com/servo/servo/pull/36648 (@pewsheen, #36648) chore: remove unne https://github.com/servo/servo/pull/36638 (@gterzian, #36638) Streams: fix writable transfer sink abort steps (#36638) # Fixes an error where a promise was rejected where it should have been resolved. # Follow-up to https://github.com/servo/servo/pull/36588/files#r2049437506; the initial diagnosis was wrong. -https://github.com/servo/servo/pull/36642 (@sagudev, #36642) Fixup dependabot.yml (#36642) +-https://github.com/servo/servo/pull/36642 (@sagudev, #36642) Fixup dependabot.yml (#36642) # fixups https://github.com/servo/servo/pull/36641, as yaml was not valid (one ` ` to many). # Testing: No testing for bot config. >>> 2025-04-24T06:04:39Z @@ -2886,7 +2917,7 @@ https://github.com/servo/servo/pull/36642 (@sagudev, #36642) Fixup dependabot.ym https://github.com/servo/servo/pull/36586 (@webbeef, #36586) Implement CSSStyleSheet::replaceSync (#36586) # Implements the `replaceSync` method on CSSStyleSheet # Testing: Covered by wpt tests. Expectations are updated. -https://github.com/servo/servo/pull/36640 (@jdm, #36640) script: Add generic root storage to StructuredCloneReader. (#36640) +-https://github.com/servo/servo/pull/36640 (@jdm, #36640) script: Add generic root storage to StructuredCloneReader. (#36640) # This reduces the boilerplate necessary for adding new serializable/transferable interfaces to the structured # cloning code. We always need to root the deserialized objects when performing a read operation, but we don't # actually need the concrete object types in the majority of cases. By storing a list of rooted JS object values, @@ -2918,7 +2949,8 @@ https://github.com/servo/servo/pull/36632 (@atbrakhi, #36632) DevTools: Add `res # fragment tree traversal and to, in general, make the code a bit more # organized. # Testing: This should not change any behavior so is covered by existing WPT tests. -https://github.com/servo/servo/pull/36119 (@sagudev, #36119) Introduce snapshot concept of canvas (#36119) ++https://github.com/servo/servo/pull/36119 (@sagudev, #36119) Introduce snapshot concept of canvas (#36119) + perf # Each canvas context returns snapshot instead of just raw bytes. This allows as to hold off conversions (BGRA RGBA, # (un)premultiply) to when/if they are actually needed. For example when loading snapshot into webgl we can load # both RGBA and BGRA so no conversion is really needed. @@ -2996,7 +3028,8 @@ https://github.com/servo/servo/pull/36621 (@elomscansio, #36621) layout_image: I # - `insecure_requests_policy` # - `has_trustworthy_ancestor_origin` # - `policy_container` -https://github.com/servo/servo/pull/36664 (@jdm, #36664) script: Measure stored layout data memory usage. (#36664) ++https://github.com/servo/servo/pull/36664 (@jdm, #36664) script: Measure stored layout data memory usage. (#36664) + perf; memory usage # We previously ignored the opaque layout data field inside each node when measuring a DOM node's memory usage. While # some of the reachable memory was accounted for by measuring the layout's box tree, measuring it via the node ensures # that we don't miss anything. Since there are often Arc values involved, this means that the layout-thread box tree @@ -3006,7 +3039,7 @@ https://github.com/servo/servo/pull/36664 (@jdm, #36664) script: Measure stored servoshell # This ensures that the select element is usable when there are a lot of options. # Testing: We don't have tests for servoshell. -https://github.com/servo/servo/pull/36672 (@sagudev, #36672) Disable serviceworkers for webgpu CTS tests (#36672) +-https://github.com/servo/servo/pull/36672 (@sagudev, #36672) Disable serviceworkers for webgpu CTS tests (#36672) # https://github.com/servo/servo/pull/36335 enabled all experimental features for all wpt tests, but # `dom_serviceworker_enabled` makes all CTS tests fail, because servo reports working service worker impl, but # CTS pre-setup of worker fails due too incomplete impl. The solution is that we disable service workers in CTS @@ -3116,14 +3149,15 @@ https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test targ # - https://github.com/versotile-org/tauri-runtime-verso/issues/6#issuecomment-2820776128 # Testing: use `fetch('urlinfo://abc').then(async (response) => console.log(await response.text())).catch(console.log)` # in servoshell with in a secure context (e.g. https://servo.org), and see the response should not be an error -https://github.com/servo/servo/pull/36688 (@jschwe, #36688) Return Result from ProtocolRegistry::register() (#36688) +-https://github.com/servo/servo/pull/36688 (@jschwe, #36688) Return Result from ProtocolRegistry::register() (#36688) # Instead of returning true / false it's better to return a Result (even if we continue ignoring possible error). # Testing: Doesn't change any behavior https://github.com/servo/servo/pull/36589 (@sebsebmc@gmail.com, #36589) Implement static Response.json (#36589) # Implements https://fetch.spec.whatwg.org/#dom-response-json # Restructured the constructor to follow the spec more closely with a separate "initialize the response" algorithm. # Testing: There are existing WPT tests for this. -https://github.com/servo/servo/pull/27041 (@jdm, #27041) Report exceptions for async script executions to webdriver (#27041) ++https://github.com/servo/servo/pull/27041 (@jdm, #27041) Report exceptions for async script executions to webdriver (#27041) + test; servodriver bustage # Improving the accuracy of the async script execution for our webdriver implementation allows us to run many more # webdriver tests without timeouts, which should help with https://github.com/web-platform-tests/wpt/issues/24257. # Specification: @@ -3149,7 +3183,7 @@ https://github.com/servo/servo/pull/27041 (@jdm, #27041) Report exceptions for a https://github.com/servo/servo/pull/36431 (@elomscansio, #36431) htmlinputelement: Update radio group validity logic for disconnected trees (#36431) # This PR updates the validity state revalidation behavior for radio input elements, ensuring consistent logic # regardless of tree connectivity. -https://github.com/servo/servo/pull/36713 (@jdm, #36713) constellation: Move log inside relevant conditional. (#36713) +-https://github.com/servo/servo/pull/36713 (@jdm, #36713) constellation: Move log inside relevant conditional. (#36713) # This message is logged when we don't actually act on it and is confusing as a result. By moving it inside the # conditional, we only log the message when we actually notify webdriver that the load is complete. # Testing: Manual testing. From 66136fffed54050f51afce32e379c6349753872f Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 13:09:12 +0800 Subject: [PATCH 21/81] Triage 163/239 of the remaining commits --- commits.txt | 56 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/commits.txt b/commits.txt index 7e6412a12..5668878f5 100644 --- a/commits.txt +++ b/commits.txt @@ -310,7 +310,8 @@ https://github.com/servo/servo/pull/36257 (@stevennovaryo, #36257) canvas: Imple # db # Testing: covered by WPT # This is part of https://github.com/servo/servo/issues/36245 -https://github.com/servo/servo/pull/35971 (@delan, #35971) devtools: Fix id collisions by using incrementing counters (#35971) ++https://github.com/servo/servo/pull/35971 (@delan, #35971) devtools: Fix id collisions by using incrementing counters (#35971) + devtools # Devtools clients need a `browserId`, `browsingContextID`, and `outerWindowID`, which correspond to WebViewId, # BrowsingContextId, and PipelineId in Servo. These u32 values were previously derived from our sharded (u32,u32) # id values by taking only the `index` (second u32) and ignoring the `namespace_id` (first u32), leading to collisions. @@ -942,7 +943,8 @@ https://github.com/servo/servo/pull/36157 (@sebsebmc@gmail.com, #36157) Check al # [mixed-content/nested-iframes](https://github.com/web-platform-tests/wpt/blob/master/mixed-content/nested-iframes.window # .js) >>> 2025-04-07T06:06:24Z -https://github.com/servo/servo/pull/36336 (@Gae24, #36336) dom: Implement `ClipboardItem` (#36336) ++https://github.com/servo/servo/pull/36336 (@Gae24, #36336) dom: Implement `ClipboardItem` (#36336) + api; clipboard # implement the `ClipboardItem` interface # Testing: covered by existing wpt tests # part of #36084 @@ -950,7 +952,8 @@ https://github.com/servo/servo/pull/36375 (@yerke, #36375) Add CanGc as argument # Add CanGc as arguments in methods in devtools.rs, CharacterData, CSSStyleRule, CSSStyleSheet # Testing: These changes do not require tests because they are a refactor. # Addressed part of https://github.com/servo/servo/issues/34573. -https://github.com/servo/servo/pull/36252 (@elomscansio, #36252) Fix radio group validity update when removing or selecting an input (#36252) ++https://github.com/servo/servo/pull/36252 (@elomscansio, #36252) Fix radio group validity update when removing or selecting an input (#36252) + forms # This PR fixes an issue where radio inputs in the same group failed to correctly update their `validity.valueMissing` # state when: # - A **checked radio button was removed** from the DOM. @@ -1102,7 +1105,8 @@ https://github.com/servo/servo/pull/36390 (@sebsebmc@gmail.com, #36390) fix: met # property. # Testing: There are WPT tests for this change. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36385 (@gterzian, #36385) Streams: add an underlying sink type (#36385) ++https://github.com/servo/servo/pull/36385 (@gterzian, #36385) Streams: add an underlying sink type (#36385) + api; streams # Introduces the concept of different types of underlying sinks for the writable controller, and a minor fix to the # abort algorithm. # The dead code is already used in the wip at https://github.com/servo/servo/pull/36181/, and will also be used @@ -1133,7 +1137,8 @@ https://github.com/servo/servo/pull/35978 (@yezhizhen, #35978) Fix transition to # It's not really implemented beyond parsing, but it should be safe to enable. It mostly changes test results from # ERROR to FAIL. # This is part of #36315 -https://github.com/servo/servo/pull/36377 (@mukilan, #36377) ci: use Ubuntu 22.04 for nightly jobs (#36377) ++https://github.com/servo/servo/pull/36377 (@mukilan, #36377) ci: use Ubuntu 22.04 for nightly jobs (#36377) + test # The upstream PR (web-platform-tests/wpt#51084) to update the WPT.fyi docker image to 22.04 landed a few days back. No # new issues have been discovered so far in wpt.fyi, so it should be safe for us to move to 22.04 for the nightly builds. # Fixes #35747. @@ -1380,7 +1385,7 @@ https://github.com/servo/servo/pull/36347 (@barigbuenbira@gmail.com, #36347) ref # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36403 (@Gae24, #36403) script: Correctly convert a jsval to a `Promise` (#36403) +-https://github.com/servo/servo/pull/36403 (@Gae24, #36403) script: Correctly convert a jsval to a `Promise` (#36403) # Fixes an oversight of #36097, in which converting to a Promise would fail if the value passed wasn't actually a # Promise, while in binding code we actually call `Promise::new_resolved` on the value. # Testing: There are wpt tests that should pass now @@ -1950,7 +1955,8 @@ https://github.com/servo/servo/pull/36492 (@yerke, #36492) add CanGc as argument https://github.com/servo/servo/pull/36511 (@TimvdLippe, #36511) Gate `window.trustedTypes` behind flag (#36511) # This was missed in #36355 and should have also been gated by the flag. With these, the wpt.fyi tests should now # no longer pass, as the flag hasn't been removed yet. -https://github.com/servo/servo/pull/36498 (@Gae24, #36498) async clipboard: implement `writeText` (#36498) ++https://github.com/servo/servo/pull/36498 (@Gae24, #36498) async clipboard: implement `writeText` (#36498) + api; clipboard # Implement enough of the Clipboard API to have a working `writeText`. # Testing: Unfortunately many clipboard-apis tests require testdriver, so only idlharness ones will pass now. +https://github.com/servo/servo/pull/36419 (@mrobinson, @shubham13297@gmail.com, #36419) libservo: Make zooming and HiDPI scaling work per-`WebView` (#36419) @@ -2191,7 +2197,8 @@ https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @schwenderjonathan # compositor no longer woke up the embedder. There is a larger issue # here, but this change exacerbated it. # Fixes #36528. -https://github.com/servo/servo/pull/36181 (@gterzian, #36181) Transfer ReadableStream (#36181) ++https://github.com/servo/servo/pull/36181 (@gterzian, #36181) Transfer ReadableStream (#36181) + api; streams # Add transfer support to ReadableStream. Part of https://github.com/servo/servo/issues/34676 >>> 2025-04-17T06:08:43Z +https://github.com/servo/servo/pull/36491 (@jdm, #36491) Fix crash when enumerating properties of global object (#36491) @@ -2437,7 +2444,8 @@ https://github.com/servo/servo/pull/36413 (@yezhizhen, #36413) Move click event # colgroups do not produce any. # Testing: This is covered by existing tests. # Fixes: This is part of #36525. -https://github.com/servo/servo/pull/36588 (@gterzian, #36588) Streams: make writable streams transferrable (#36588) ++https://github.com/servo/servo/pull/36588 (@gterzian, #36588) Streams: make writable streams transferrable (#36588) + api; streams # Making writable streams transferrable, part of https://github.com/servo/servo/issues/34676 +https://github.com/servo/servo/pull/36486 (@sagudev, #36486) chore: Update wgpu to v25 (#36486) upgrade @@ -2540,7 +2548,8 @@ https://github.com/servo/servo/pull/36620 (@saku@email.sakupi01.com, #36620) Fix # - `declarative-shadow-dom-write-to-iframe.html` # - `declarative-shadow-dom-repeats.html` # Fixes: #36100 -https://github.com/servo/servo/pull/36606 (@elomscansio, #36606) Fix missing settings in script module requests (#36606) ++https://github.com/servo/servo/pull/36606 (@elomscansio, #36606) Fix missing settings in script module requests (#36606) + net # This PR resolves [#36592](https://github.com/servo/servo/issues/36592) by updating the `RequestBuilder` used in # `script_module.rs` to include: # - `insecure_requests_policy` @@ -2642,7 +2651,8 @@ https://github.com/servo/servo/pull/36606 (@elomscansio, #36606) Fix missing set # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36631 (@atbrakhi, #36631) DevTools: `worker_id` shoud be `id` & thread for workers should be `thread` (#36631) ++https://github.com/servo/servo/pull/36631 (@atbrakhi, #36631) DevTools: `worker_id` shoud be `id` & thread for workers should be `thread` (#36631) + devtools # This is part of https://github.com/servo/servo/pull/36562, where I discovered that we are sending thread as `context` # and `id` for worker is called `worked_id`. In this PR, I have renamed the `worker_id` to `id` and thread is sent as # `thread` and not context. These chages were tested in #36562 @@ -2691,7 +2701,7 @@ https://github.com/servo/servo/pull/36603 (@TimvdLippe, #36603) Set correct poli # same kind of naming as `ServoRenderer`). # - `compositing::RendererWebView` -> `compositing::WebViewTrait` # Testing: This is just a couple renames so should be covered by existing tests. -https://github.com/servo/servo/pull/36628 (@gterzian, #36628) Streams: remove unnecessary special hanlding of dataclone error (#36628) +-https://github.com/servo/servo/pull/36628 (@gterzian, #36628) Streams: remove unnecessary special hanlding of dataclone error (#36628) # This removes a now unnecessary handling of dataclone error when port posts a message handling error to support # stream transfers. # Fix https://github.com/servo/servo/issues/36479 @@ -2699,7 +2709,7 @@ https://github.com/servo/servo/pull/36628 (@gterzian, #36628) Streams: remove un # #36361 changed the return type of structuredclone::read, so this code is just stomping on an error value that is # potentially more useful since #36308 was merged. # Testing: Existing WPT test coverage. -https://github.com/servo/servo/pull/36508 (@mukilan, #36508) script: `LoadBlocker`'s drop impl shouldn't run after termination. (#36508) +-https://github.com/servo/servo/pull/36508 (@mukilan, #36508) script: `LoadBlocker`'s drop impl shouldn't run after termination. (#36508) # The logic in LoadBlocker::terminate was modified in #34122 to `clone` # the LoadBlocker's inner `load` member instead of `take`ing it. However, # this member serves as a flag so that `LoadBlocker`'s Drop impl can avoid @@ -2718,7 +2728,8 @@ https://github.com/servo/servo/pull/36508 (@mukilan, #36508) script: `LoadBlocke # The other trusted types support (createScript and createHTML) will also be implemented separately. # Part of #36258 >>> 2025-04-23T06:05:55Z -https://github.com/servo/servo/pull/36573 (@PartiallyUntyped, #36573) [tracing] Add convenience macro for function tracing (#36573) ++https://github.com/servo/servo/pull/36573 (@PartiallyUntyped, #36573) [tracing] Add convenience macro for function tracing (#36573) + perf; tracing support # Adds a convenience macro that adds sane defaults to the tracing macro. # Closes: #36534 # Testing: @@ -2865,7 +2876,7 @@ https://github.com/servo/servo/pull/36648 (@pewsheen, #36648) chore: remove unne # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36638 (@gterzian, #36638) Streams: fix writable transfer sink abort steps (#36638) +-https://github.com/servo/servo/pull/36638 (@gterzian, #36638) Streams: fix writable transfer sink abort steps (#36638) # Fixes an error where a promise was rejected where it should have been resolved. # Follow-up to https://github.com/servo/servo/pull/36588/files#r2049437506; the initial diagnosis was wrong. -https://github.com/servo/servo/pull/36642 (@sagudev, #36642) Fixup dependabot.yml (#36642) @@ -2923,7 +2934,8 @@ https://github.com/servo/servo/pull/36586 (@webbeef, #36586) Implement CSSStyleS # actually need the concrete object types in the majority of cases. By storing a list of rooted JS object values, # we can push generic reflector objects into it, and extract the types we need (MessagePort) at the very end. # Testing: Existing WPT structured cloning tests will provide coverage. -https://github.com/servo/servo/pull/36632 (@atbrakhi, #36632) DevTools: Add `resource_available` as a common shared util (#36632) ++https://github.com/servo/servo/pull/36632 (@atbrakhi, #36632) DevTools: Add `resource_available` as a common shared util (#36632) + devtools # These PR adds `resource_available` as a common shared util # - [x] ./mach build -d does not report any errors # - [x] ./mach test-tidy does not report any errors @@ -3023,7 +3035,8 @@ https://github.com/servo/servo/pull/36632 (@atbrakhi, #36632) DevTools: Add `res # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36621 (@elomscansio, #36621) layout_image: Include missing request settings in layout-initiated image loads (#36621) ++https://github.com/servo/servo/pull/36621 (@elomscansio, #36621) layout_image: Include missing request settings in layout-initiated image loads (#36621) + net # This PR updates the `fetch_image_for_layout` function to include missing security-related request settings: # - `insecure_requests_policy` # - `has_trustworthy_ancestor_origin` @@ -3046,7 +3059,8 @@ https://github.com/servo/servo/pull/36621 (@elomscansio, #36621) layout_image: I # `__dir__.ini` (thus avoiding any CTS worker code) until impl is stable enough. # Testing: This makes tests works again # Fixes: #36657 -https://github.com/servo/servo/pull/36667 (@atbrakhi, #36667) DevTools: Move `Source` related code to dedicated `source.rs` file (#36667) ++https://github.com/servo/servo/pull/36667 (@atbrakhi, #36667) DevTools: Move `Source` related code to dedicated `source.rs` file (#36667) + devtools; Sources tab # Currently Source related code exists in watcher.rs and thread.rs. This change moves source-related code to a dedicated # source.rs file. This is in preparation for adding support for showing source code in the Debugger > Source panel. # - [x] Testing: These changes should not affect current functionality as it only moves the existing code @@ -3180,14 +3194,16 @@ https://github.com/servo/servo/pull/36589 (@sebsebmc@gmail.com, #36589) Implemen # no longer does, so they are unused. They can simply be removed. # Testing: No new tests as this is effectively dead code. >>> 2025-04-28T06:03:44Z -https://github.com/servo/servo/pull/36431 (@elomscansio, #36431) htmlinputelement: Update radio group validity logic for disconnected trees (#36431) ++https://github.com/servo/servo/pull/36431 (@elomscansio, #36431) htmlinputelement: Update radio group validity logic for disconnected trees (#36431) + forms # This PR updates the validity state revalidation behavior for radio input elements, ensuring consistent logic # regardless of tree connectivity. -https://github.com/servo/servo/pull/36713 (@jdm, #36713) constellation: Move log inside relevant conditional. (#36713) # This message is logged when we don't actually act on it and is confusing as a result. By moving it inside the # conditional, we only log the message when we actually notify webdriver that the load is complete. # Testing: Manual testing. -https://github.com/servo/servo/pull/36622 (@elomscansio, #36622) script_thread: HTML parser doesn't set relevant option (#36622) ++https://github.com/servo/servo/pull/36622 (@elomscansio, #36622) script_thread: HTML parser doesn't set relevant option (#36622) + parse # This patch ensures that the Servo HTML parser uses the appropriate `TreeBuilderOpts` settings # as specified by the HTML specification. # Changes: From 97e32103798a306ece4e43f62abf935933c6ff8a Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 13:19:48 +0800 Subject: [PATCH 22/81] Replace email addresses with GitHub handles --- commits.txt | 66 ++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/commits.txt b/commits.txt index 5668878f5..73201f33b 100644 --- a/commits.txt +++ b/commits.txt @@ -135,7 +135,7 @@ https://github.com/servo/servo/pull/36168 (@UssyMan, #36168) Track the active ta # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36239 (@andrei.volykhin@gmail.com, #36239) dom: Set "composed" flag on construction for some event types (#36239) +https://github.com/servo/servo/pull/36239 (@tharkum, #36239) dom: Set "composed" flag on construction for some event types (#36239) # "Composed" flag (https://dom.spec.whatwg.org/#composed-flag) should be properly set on event construction phase # from optional "EventInit" dictionary # (https://dom.spec.whatwg.org/#dom-eventinit-composed). @@ -526,7 +526,7 @@ https://github.com/servo/servo/pull/36133 (@richarddushime, #36133) Use Window i # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-003.html` # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-004.html` # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-005.html` -https://github.com/servo/servo/pull/36274 (@andrei.volykhin@gmail.com, #36274) dom: Firing "click" event as synthetic pointer event (#36274) +https://github.com/servo/servo/pull/36274 (@tharkum, #36274) dom: Firing "click" event as synthetic pointer event (#36274) # According to specification # https://html.spec.whatwg.org/multipage/webappapis.html#fire-a-click-event "Firing a click event at target means # firing a synthetic pointer event named click at target" @@ -554,7 +554,7 @@ https://github.com/servo/servo/pull/36274 (@andrei.volykhin@gmail.com, #36274) d # Fixes: Migrate the test to use new API # cc: @xiaochengh >>> 2025-04-04T06:05:48Z -https://github.com/servo/servo/pull/36298 (@barigbuenbira@gmail.com, #36298) Fix: `display: inline-grid` considered an atomic inline (#36298) +https://github.com/servo/servo/pull/36298 (@Barry-dE, #36298) Fix: `display: inline-grid` considered an atomic inline (#36298) # This change ensures that `display: inline-grid` is considered an atomic inline # - Add `is_atomic_inline_level()` logic to `box_fragment.rs` to improve accuracy. # - Update `stacking_context.rs` to use the new `is_atomic_inline_level()` method instead of the one from stylo. @@ -566,7 +566,7 @@ https://github.com/servo/servo/pull/36298 (@barigbuenbira@gmail.com, #36298) Fix layout # This is part of #36315 # Testing: This improves several tests that rely on this feature -https://github.com/servo/servo/pull/36174 (@mrees@noeontheend.com, #36174) fix: root element not establishing stacking context (#35390) (#36174) +https://github.com/servo/servo/pull/36174 (@reesmichael1, #36174) fix: root element not establishing stacking context (#35390) (#36174) # - [X] `./mach build -d` does not report any errors # - [X] `./mach test-tidy` does not report any errors # - [X] These changes fix #35390 @@ -647,7 +647,7 @@ https://github.com/servo/servo/pull/36174 (@mrees@noeontheend.com, #36174) fix: https://github.com/servo/servo/pull/36354 (@TimvdLippe, #36354) Run Trusted Types tests (#36354) # To set a baseline of test expectations prior to implementation. # Part of #36258 -+https://github.com/servo/servo/pull/36301 (@sebsebmc@gmail.com, @sagudev, #36301) Implement TestUtils (#36301) ++https://github.com/servo/servo/pull/36301 (@sebsebmc, @sagudev, #36301) Implement TestUtils (#36301) test # Implement the TestUtils namespace from https://testutils.spec.whatwg.org/. # This should make the `js/builtins/weakrefs` tests run faster and more consistently. @@ -808,7 +808,7 @@ https://github.com/servo/servo/pull/36354 (@TimvdLippe, #36354) Run Trusted Type # this feature. # Testing: No need to test since `--enable-experimental-web-platform-features` isn't used by default # This is part of #36315 -https://github.com/servo/servo/pull/36334 (@rego@igalia.com, #36334) wpt: Unskip webaudio tests as most are passing (#36334) +https://github.com/servo/servo/pull/36334 (@mrego, #36334) wpt: Unskip webaudio tests as most are passing (#36334) # null +https://github.com/servo/servo/pull/36332 (@mrobinson, #36332) script: Remove dependency on `webgpu` (#36332) script; rebuild webgpu without rebuilding script @@ -819,7 +819,7 @@ https://github.com/servo/servo/pull/36334 (@rego@igalia.com, #36334) wpt: Unskip # Testing: This change is covered by existing WebGPU tests and is mainly # just changing the way dependencies are accessed. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36333 (@rego@igalia.com, #36333) wpt: Unskip old-tests/ folder as most tests are passing (#36333) +https://github.com/servo/servo/pull/36333 (@mrego, #36333) wpt: Unskip old-tests/ folder as most tests are passing (#36333) # null +https://github.com/servo/servo/pull/36288 (@Loirooriol, #36288) layout: Restrict stretch alignment to flex items with computed auto size (#36288) layout; flex @@ -832,7 +832,7 @@ https://github.com/servo/servo/pull/36333 (@rego@igalia.com, #36333) wpt: Unskip # Testing: # - `/css/css-flexbox/quirks-auto-block-size-with-percentage-item.html` # - `/css/css-flexbox/stretch-requires-computed-auto-size.html` -https://github.com/servo/servo/pull/36314 (@rego@igalia.com, #36314) wpt: Unskip css/css-text/i18n as many tests are passing there (#36314) +https://github.com/servo/servo/pull/36314 (@mrego, #36314) wpt: Unskip css/css-text/i18n as many tests are passing there (#36314) # This patch unskips `css/css-text/i18n` WPT tests as many tests on that folder are already passing in Servo. +https://github.com/servo/servo/pull/36070 (@jschwe, #36070) mach: Fix cross-compiling from windows to non windows (#36070) build @@ -880,7 +880,7 @@ https://github.com/servo/servo/pull/36306 (@yezhizhen, #36306) Webdriver delete -https://github.com/servo/servo/pull/36369 (@servo-wpt-sync, #36369) Sync WPT with upstream (06-04-2025) (#36369) # Automated downstream sync of changes from upstream as of 06-04-2025 # [no-wpt-sync] -https://github.com/servo/servo/pull/36338 (@sakupi1101@outlook.jp, #36338) Fix: Add support for stylesheet MIME type quirk in quirks mode (#36338) +https://github.com/servo/servo/pull/36338 (@sakupi01, #36338) Fix: Add support for stylesheet MIME type quirk in quirks mode (#36338) # This PR implements the HTML spec quirk for stylesheets: https://html.spec.whatwg.org/multipage/#link-type-stylesheet # The implementation adds a check in `stylesheet_loader.rs` to handle this quirk condition correctly, and adds a # new WPT test to verify that same-origin non-CSS MIME type resources are properly treated as CSS in quirks mode. @@ -908,7 +908,7 @@ https://github.com/servo/servo/pull/36338 (@sakupi1101@outlook.jp, #36338) Fix: # `constellation_traits::message_port`. # Testing: This is covered by existing tests as it just moves types around. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36365 (@kaushikashok45, @ashok.kaushik@zohocorp.com, #36365) Refactor:Refactors report_cross_origin_denial method to use unsafe block (#36365) +https://github.com/servo/servo/pull/36365 (@kaushikashok45, #36365) Refactor:Refactors report_cross_origin_denial method to use unsafe block (#36365) # The method report_cross_origin_denial was marked as unsafe, have instead moved the unsafe code within the method # into an unsafe block within the method and removed the unsafe marking for the method. # Testing: No testing needed @@ -934,7 +934,7 @@ https://github.com/servo/servo/pull/36361 (@kkoyung, #36361) structuredclone::re # - running the system memory reporter also in content processes. # - updating the about:memory page to create one report per process, and add useful information like the pid and # the urls loaded in a given process. -https://github.com/servo/servo/pull/36157 (@sebsebmc@gmail.com, #36157) Check all ancestor navigable trustworthiness for mixed content (#36157) +https://github.com/servo/servo/pull/36157 (@sebsebmc, #36157) Check all ancestor navigable trustworthiness for mixed content (#36157) # Propagate through documents a flag that represents if any of the ancestor navigables has a potentially trustworthy # origin. # The "potentially trustworthy origin" concept appears to have gotten confused in a couple of places and we were @@ -1005,7 +1005,7 @@ https://github.com/servo/servo/pull/36392 (@yerke, #36392) refactor: add CanGc a # Add CanGc as arguments in methods in Document # Testing: These changes do not require tests because they are a refactor. # Addressed part of https://github.com/servo/servo/issues/34573. -https://github.com/servo/servo/pull/36390 (@sebsebmc@gmail.com, #36390) fix: meta referrer updating to follow spec (#36390) +https://github.com/servo/servo/pull/36390 (@sebsebmc, #36390) fix: meta referrer updating to follow spec (#36390) # Previously the referrer policy used tree order but the spec only cares about the most-recently-updated or # most-recently-added meta referrer. # Testing: change has existing WPT tests @@ -1112,7 +1112,7 @@ https://github.com/servo/servo/pull/36390 (@sebsebmc@gmail.com, #36390) fix: met # The dead code is already used in the wip at https://github.com/servo/servo/pull/36181/, and will also be used # in a another wip in parallel to implement transform stream, so the concept is introduced here with dead code to # facilitate the work in parallel and prevent too much merge conflicts down the road. -https://github.com/servo/servo/pull/36340 (@rego@igalia.com, #36340) wpt: Unskip acid folder as most tests are passing (#36340) +https://github.com/servo/servo/pull/36340 (@mrego, #36340) wpt: Unskip acid folder as most tests are passing (#36340) # null https://github.com/servo/servo/pull/36383 (@uthmaniv, #36383) Remove trailing space in CSSStyleSheet::AddRule() (#36383) # -Remove trailing space in CSSStyleSheet::AddRule() @@ -1120,7 +1120,7 @@ https://github.com/servo/servo/pull/36383 (@uthmaniv, #36383) Remove trailing sp # Fixes: https://github.com/servo/servo/issues/36380 https://github.com/servo/servo/pull/35978 (@yezhizhen, #35978) Fix transition toggle & cancellation & delay (#35978) # More details in Stylo PR: https://github.com/servo/stylo/pull/145 -+https://github.com/servo/servo/pull/36374 (@Tobias.frischmann1@gmail.com, @mrobinson, @jdm, #36374) layout: Scale images in `image_set` by their specified resolution (#36374) ++https://github.com/servo/servo/pull/36374 (@ToBinio, @mrobinson, @jdm, #36374) layout: Scale images in `image_set` by their specified resolution (#36374) css; image-set() # This PR makes it so the `resolution` factor in `image-set` also affects the image size. # For instance, in the example below: @@ -1160,7 +1160,7 @@ https://github.com/servo/servo/pull/35978 (@yezhizhen, #35978) Fix transition to # Fixes: # https://servo.zulipchat.com/#narrow/channel/263398-general/topic/rust-analyzer.20failed.20to.20include.20codes.20in.20sc # ript_bindings -https://github.com/servo/servo/pull/36399 (@barigbuenbira@gmail.com, #36399) Remove unsafe annotation add to unsafe blocks (#36399) +https://github.com/servo/servo/pull/36399 (@Barry-dE, #36399) Remove unsafe annotation add to unsafe blocks (#36399) # Remove the `unsafe` annotation from the `cross_origin_get` function and add `unsafe` blocks around unsafe code # within the function # Testing: Testing is not required as this change does not alter behaviour. @@ -1311,7 +1311,7 @@ https://github.com/servo/servo/pull/36399 (@barigbuenbira@gmail.com, #36399) Rem # ``` # ![image](https://github.com/user-attachments/assets/2f1d8d7c-501f-4fe5-bd07-085c95e504f2) >>> 2025-04-10T06:07:38Z -https://github.com/servo/servo/pull/36347 (@barigbuenbira@gmail.com, #36347) refactor: use is_zero() instead of comparing with Au::Zero() (#36347) +https://github.com/servo/servo/pull/36347 (@Barry-dE, #36347) refactor: use is_zero() instead of comparing with Au::Zero() (#36347) # Use `is_zero()` instead of comparing with `Au::Zero()` for zero checks. # Testing: This change does not cause behaviour change, a test is not necessary. # Fixes: #36300 @@ -1545,7 +1545,7 @@ https://github.com/servo/servo/pull/36478 (@webbeef, #36478) textinput: position # This causes some new failures, but mostly it's because the tests were timing out instead of running the failing # subtests. # This is part of #36315 -https://github.com/servo/servo/pull/36458 (@sebsebmc@gmail.com, #36458) fix: File to FormData not correctly handling name and lastModified (#36458) +https://github.com/servo/servo/pull/36458 (@sebsebmc, #36458) fix: File to FormData not correctly handling name and lastModified (#36458) # Set File's lastModified when reconstructing from Blob for FormData # Remove special character replacement in fileName (spec removed this step) # Testing: WPT tests exist @@ -1595,7 +1595,7 @@ https://github.com/servo/servo/pull/36458 (@sebsebmc@gmail.com, #36458) fix: Fil # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36455 (@sebsebmc@gmail.com, #36455) Manually concatenate ACRH headers to not include a space (#36455) +https://github.com/servo/servo/pull/36455 (@sebsebmc, #36455) Manually concatenate ACRH headers to not include a space (#36455) # headers library will join values with `, ` (comma space) but Access-Control-Request-Headers specifies that it does # not use the normal combining algorithm and values should be joined with `,` (comma). # Testing: WPT tests exist @@ -1609,13 +1609,13 @@ https://github.com/servo/servo/pull/36455 (@sebsebmc@gmail.com, #36455) Manually https://github.com/servo/servo/pull/36422 (@TimvdLippe, #36422) Implement attribute and property lookup for Trusted Types (#36422) # These algorithms are used to check whether an attribute/property can accept a Trusted Type. # Part of #36258 -https://github.com/servo/servo/pull/36393 (@sebsebmc@gmail.com, #36393) Handle HTTP Refresh header (#36393) +https://github.com/servo/servo/pull/36393 (@sebsebmc, #36393) Handle HTTP Refresh header (#36393) # Move parsing of Refresh values to Document. # Send Refresh header to Document and have meta tags reuse the logic. # I transplanted the existing Regex and made some updates so that it passed all the existing parser tests. # I added the comments that made sense but it is not very clean to add many comments within the regex. # Testing: There are existing WPT tests -https://github.com/servo/servo/pull/36459 (@ibluegalaxy_taoj@163.com, #36459) Implement WebviewDelegate.screen_geometry for OHOS (#36459) +https://github.com/servo/servo/pull/36459 (@coding-joedow, #36459) Implement WebviewDelegate.screen_geometry for OHOS (#36459) # [OHOS]Bugfix: unimplemented WebviewDelegate.sceen_geometry causes failed page loading # this [PR 36223](https://github.com/servo/servo/pull/36223) causes that some page can not be loaded on ohos # platform. The newly added WebviewDelegate.screen_geometry is unimplemented at ohos platform @@ -1675,7 +1675,7 @@ https://github.com/servo/servo/pull/36464 (@yerke, #36464) add CanGc as argument -https://github.com/servo/servo/pull/36488 (@servo-wpt-sync, #36488) Sync WPT with upstream (13-04-2025) (#36488) # Automated downstream sync of changes from upstream as of 13-04-2025 # [no-wpt-sync] -https://github.com/servo/servo/pull/36487 (@sebsebmc@gmail.com, #36487) Update ProgressEvent to use doubles (#36487) +https://github.com/servo/servo/pull/36487 (@sebsebmc, #36487) Update ProgressEvent to use doubles (#36487) # See: https://github.com/whatwg/xhr/pull/394 # Testing: WPT tests exist for this +https://github.com/servo/servo/pull/36443 (@mrobinson, #36443) compositor: Unify the cross process and in-process API (#36443) @@ -1959,7 +1959,7 @@ https://github.com/servo/servo/pull/36511 (@TimvdLippe, #36511) Gate `window.tru api; clipboard # Implement enough of the Clipboard API to have a working `writeText`. # Testing: Unfortunately many clipboard-apis tests require testdriver, so only idlharness ones will pass now. -+https://github.com/servo/servo/pull/36419 (@mrobinson, @shubham13297@gmail.com, #36419) libservo: Make zooming and HiDPI scaling work per-`WebView` (#36419) ++https://github.com/servo/servo/pull/36419 (@mrobinson, @shubhamg13, #36419) libservo: Make zooming and HiDPI scaling work per-`WebView` (#36419) embedding; per-webview dpi and zoom # libservo: Make zooming and HiDPI scaling work per-`WebView` # This change moves all zooming and HiDPI scaling to work per-`WebView` in @@ -1987,10 +1987,10 @@ https://github.com/servo/servo/pull/36511 (@TimvdLippe, #36511) Gate `window.tru embedding; multiview # null >>> 2025-04-16T06:02:37Z -https://github.com/servo/servo/pull/36552 (@kenzieradityatirtarahardja18@gmail.com, @kenzieradityatirtarahardja.18@gmail.com, #36552) Implement GetComputedRole in wd (#36552) +https://github.com/servo/servo/pull/36552 (@PotatoCP, #36552) Implement GetComputedRole in wd (#36552) # Implement Webdriver Get Computed Role. # [spec](https://w3c.github.io/webdriver/#get-computed-role) -https://github.com/servo/servo/pull/36467 (@kenzieradityatirtarahardja18@gmail.com, @kenzieradityatirtarahardja.18@gmail.com, #36467) Refactor retrieving element container in webdriver into function (#36467) +https://github.com/servo/servo/pull/36467 (@PotatoCP, #36467) Refactor retrieving element container in webdriver into function (#36467) # Refactor getting an element's container. Previously this is inlined and only done for `HTMLOptionElement`. # [Try](https://github.com/PotatoCP/servo/actions/runs/14399482275) # Fixes: #24106 @@ -1998,7 +1998,7 @@ https://github.com/servo/servo/pull/36467 (@kenzieradityatirtarahardja18@gmail.c # This data structure is unused. # Testing: No tests as this just removes dead code. # Signed-off-by: Martin Robinson --https://github.com/servo/servo/pull/36545 (@sidntrivedi012@gmail.com, #36545) build(deps): bump stylo from `c756a21` to `0eaeea3` (#36545) +-https://github.com/servo/servo/pull/36545 (@sidntrivedi012, #36545) build(deps): bump stylo from `c756a21` to `0eaeea3` (#36545) # This PR bumps stylo from [c756a21](https://github.com/servo/stylo/commit/c756a21864709dae8f85c564125bf92440aeaab5) # to [0eaeea3](https://github.com/servo/stylo/commit/0eaeea3dfd4aa0415529700353075ad1e1e47e5b). +https://github.com/servo/servo/pull/36543 (@mrobinson, #36543) compositor: Unify the cross process and in-process API (#36543) @@ -2153,7 +2153,7 @@ https://github.com/servo/servo/pull/36467 (@kenzieradityatirtarahardja18@gmail.c # mach sets DYLD_LIBRARY_PATH, which is currently necessary for our unit tests, but causes git to fail in the build # script. Simply unsetting the environment variable before invoking git works around this problem. # Testing: Tested manually on macos and verified the warning does not occur anymore. -https://github.com/servo/servo/pull/36546 (@andrei.volykhin@gmail.com, #36546) canvas: Add "EnforceRange" attribute to CanvasImageData interface (#36546) +https://github.com/servo/servo/pull/36546 (@tharkum, #36546) canvas: Add "EnforceRange" attribute to CanvasImageData interface (#36546) # Add missing "EnforceRange" attribute to interface methods # https://html.spec.whatwg.org/multipage/canvas.html#canvasimagedata # -- @@ -2178,7 +2178,7 @@ https://github.com/servo/servo/pull/36535 (@kkoyung, #36535) Make DOMException s # Several places were using identical logic in order to parse a media queries or media query lists. # This patch centralizes the logic into 2 new helper methods in MediaList. # Testing: not needed (no behavior change) -https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @schwenderjonathan@gmail.com, #36444) [OHOS] Allow setting the log-filter via cli arguments (#36444) +https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @jschwe, #36444) [OHOS] Allow setting the log-filter via cli arguments (#36444) # This PR allows setting the log-filter according to the env_filter spec via CLI arguments. # Testing is currently in progress, will be done on machines running OHOS. +https://github.com/servo/servo/pull/36531 (@jschwe, #36531) touch: Fix panic with -Zconvert-mouse-to-touch (#36531) @@ -2212,7 +2212,7 @@ https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @schwenderjonathan # and crash less. # Testing: New crashtest based on manual testcase. # Fixes: #34686 -https://github.com/servo/servo/pull/36523 (@sebsebmc@gmail.com, #36523) Support static and instance members having the same name in IDLs (#36523) +https://github.com/servo/servo/pull/36523 (@sebsebmc, #36523) Support static and instance members having the same name in IDLs (#36523) # This is needed to implement features like `Response.json` which is a static helper added to the fetch spec which # overlaps with the `json` instance method `Response` has from `Body`. # Partly based these changes on what Firefox does for this same @@ -2364,7 +2364,7 @@ https://github.com/servo/servo/pull/36510 (@TimvdLippe, #36510) Check CSP for in # exposing the `compositing` crate as public Servo API. # Testing: This does not change behavior so is covered by existing tests. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36569 (@andrei.volykhin@gmail.com, #36569) imagedata: Fix overflow panic for too large ImageData (#36569) +https://github.com/servo/servo/pull/36569 (@tharkum, #36569) imagedata: Fix overflow panic for too large ImageData (#36569) # In Servo debug build there are runtime crash due to "attempt to multiply with overflow" panic # in case of creation too large ImageData (new ImageData(1<<31, 1<<31)) # Use checked integer multiplication to catch occurred overflow @@ -2395,7 +2395,7 @@ https://github.com/servo/servo/pull/36569 (@andrei.volykhin@gmail.com, #36569) i # some logic to keep the baked in resources for tests only and initialize # the resource reader on first access. >>> 2025-04-19T06:03:48Z -+https://github.com/servo/servo/pull/36560 (@sidntrivedi012@gmail.com, @jdm, #36560) content/dom: set navigator.onLine attribute to `true` (#36560) ++https://github.com/servo/servo/pull/36560 (@sidntrivedi012, @jdm, #36560) content/dom: set navigator.onLine attribute to `true` (#36560) api; fixes pinterest # Sets the navigator.onLine attribute to true. # Testing: @@ -2407,7 +2407,7 @@ https://github.com/servo/servo/pull/36569 (@andrei.volykhin@gmail.com, #36569) i # Add memory reporter integration for the fragment and box trees that are persisted in the layout thread. # Testing: Looked at the numbers for https://servo.org and https://html.spec.whatwg.org/. The former was very small, # but the latter was 700mb. -+https://github.com/servo/servo/pull/36600 (@barigbuenbira@gmail.com, @jdm, #36600) Prevent multiple notifications for image dimensions (#36600) ++https://github.com/servo/servo/pull/36600 (@Barry-dE, @jdm, #36600) Prevent multiple notifications for image dimensions (#36600) perf # Added a simple check to only perform metadata extraction and listener notification when we haven't already processed # the metadata for an image @@ -2537,7 +2537,7 @@ https://github.com/servo/servo/pull/36619 (@yezhizhen, #36619) Rework `ScriptThr # Also adds the MayResolve hook for all globals, which is an optimization for the JIT to avoid calling resolve # hooks unnecessarily. # Testing: Existing test coverage on global interfaces should suffice. -https://github.com/servo/servo/pull/36620 (@saku@email.sakupi01.com, #36620) Fix: Slot Assignment mode according to the spec (#36620) +https://github.com/servo/servo/pull/36620 (@sakupi01, #36620) Fix: Slot Assignment mode according to the spec (#36620) # When parsing a Declarative Shadow DOM, the slot assignment isn't being triggered as mentioned in the # [spec](https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inhead:~:text=Attach%20a%20shadow%20root%20with% # 20declarative%20shadow%20host%20element%2C%20mode%2C%20clonable%2C%20serializable%2C%20delegatesFocus%2C%20%22named%22%2 @@ -3166,7 +3166,7 @@ https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test targ -https://github.com/servo/servo/pull/36688 (@jschwe, #36688) Return Result from ProtocolRegistry::register() (#36688) # Instead of returning true / false it's better to return a Result (even if we continue ignoring possible error). # Testing: Doesn't change any behavior -https://github.com/servo/servo/pull/36589 (@sebsebmc@gmail.com, #36589) Implement static Response.json (#36589) +https://github.com/servo/servo/pull/36589 (@sebsebmc, #36589) Implement static Response.json (#36589) # Implements https://fetch.spec.whatwg.org/#dom-response-json # Restructured the constructor to follow the spec more closely with a separate "initialize the response" algorithm. # Testing: There are existing WPT tests for this. From 3117163971749852484ed9b4e18c41c998fd8fa1 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 13:40:35 +0800 Subject: [PATCH 23/81] Triage 186/239 of the remaining commits --- commits.txt | 75 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 26 deletions(-) diff --git a/commits.txt b/commits.txt index 73201f33b..e7f1a30f6 100644 --- a/commits.txt +++ b/commits.txt @@ -808,7 +808,8 @@ https://github.com/servo/servo/pull/36354 (@TimvdLippe, #36354) Run Trusted Type # this feature. # Testing: No need to test since `--enable-experimental-web-platform-features` isn't used by default # This is part of #36315 -https://github.com/servo/servo/pull/36334 (@mrego, #36334) wpt: Unskip webaudio tests as most are passing (#36334) ++https://github.com/servo/servo/pull/36334 (@mrego, #36334) wpt: Unskip webaudio tests as most are passing (#36334) + test; unskip tests # null +https://github.com/servo/servo/pull/36332 (@mrobinson, #36332) script: Remove dependency on `webgpu` (#36332) script; rebuild webgpu without rebuilding script @@ -819,7 +820,8 @@ https://github.com/servo/servo/pull/36334 (@mrego, #36334) wpt: Unskip webaudio # Testing: This change is covered by existing WebGPU tests and is mainly # just changing the way dependencies are accessed. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36333 (@mrego, #36333) wpt: Unskip old-tests/ folder as most tests are passing (#36333) ++https://github.com/servo/servo/pull/36333 (@mrego, #36333) wpt: Unskip old-tests/ folder as most tests are passing (#36333) + test; unskip tests # null +https://github.com/servo/servo/pull/36288 (@Loirooriol, #36288) layout: Restrict stretch alignment to flex items with computed auto size (#36288) layout; flex @@ -832,7 +834,8 @@ https://github.com/servo/servo/pull/36333 (@mrego, #36333) wpt: Unskip old-tests # Testing: # - `/css/css-flexbox/quirks-auto-block-size-with-percentage-item.html` # - `/css/css-flexbox/stretch-requires-computed-auto-size.html` -https://github.com/servo/servo/pull/36314 (@mrego, #36314) wpt: Unskip css/css-text/i18n as many tests are passing there (#36314) ++https://github.com/servo/servo/pull/36314 (@mrego, #36314) wpt: Unskip css/css-text/i18n as many tests are passing there (#36314) + test; unskip tests # This patch unskips `css/css-text/i18n` WPT tests as many tests on that folder are already passing in Servo. +https://github.com/servo/servo/pull/36070 (@jschwe, #36070) mach: Fix cross-compiling from windows to non windows (#36070) build @@ -872,7 +875,8 @@ https://github.com/servo/servo/pull/36314 (@mrego, #36314) wpt: Unskip css/css-t # Testing: Tested locally, since we don't run webdriver conformance tests in CI yet. The STR from the issue do not # reproduce the same problem any longer. # Fixes: #36326. -https://github.com/servo/servo/pull/36306 (@yezhizhen, #36306) Webdriver delete cookie (#36306) ++https://github.com/servo/servo/pull/36306 (@yezhizhen, #36306) Webdriver delete cookie (#36306) + test; servodriver bustage # 1. Implement `WebDriverCommand::DeleteCookie` # 2. Remove unnecessary clone for `WebDriverCommand::GetNamedCookie` # Fixes: #36287 @@ -934,7 +938,7 @@ https://github.com/servo/servo/pull/36361 (@kkoyung, #36361) structuredclone::re # - running the system memory reporter also in content processes. # - updating the about:memory page to create one report per process, and add useful information like the pid and # the urls loaded in a given process. -https://github.com/servo/servo/pull/36157 (@sebsebmc, #36157) Check all ancestor navigable trustworthiness for mixed content (#36157) +-https://github.com/servo/servo/pull/36157 (@sebsebmc, #36157) Check all ancestor navigable trustworthiness for mixed content (#36157) # Propagate through documents a flag that represents if any of the ancestor navigables has a potentially trustworthy # origin. # The "potentially trustworthy origin" concept appears to have gotten confused in a couple of places and we were @@ -948,7 +952,8 @@ https://github.com/servo/servo/pull/36157 (@sebsebmc, #36157) Check all ancestor # implement the `ClipboardItem` interface # Testing: covered by existing wpt tests # part of #36084 -https://github.com/servo/servo/pull/36375 (@yerke, #36375) Add CanGc as arguments in methods in devtools.rs, CharacterData, CSSStyleRule, CSSStyleSheet (#36375) ++https://github.com/servo/servo/pull/36375 (@yerke, #36375) Add CanGc as arguments in methods in devtools.rs, CharacterData, CSSStyleRule, CSSStyleSheet (#36375) + gc # Add CanGc as arguments in methods in devtools.rs, CharacterData, CSSStyleRule, CSSStyleSheet # Testing: These changes do not require tests because they are a refactor. # Addressed part of https://github.com/servo/servo/issues/34573. @@ -992,20 +997,24 @@ https://github.com/servo/servo/pull/36366 (@uthmaniv, #36366) Remove unsafe from # -Adds `unsafe` blocks around calls `D::GlobalScope::from_context` and `MutableHandleObject::from_raw` # Testing: Changes does not require test # Fixes: https://github.com/servo/servo/issues/36357 -https://github.com/servo/servo/pull/36371 (@yerke, #36371) Add CanGc as arguments in methods in Attr and Node (#36371) ++https://github.com/servo/servo/pull/36371 (@yerke, #36371) Add CanGc as arguments in methods in Attr and Node (#36371) + gc # Add CanGc as argument to methods in `Attr` and `Node`. # Addressed part of https://github.com/servo/servo/issues/34573. >>> 2025-04-08T06:08:09Z -https://github.com/servo/servo/pull/36395 (@yerke, #36395) add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap (#36395) ++https://github.com/servo/servo/pull/36395 (@yerke, #36395) add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, DOMStringMap (#36395) + gc # add CanGc as argument to methods in DissimilarOriginWindow, DocumentFragment, DocumentType, DOMRect, DOMRectReadOnly, # DOMStringMap # Testing: These changes do not require tests because they are a refactor. # Addressed part of https://github.com/servo/servo/issues/34573. -https://github.com/servo/servo/pull/36392 (@yerke, #36392) refactor: add CanGc as argument to methods in Document (#36392) ++https://github.com/servo/servo/pull/36392 (@yerke, #36392) refactor: add CanGc as argument to methods in Document (#36392) + gc # Add CanGc as arguments in methods in Document # Testing: These changes do not require tests because they are a refactor. # Addressed part of https://github.com/servo/servo/issues/34573. -https://github.com/servo/servo/pull/36390 (@sebsebmc, #36390) fix: meta referrer updating to follow spec (#36390) ++https://github.com/servo/servo/pull/36390 (@sebsebmc, #36390) fix: meta referrer updating to follow spec (#36390) + net # Previously the referrer policy used tree order but the spec only cares about the most-recently-updated or # most-recently-added meta referrer. # Testing: change has existing WPT tests @@ -1112,13 +1121,15 @@ https://github.com/servo/servo/pull/36390 (@sebsebmc, #36390) fix: meta referrer # The dead code is already used in the wip at https://github.com/servo/servo/pull/36181/, and will also be used # in a another wip in parallel to implement transform stream, so the concept is introduced here with dead code to # facilitate the work in parallel and prevent too much merge conflicts down the road. -https://github.com/servo/servo/pull/36340 (@mrego, #36340) wpt: Unskip acid folder as most tests are passing (#36340) ++https://github.com/servo/servo/pull/36340 (@mrego, #36340) wpt: Unskip acid folder as most tests are passing (#36340) + test; unskip tests # null https://github.com/servo/servo/pull/36383 (@uthmaniv, #36383) Remove trailing space in CSSStyleSheet::AddRule() (#36383) # -Remove trailing space in CSSStyleSheet::AddRule() # Testing: The change made does not require testing # Fixes: https://github.com/servo/servo/issues/36380 -https://github.com/servo/servo/pull/35978 (@yezhizhen, #35978) Fix transition toggle & cancellation & delay (#35978) ++https://github.com/servo/servo/pull/35978 (@yezhizhen, #35978) Fix transition toggle & cancellation & delay (#35978) + css; transitions # More details in Stylo PR: https://github.com/servo/stylo/pull/145 +https://github.com/servo/servo/pull/36374 (@ToBinio, @mrobinson, @jdm, #36374) layout: Scale images in `image_set` by their specified resolution (#36374) css; image-set() @@ -1545,7 +1556,8 @@ https://github.com/servo/servo/pull/36478 (@webbeef, #36478) textinput: position # This causes some new failures, but mostly it's because the tests were timing out instead of running the failing # subtests. # This is part of #36315 -https://github.com/servo/servo/pull/36458 (@sebsebmc, #36458) fix: File to FormData not correctly handling name and lastModified (#36458) ++https://github.com/servo/servo/pull/36458 (@sebsebmc, #36458) fix: File to FormData not correctly handling name and lastModified (#36458) + forms; file inputs # Set File's lastModified when reconstructing from Blob for FormData # Remove special character replacement in fileName (spec removed this step) # Testing: WPT tests exist @@ -1595,7 +1607,8 @@ https://github.com/servo/servo/pull/36458 (@sebsebmc, #36458) fix: File to FormD # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36455 (@sebsebmc, #36455) Manually concatenate ACRH headers to not include a space (#36455) ++https://github.com/servo/servo/pull/36455 (@sebsebmc, #36455) Manually concatenate ACRH headers to not include a space (#36455) + net; cors fix # headers library will join values with `, ` (comma space) but Access-Control-Request-Headers specifies that it does # not use the normal combining algorithm and values should be joined with `,` (comma). # Testing: WPT tests exist @@ -1609,7 +1622,8 @@ https://github.com/servo/servo/pull/36455 (@sebsebmc, #36455) Manually concatena https://github.com/servo/servo/pull/36422 (@TimvdLippe, #36422) Implement attribute and property lookup for Trusted Types (#36422) # These algorithms are used to check whether an attribute/property can accept a Trusted Type. # Part of #36258 -https://github.com/servo/servo/pull/36393 (@sebsebmc, #36393) Handle HTTP Refresh header (#36393) ++https://github.com/servo/servo/pull/36393 (@sebsebmc, #36393) Handle HTTP Refresh header (#36393) + api net # Move parsing of Refresh values to Document. # Send Refresh header to Document and have meta tags reuse the logic. # I transplanted the existing Regex and made some updates so that it passed all the existing parser tests. @@ -1649,7 +1663,8 @@ https://github.com/servo/servo/pull/36408 (@rayguo17, #36408) dom: should change # Fix: Some spec fix # [Try](https://github.com/rayguo17/servo/actions/runs/14347535616) # cc @xiaochengh -https://github.com/servo/servo/pull/36464 (@yerke, #36464) add CanGc as argument to methods in Element (#36464) ++https://github.com/servo/servo/pull/36464 (@yerke, #36464) add CanGc as argument to methods in Element (#36464) + gc # add CanGc as argument to methods in Element # Testing: These changes do not require tests because they are a refactor. # Addresses part of https://github.com/servo/servo/issues/34573. @@ -1675,7 +1690,7 @@ https://github.com/servo/servo/pull/36464 (@yerke, #36464) add CanGc as argument -https://github.com/servo/servo/pull/36488 (@servo-wpt-sync, #36488) Sync WPT with upstream (13-04-2025) (#36488) # Automated downstream sync of changes from upstream as of 13-04-2025 # [no-wpt-sync] -https://github.com/servo/servo/pull/36487 (@sebsebmc, #36487) Update ProgressEvent to use doubles (#36487) +-https://github.com/servo/servo/pull/36487 (@sebsebmc, #36487) Update ProgressEvent to use doubles (#36487) # See: https://github.com/whatwg/xhr/pull/394 # Testing: WPT tests exist for this +https://github.com/servo/servo/pull/36443 (@mrobinson, #36443) compositor: Unify the cross process and in-process API (#36443) @@ -1754,7 +1769,8 @@ https://github.com/servo/servo/pull/36487 (@sebsebmc, #36487) Update ProgressEve # However, the tests themselves are still not passing since they also use Websockets, which currently aren't using # the fetch machinery itself. That is fixed as part of [1]. # [1]: https://github.com/servo/servo/issues/35028 -https://github.com/servo/servo/pull/36504 (@yerke, #36504) add CanGc as argument to methods in HTMLInputElement, HTMLLinkElement (#36504) ++https://github.com/servo/servo/pull/36504 (@yerke, #36504) add CanGc as argument to methods in HTMLInputElement, HTMLLinkElement (#36504) + gc # add CanGc as argument to methods in HTMLInputElement, HTMLLinkElement # Testing: These changes do not require tests because they are a refactor. # Addresses part of https://github.com/servo/servo/issues/34573. @@ -1777,7 +1793,8 @@ https://github.com/servo/servo/pull/36308 (@jerensl, #36308) Support optional me -https://github.com/servo/servo/pull/36501 (@jdm, #36501) Fix typo in tracing code. (#36501) # Presumably this was an autocomplete mistake. # Testing: ran Servo with RUST_LOG enabled. No panic any more. -https://github.com/servo/servo/pull/36495 (@yerke, #36495) add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement (#36495) ++https://github.com/servo/servo/pull/36495 (@yerke, #36495) add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement (#36495) + gc # add CanGc as argument to methods in HTMLCollection, HTMLDataListElement, HTMLDialogElement, HTMLElement, # HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement # Testing: These changes do not require tests because they are a refactor. @@ -1786,7 +1803,8 @@ https://github.com/servo/servo/pull/36493 (@chocolate-pie, #36493) script: Clean # Current implementation takes arguments for specifying values of violation report, but is difficult to understand # which value should be passed. These changes create new builder for violation report to address the issue. # Testing: These changes do not require tests because they just refactor current code -https://github.com/servo/servo/pull/36492 (@yerke, #36492) add CanGc as argument to methods in ElementInternals, GlobalScope, HTMLAnchorElement, HTMLAreaElement, HTMLCanvasElement (#36492) ++https://github.com/servo/servo/pull/36492 (@yerke, #36492) add CanGc as argument to methods in ElementInternals, GlobalScope, HTMLAnchorElement, HTMLAreaElement, HTMLCanvasElement (#36492) + gc # add CanGc as argument to methods in ElementInternals, GlobalScope, HTMLAnchorElement, HTMLAreaElement, # HTMLCanvasElement # Testing: These changes do not require tests because they are a refactor. @@ -2212,7 +2230,8 @@ https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @jschwe, #36444) [ # and crash less. # Testing: New crashtest based on manual testcase. # Fixes: #34686 -https://github.com/servo/servo/pull/36523 (@sebsebmc, #36523) Support static and instance members having the same name in IDLs (#36523) ++https://github.com/servo/servo/pull/36523 (@sebsebmc, #36523) Support static and instance members having the same name in IDLs (#36523) + api net; for `Response.json` static method # This is needed to implement features like `Response.json` which is a static helper added to the fetch spec which # overlaps with the `json` instance method `Response` has from `Body`. # Partly based these changes on what Firefox does for this same @@ -2413,7 +2432,8 @@ https://github.com/servo/servo/pull/36569 (@tharkum, #36569) imagedata: Fix over # the metadata for an image # Testing: Existing tests should cover if we break decoding image metadata complete. # Fixes: #36502 -https://github.com/servo/servo/pull/36413 (@yezhizhen, #36413) Move click event trigger from embedding layer to `ScriptThread` (#36413) ++https://github.com/servo/servo/pull/36413 (@yezhizhen, #36413) Move click event trigger from embedding layer to `ScriptThread` (#36413) + embedding; reworking input for click events # 1. Move click event trigger from embedding layer to `ScriptThread` # 2. Previously, the logic is to trigger click event at same position as `MouseButtonAction::Up` if # `MouseButtonAction::Up` is within 10px of `MouseButtonAction::Down`, in embedding layer. This PR ~~removes the @@ -2472,7 +2492,7 @@ https://github.com/servo/servo/pull/36413 (@yezhizhen, #36413) Move click event # constant time operation compared to a linear time one that caused memmove to appear in profiles with lots of unrooting. # Testing: Existing WPT tests will cover this change. # Fixes: Part of #36609. -https://github.com/servo/servo/pull/36542 (@nicoburns, #36542) Use version of `markup5ever` with `web_atoms` crate (#36542) +-https://github.com/servo/servo/pull/36542 (@nicoburns, #36542) Use version of `markup5ever` with `web_atoms` crate (#36542) # Upgrades `markup5ever` and fixes "unnecessary import" lints. # See https://github.com/servo/html5ever/pull/599 # And https://github.com/servo/stylo/pull/173 @@ -2521,7 +2541,8 @@ https://github.com/servo/servo/pull/36542 (@nicoburns, #36542) Use version of `m # [thread]: # https://servo.zulipchat.com/#narrow/channel/263398-general/topic/Organizing.20*_traits.20crates/near/510864104. # Testing: Covered by existing test as this is just code movement. -https://github.com/servo/servo/pull/36619 (@yezhizhen, #36619) Rework `ScriptThread::handle_input_event` for behaviour and performance (#36619) ++https://github.com/servo/servo/pull/36619 (@yezhizhen, #36619) Rework `ScriptThread::handle_input_event` for behaviour and performance (#36619) + input; fixes erroneous click event on right click # Rework `ScriptThread::handle_input_event` for correct behaviour and better performance # 1. Only trigger click event with primary button, according to spec # 2. Avoid unnecessary clone of `ConstellationInputEvent` @@ -2537,7 +2558,8 @@ https://github.com/servo/servo/pull/36619 (@yezhizhen, #36619) Rework `ScriptThr # Also adds the MayResolve hook for all globals, which is an optimization for the JIT to avoid calling resolve # hooks unnecessarily. # Testing: Existing test coverage on global interfaces should suffice. -https://github.com/servo/servo/pull/36620 (@sakupi01, #36620) Fix: Slot Assignment mode according to the spec (#36620) ++https://github.com/servo/servo/pull/36620 (@sakupi01, #36620) Fix: Slot Assignment mode according to the spec (#36620) + shadowdom # When parsing a Declarative Shadow DOM, the slot assignment isn't being triggered as mentioned in the # [spec](https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inhead:~:text=Attach%20a%20shadow%20root%20with% # 20declarative%20shadow%20host%20element%2C%20mode%2C%20clonable%2C%20serializable%2C%20delegatesFocus%2C%20%22named%22%2 @@ -3166,7 +3188,8 @@ https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test targ -https://github.com/servo/servo/pull/36688 (@jschwe, #36688) Return Result from ProtocolRegistry::register() (#36688) # Instead of returning true / false it's better to return a Result (even if we continue ignoring possible error). # Testing: Doesn't change any behavior -https://github.com/servo/servo/pull/36589 (@sebsebmc, #36589) Implement static Response.json (#36589) ++https://github.com/servo/servo/pull/36589 (@sebsebmc, #36589) Implement static Response.json (#36589) + api net; `Response.json` static method # Implements https://fetch.spec.whatwg.org/#dom-response-json # Restructured the constructor to follow the spec more closely with a separate "initialize the response" algorithm. # Testing: There are existing WPT tests for this. From 88d08ff8cdfdbdf7b841a36be705aaa96684dcca Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 13:57:06 +0800 Subject: [PATCH 24/81] Triage 212/239 of the remaining commits --- commits.txt | 58 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/commits.txt b/commits.txt index e7f1a30f6..a56452775 100644 --- a/commits.txt +++ b/commits.txt @@ -976,21 +976,22 @@ https://github.com/servo/servo/pull/36361 (@kkoyung, #36361) structuredclone::re # Testing: This just combines two crates, so no new tests are necessary. # Fixes: #35984. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36373 (@uthmaniv, #36373) Remove unsafe from cross_origin_property_fallback (#36373) +-https://github.com/servo/servo/pull/36373 (@uthmaniv, #36373) Remove unsafe from cross_origin_property_fallback (#36373) # Remove unsafe from cross_origin_property_fallback # - Refactors `cross_origin_property_fallback` to remove the `unsafe` annotation from the function signature, as it # now uses safe wrappers instead of raw pointers # - Adds an `unsafe` block around `MutableHandle::from_raw` # Testing: Changes does not require test # Fixes: https://github.com/servo/servo/issues/36359 -https://github.com/servo/servo/pull/36297 (@uthmaniv, #36297) Process colorSchemeSimulation in TargetConfigurationActor (#36297) ++https://github.com/servo/servo/pull/36297 (@uthmaniv, #36297) Process colorSchemeSimulation in TargetConfigurationActor (#36297) + devtools # Implements Steps 1,4&6 of https://github.com/servo/servo/issues/35867: # - Adds `pub simulate_color_scheme` to `BrowsingContextActor` using `script_chan`. # - Processes `colorSchemeSimulation` flag in `TargetConfigurationActor`’s `updateConfiguration`. # - Routes `colorSchemeSimulation` from `RootActor` via `TabDescriptorActor` to `BrowsingContextActor`. # Testing: Compiles and lints clean. # Fixes: https://github.com/servo/servo/issues/35867 -https://github.com/servo/servo/pull/36366 (@uthmaniv, #36366) Remove unsafe from maybe_cross_origin_get_prototype (#36366) +-https://github.com/servo/servo/pull/36366 (@uthmaniv, #36366) Remove unsafe from maybe_cross_origin_get_prototype (#36366) # Remove unsafe from maybe_cross_origin_get_prototype # -Refactors `maybe_cross_origin_get_prototype` to remove the `unsafe` annotation from the function signature and # `get_proto_object` argument @@ -1124,7 +1125,7 @@ https://github.com/servo/servo/pull/36366 (@uthmaniv, #36366) Remove unsafe from +https://github.com/servo/servo/pull/36340 (@mrego, #36340) wpt: Unskip acid folder as most tests are passing (#36340) test; unskip tests # null -https://github.com/servo/servo/pull/36383 (@uthmaniv, #36383) Remove trailing space in CSSStyleSheet::AddRule() (#36383) +-https://github.com/servo/servo/pull/36383 (@uthmaniv, #36383) Remove trailing space in CSSStyleSheet::AddRule() (#36383) # -Remove trailing space in CSSStyleSheet::AddRule() # Testing: The change made does not require testing # Fixes: https://github.com/servo/servo/issues/36380 @@ -1171,7 +1172,7 @@ https://github.com/servo/servo/pull/36383 (@uthmaniv, #36383) Remove trailing sp # Fixes: # https://servo.zulipchat.com/#narrow/channel/263398-general/topic/rust-analyzer.20failed.20to.20include.20codes.20in.20sc # ript_bindings -https://github.com/servo/servo/pull/36399 (@Barry-dE, #36399) Remove unsafe annotation add to unsafe blocks (#36399) +-https://github.com/servo/servo/pull/36399 (@Barry-dE, #36399) Remove unsafe annotation add to unsafe blocks (#36399) # Remove the `unsafe` annotation from the `cross_origin_get` function and add `unsafe` blocks around unsafe code # within the function # Testing: Testing is not required as this change does not alter behaviour. @@ -1322,7 +1323,7 @@ https://github.com/servo/servo/pull/36399 (@Barry-dE, #36399) Remove unsafe anno # ``` # ![image](https://github.com/user-attachments/assets/2f1d8d7c-501f-4fe5-bd07-085c95e504f2) >>> 2025-04-10T06:07:38Z -https://github.com/servo/servo/pull/36347 (@Barry-dE, #36347) refactor: use is_zero() instead of comparing with Au::Zero() (#36347) +-https://github.com/servo/servo/pull/36347 (@Barry-dE, #36347) refactor: use is_zero() instead of comparing with Au::Zero() (#36347) # Use `is_zero()` instead of comparing with `Au::Zero()` for zero checks. # Testing: This change does not cause behaviour change, a test is not necessary. # Fixes: #36300 @@ -1481,7 +1482,7 @@ https://github.com/servo/servo/pull/36347 (@Barry-dE, #36347) refactor: use is_z +https://github.com/servo/servo/pull/36448 (@mrobinson, @Loirooriol, #36448) layout: Add documentation for `CacheableLayoutResultAndInputs` (#36448) incremental # null -https://github.com/servo/servo/pull/36429 (@atouchet, #36429) Replace bluetooth Readme with corrected version from devices repository (#36429) +-https://github.com/servo/servo/pull/36429 (@atouchet, #36429) Replace bluetooth Readme with corrected version from devices repository (#36429) # This Readme is for a different crate located in https://github.com/servo/servo/tree/main/third_party/blurmac. Was # adding it to the bluetooth directory in #30974 a mistake? -https://github.com/servo/servo/pull/36450 (@dependabot[bot], @dependabot[bot], #36450) build(deps): bump rustls from 0.23.25 to 0.23.26 (#36450) @@ -1512,7 +1513,8 @@ https://github.com/servo/servo/pull/36429 (@atouchet, #36429) Replace bluetooth # Note this doesn't cover dynamic updates to `document.styleSheets` and the owner node of the sheet. # Testing: Covered by WPT # Fixes: #26739 -https://github.com/servo/servo/pull/35830 (@dklassic, #35830) feat: Implement display for text selection and caret (#35830) ++https://github.com/servo/servo/pull/35830 (@dklassic, #35830) feat: Implement display for text selection and caret (#35830) + editing # This PR introduces an initial, straightforward implementation for displaying text selection and the caret. # This is achieved by passing the selection range and insertion point index down to `TextFragment`, along with # the starting offset of each `TextFragment` to determine the proper range for displaying the caret and text @@ -1532,7 +1534,7 @@ https://github.com/servo/servo/pull/35830 (@dklassic, #35830) feat: Implement di # Linux # [Screencast from 03-07-2025 11_05_41 # AM.webm](https://github.com/user-attachments/assets/09a311ad-f975-4450-a66c-b20be525a5ed) -https://github.com/servo/servo/pull/36439 (@kkoyung, #36439) Drop vergen_git2 dependency (#36439) +-https://github.com/servo/servo/pull/36439 (@kkoyung, #36439) Drop vergen_git2 dependency (#36439) # Manually call `git rev-parse --short HEAD` to retrieve the commit hash, instead of using Emitter from vergen_git2. This # helps remove dependencies and shorten compile time. # Testing: This change is untested, because there is no good way to test that the @@ -1545,7 +1547,8 @@ https://github.com/servo/servo/pull/36439 (@kkoyung, #36439) Drop vergen_git2 de # Testing: New tests in CI. # Fixes: Part of https://github.com/servo/servo/issues/4577 >>> 2025-04-12T06:05:17Z -https://github.com/servo/servo/pull/36478 (@webbeef, #36478) textinput: position the caret at the end when selecting input (#36478) ++https://github.com/servo/servo/pull/36478 (@webbeef, #36478) textinput: position the caret at the end when selecting input (#36478) + editing # When clicking on a text input element, we currently position the caret at the very beginning, even if there is # already text present. That makes is annoying when you want to add text, and doesn't match what other browsers do. # Instead, this change positions the caret at the end of the current text. @@ -1619,7 +1622,8 @@ https://github.com/servo/servo/pull/36478 (@webbeef, #36478) textinput: position -https://github.com/servo/servo/pull/36472 (@Loirooriol, #36472) Cleanup after #36461 (#36472) # This avoids some minor code duplication. # Testing: not needed (no behavior change) -https://github.com/servo/servo/pull/36422 (@TimvdLippe, #36422) Implement attribute and property lookup for Trusted Types (#36422) ++https://github.com/servo/servo/pull/36422 (@TimvdLippe, #36422) Implement attribute and property lookup for Trusted Types (#36422) + api; trusted types # These algorithms are used to check whether an attribute/property can accept a Trusted Type. # Part of #36258 +https://github.com/servo/servo/pull/36393 (@sebsebmc, #36393) Handle HTTP Refresh header (#36393) @@ -1629,7 +1633,8 @@ https://github.com/servo/servo/pull/36422 (@TimvdLippe, #36422) Implement attrib # I transplanted the existing Regex and made some updates so that it passed all the existing parser tests. # I added the comments that made sense but it is not very clean to add many comments within the regex. # Testing: There are existing WPT tests -https://github.com/servo/servo/pull/36459 (@coding-joedow, #36459) Implement WebviewDelegate.screen_geometry for OHOS (#36459) ++https://github.com/servo/servo/pull/36459 (@coding-joedow, #36459) Implement WebviewDelegate.screen_geometry for OHOS (#36459) + ohos # [OHOS]Bugfix: unimplemented WebviewDelegate.sceen_geometry causes failed page loading # this [PR 36223](https://github.com/servo/servo/pull/36223) causes that some page can not be loaded on ohos # platform. The newly added WebviewDelegate.screen_geometry is unimplemented at ohos platform @@ -1651,7 +1656,7 @@ https://github.com/servo/servo/pull/36459 (@coding-joedow, #36459) Implement Web # - `./mach run -d 'data:text/html,'` # without causing crashes, while the results should be covered by WPT tests # Fixes: https://github.com/servo/servo/issues/36449 -https://github.com/servo/servo/pull/36408 (@rayguo17, #36408) dom: should change media element's currentSrc to children source element's src in resource selection algorithm. (#36408) +-https://github.com/servo/servo/pull/36408 (@rayguo17, #36408) dom: should change media element's currentSrc to children source element's src in resource selection algorithm. (#36408) # Set the `htmlmediaelement`'s `currenSrc` in resource-selection-algorithm. # Change the `htmlsourceelement`'s src and srcset to USVString type. # According to [Spec](https://html.spec.whatwg.org/multipage/media.html#concept-media-load-algorithm), Step 9.3 for @@ -1774,7 +1779,8 @@ https://github.com/servo/servo/pull/36408 (@rayguo17, #36408) dom: should change # add CanGc as argument to methods in HTMLInputElement, HTMLLinkElement # Testing: These changes do not require tests because they are a refactor. # Addresses part of https://github.com/servo/servo/issues/34573. -https://github.com/servo/servo/pull/36308 (@jerensl, #36308) Support optional message for dataclone error (#36308) ++https://github.com/servo/servo/pull/36308 (@jerensl, #36308) Support optional message for dataclone error (#36308) + api; streams # - [x] our [DataClone # error](https://github.com/servo/servo/blob/d733abfca02cdb9fd2af4f0d82ff050e25f71829/components/script/dom/bindings/error # .rs#L80) @@ -1799,7 +1805,7 @@ https://github.com/servo/servo/pull/36308 (@jerensl, #36308) Support optional me # HTMLFieldSetElement, HTMLFormControlsCollection, HTMLFormElement, HTMLIFrameElement # Testing: These changes do not require tests because they are a refactor. # Addresses part of https://github.com/servo/servo/issues/34573. -https://github.com/servo/servo/pull/36493 (@chocolate-pie, #36493) script: Clean up CSP management code (#36493) +-https://github.com/servo/servo/pull/36493 (@chocolate-pie, #36493) script: Clean up CSP management code (#36493) # Current implementation takes arguments for specifying values of violation report, but is difficult to understand # which value should be passed. These changes create new builder for violation report to address the issue. # Testing: These changes do not require tests because they just refactor current code @@ -1970,7 +1976,8 @@ https://github.com/servo/servo/pull/36493 (@chocolate-pie, #36493) script: Clean # `LayoutBoxBase` to them. # Testing: This should not change any observable behavior, so existing # WPT suites should suffice for testing. -https://github.com/servo/servo/pull/36511 (@TimvdLippe, #36511) Gate `window.trustedTypes` behind flag (#36511) ++https://github.com/servo/servo/pull/36511 (@TimvdLippe, #36511) Gate `window.trustedTypes` behind flag (#36511) + api; trusted types # This was missed in #36355 and should have also been gated by the flag. With these, the wpt.fyi tests should now # no longer pass, as the flag hasn't been removed yet. +https://github.com/servo/servo/pull/36498 (@Gae24, #36498) async clipboard: implement `writeText` (#36498) @@ -2005,10 +2012,11 @@ https://github.com/servo/servo/pull/36511 (@TimvdLippe, #36511) Gate `window.tru embedding; multiview # null >>> 2025-04-16T06:02:37Z -https://github.com/servo/servo/pull/36552 (@PotatoCP, #36552) Implement GetComputedRole in wd (#36552) ++https://github.com/servo/servo/pull/36552 (@PotatoCP, #36552) Implement GetComputedRole in wd (#36552) + test; servodriver bustage # Implement Webdriver Get Computed Role. # [spec](https://w3c.github.io/webdriver/#get-computed-role) -https://github.com/servo/servo/pull/36467 (@PotatoCP, #36467) Refactor retrieving element container in webdriver into function (#36467) +-https://github.com/servo/servo/pull/36467 (@PotatoCP, #36467) Refactor retrieving element container in webdriver into function (#36467) # Refactor getting an element's container. Previously this is inlined and only done for `HTMLOptionElement`. # [Try](https://github.com/PotatoCP/servo/actions/runs/14399482275) # Fixes: #24106 @@ -2171,7 +2179,7 @@ https://github.com/servo/servo/pull/36467 (@PotatoCP, #36467) Refactor retrievin # mach sets DYLD_LIBRARY_PATH, which is currently necessary for our unit tests, but causes git to fail in the build # script. Simply unsetting the environment variable before invoking git works around this problem. # Testing: Tested manually on macos and verified the warning does not occur anymore. -https://github.com/servo/servo/pull/36546 (@tharkum, #36546) canvas: Add "EnforceRange" attribute to CanvasImageData interface (#36546) +-https://github.com/servo/servo/pull/36546 (@tharkum, #36546) canvas: Add "EnforceRange" attribute to CanvasImageData interface (#36546) # Add missing "EnforceRange" attribute to interface methods # https://html.spec.whatwg.org/multipage/canvas.html#canvasimagedata # -- @@ -2188,7 +2196,8 @@ https://github.com/servo/servo/pull/36546 (@tharkum, #36546) canvas: Add "Enforc -https://github.com/servo/servo/pull/36540 (@simonwuelker, #36540) Remove two outdated TODO comments in HTMLScriptElement (#36540) # We support both the "referrerpolicy" and the "nonce" attribute on script elements, just not where the spec tells # us to do it. -https://github.com/servo/servo/pull/36535 (@kkoyung, #36535) Make DOMException serializable (#36535) ++https://github.com/servo/servo/pull/36535 (@kkoyung, #36535) Make DOMException serializable (#36535) + api; structured clone DOMException # Follow the implementation of making DOMPoint and DOMPointReadOnly serializable in PR #35989 # Testing: Passed a test previously expected to fail. # Fixes: #36463 @@ -2196,7 +2205,8 @@ https://github.com/servo/servo/pull/36535 (@kkoyung, #36535) Make DOMException s # Several places were using identical logic in order to parse a media queries or media query lists. # This patch centralizes the logic into 2 new helper methods in MediaList. # Testing: not needed (no behavior change) -https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @jschwe, #36444) [OHOS] Allow setting the log-filter via cli arguments (#36444) ++https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @jschwe, #36444) [OHOS] Allow setting the log-filter via cli arguments (#36444) + ohos # This PR allows setting the log-filter according to the env_filter spec via CLI arguments. # Testing is currently in progress, will be done on machines running OHOS. +https://github.com/servo/servo/pull/36531 (@jschwe, #36531) touch: Fix panic with -Zconvert-mouse-to-touch (#36531) @@ -2239,7 +2249,8 @@ https://github.com/servo/servo/pull/36444 (@PartiallyUntyped, @jschwe, #36444) [ # https://searchfox.org/mozilla-central/source/dom/bindings/Configuration.py specifically keying `binaryNameFor` # on name and `isStatic`). # Testing: I locally updated the Response.webidl to contain the new static `json` and it compiles. -https://github.com/servo/servo/pull/36566 (@Taym95, #36566) fix writablestream assertion crash when getting chunk size following spec change (#36566) ++https://github.com/servo/servo/pull/36566 (@Taym95, #36566) fix writablestream assertion crash when getting chunk size following spec change (#36566) + crash # One-line change to align with the new spec and avoid a crash. # fix #36565 -https://github.com/servo/servo/pull/36575 (@dependabot[bot], @dependabot[bot], #36575) build(deps): bump proc-macro2 from 1.0.94 to 1.0.95 (#36575) @@ -2328,7 +2339,8 @@ https://github.com/servo/servo/pull/36566 (@Taym95, #36566) fix writablestream a # Depends on https://github.com/servo/mozjs/pull/579. # Testing: Manual testing on testcase from https://github.com/servo/servo/issues/34709, and new crashtest added. # Fixes: #34709 -https://github.com/servo/servo/pull/36541 (@rayguo17, #36541) media element: support seekable attribute (#36541) ++https://github.com/servo/servo/pull/36541 (@rayguo17, #36541) media element: support seekable attribute (#36541) + api; HTMLMediaElement seekable property # support seekable attribute in `htmlmediaelement`, modify `seek` algorithm to use `seekable` attribute. # related [specs](https://html.spec.whatwg.org/multipage/media.html#dom-media-seekable) # Testing: Run WPT Test From 4635658ef1bdd4c558828f702ee403b5bf2829e2 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 14:28:29 +0800 Subject: [PATCH 25/81] Triage all 239 remaining commits --- commits.txt | 71 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 27 deletions(-) diff --git a/commits.txt b/commits.txt index a56452775..665a10d24 100644 --- a/commits.txt +++ b/commits.txt @@ -1,5 +1,6 @@ >>> 2025-04-01T06:07:41Z -https://github.com/servo/servo/pull/36253 (@UssyMan, #36253) Add SimulateColorScheme command and script thread handling (#36253) ++https://github.com/servo/servo/pull/36253 (@uthmaniv, #36253) Add SimulateColorScheme command and script thread handling (#36253) + devtools # Implements Steps 2-3 of #35867: # - Adds `SimulateColorScheme` to `DevtoolScriptControlMsg` for light/dark mode simulation. # - Handles it in `ScriptThread` with `handle_theme_change` to toggle themes. @@ -69,7 +70,8 @@ https://github.com/servo/servo/pull/36253 (@UssyMan, #36253) Add SimulateColorSc # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36168 (@UssyMan, #36168) Track the active tab and browsing context for devtools (#36168) ++https://github.com/servo/servo/pull/36168 (@uthmaniv, #36168) Track the active tab and browsing context for devtools (#36168) + devtools; for color scheme simulation # ---Part of #35867, per Step 5 suggestion. This PR: # - Adds active_tab (via RefCell) to RootActor, updated in get_tab_msg_by_browser_id. # - Adds browsing_context() helper to TabDescriptorActor. @@ -135,7 +137,7 @@ https://github.com/servo/servo/pull/36168 (@UssyMan, #36168) Track the active ta # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36239 (@tharkum, #36239) dom: Set "composed" flag on construction for some event types (#36239) +-https://github.com/servo/servo/pull/36239 (@tharkum, #36239) dom: Set "composed" flag on construction for some event types (#36239) # "Composed" flag (https://dom.spec.whatwg.org/#composed-flag) should be properly set on event construction phase # from optional "EventInit" dictionary # (https://dom.spec.whatwg.org/#dom-eventinit-composed). @@ -163,7 +165,8 @@ https://github.com/servo/servo/pull/36239 (@tharkum, #36239) dom: Set "composed" # executing it would leak private data. # There *might* be a passing test after https://github.com/servo/servo/pull/36221. # [try run](https://github.com/simonwuelker/servo/actions/runs/14160034812/job/39664607755) -https://github.com/servo/servo/pull/36229 (@kongbai1996, #36229) Fixed the crash issue when the openharmony web component is adapted. (#36229) ++https://github.com/servo/servo/pull/36229 (@kongbai1996, #36229) Fixed the crash issue when the openharmony web component is adapted. (#36229) + crash ohos # When the OpenHarmony web component is adapted, touchmove events with the same ID may exist after touchup. Therefore, # only error logs are printed and no exception is thrown. +https://github.com/servo/servo/pull/36221 (@jdm, #36221) Enable service worker WPT tests. (#36221) @@ -291,7 +294,8 @@ https://github.com/servo/servo/pull/36229 (@kongbai1996, #36229) Fixed the crash # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36257 (@stevennovaryo, #36257) canvas: Implement line dash setters and getters (#36257) ++https://github.com/servo/servo/pull/36257 (@stevennovaryo, #36257) canvas: Implement line dash setters and getters (#36257) + api; CanvasPathDrawingStyles `setLineDash`, `getLineDash`, `lineDashOffset` # Implement `setLineDash`, `getLineDash`, and `lineDashOffset` from `CanvasPathDrawingStyles` mixin, according to # the spec https://html.spec.whatwg.org/multipage/canvas.html#canvaspathdrawingstyles. # Testing: Existing WPT. @@ -323,7 +327,8 @@ https://github.com/servo/servo/pull/36257 (@stevennovaryo, #36257) canvas: Imple # Fixes: #36114 # Fixes: #36235 # Fixes: #36231 -https://github.com/servo/servo/pull/36236 (@MDCODE247, #36236) script: Use `RegExpFlag_UnicodeSets` when validating regular expressions in `HTMLInputElement` (#36236) ++https://github.com/servo/servo/pull/36236 (@MDCODE247, #36236) script: Use `RegExpFlag_UnicodeSets` when validating regular expressions in `HTMLInputElement` (#36236) + forms; input validation # Changed `RegExpFlag_Unicode` to `RegExpFlag_UnicodeSets` in all instances. # Testing: Ran `./mach test-wpt # tests/wpt/tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html` and all tests @@ -495,7 +500,7 @@ https://github.com/servo/servo/pull/36236 (@MDCODE247, #36236) script: Use `RegE # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36133 (@richarddushime, #36133) Use Window in new methods instead of GlobalScope for interfaces with … (#36133) +-https://github.com/servo/servo/pull/36133 (@richarddushime, #36133) Use Window in new methods instead of GlobalScope for interfaces with … (#36133) # …Window-only constructors +https://github.com/servo/servo/pull/36272 (@mrobinson, @Loirooriol, #36272) script: Create `CSSStyleOwner::Null` for `getComputedStyle` (#36272) css; marker pseudo @@ -526,7 +531,7 @@ https://github.com/servo/servo/pull/36133 (@richarddushime, #36133) Use Window i # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-003.html` # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-004.html` # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-005.html` -https://github.com/servo/servo/pull/36274 (@tharkum, #36274) dom: Firing "click" event as synthetic pointer event (#36274) +-https://github.com/servo/servo/pull/36274 (@tharkum, #36274) dom: Firing "click" event as synthetic pointer event (#36274) # According to specification # https://html.spec.whatwg.org/multipage/webappapis.html#fire-a-click-event "Firing a click event at target means # firing a synthetic pointer event named click at target" @@ -554,7 +559,8 @@ https://github.com/servo/servo/pull/36274 (@tharkum, #36274) dom: Firing "click" # Fixes: Migrate the test to use new API # cc: @xiaochengh >>> 2025-04-04T06:05:48Z -https://github.com/servo/servo/pull/36298 (@Barry-dE, #36298) Fix: `display: inline-grid` considered an atomic inline (#36298) ++https://github.com/servo/servo/pull/36298 (@Barry-dE, #36298) Fix: `display: inline-grid` considered an atomic inline (#36298) + layout; fix atomic inlines # This change ensures that `display: inline-grid` is considered an atomic inline # - Add `is_atomic_inline_level()` logic to `box_fragment.rs` to improve accuracy. # - Update `stacking_context.rs` to use the new `is_atomic_inline_level()` method instead of the one from stylo. @@ -566,7 +572,8 @@ https://github.com/servo/servo/pull/36298 (@Barry-dE, #36298) Fix: `display: in layout # This is part of #36315 # Testing: This improves several tests that rely on this feature -https://github.com/servo/servo/pull/36174 (@reesmichael1, #36174) fix: root element not establishing stacking context (#35390) (#36174) ++https://github.com/servo/servo/pull/36174 (@reesmichael1, #36174) fix: root element not establishing stacking context (#35390) (#36174) + layout; fix stacking contexts # - [X] `./mach build -d` does not report any errors # - [X] `./mach test-tidy` does not report any errors # - [X] These changes fix #35390 @@ -644,7 +651,8 @@ https://github.com/servo/servo/pull/36174 (@reesmichael1, #36174) fix: root elem # runs to completion. # Fixes: #34551 # Fixes: #36328 -https://github.com/servo/servo/pull/36354 (@TimvdLippe, #36354) Run Trusted Types tests (#36354) ++https://github.com/servo/servo/pull/36354 (@TimvdLippe, #36354) Run Trusted Types tests (#36354) + api; trusted types # To set a baseline of test expectations prior to implementation. # Part of #36258 +https://github.com/servo/servo/pull/36301 (@sebsebmc, @sagudev, #36301) Implement TestUtils (#36301) @@ -884,7 +892,8 @@ https://github.com/servo/servo/pull/36354 (@TimvdLippe, #36354) Run Trusted Type -https://github.com/servo/servo/pull/36369 (@servo-wpt-sync, #36369) Sync WPT with upstream (06-04-2025) (#36369) # Automated downstream sync of changes from upstream as of 06-04-2025 # [no-wpt-sync] -https://github.com/servo/servo/pull/36338 (@sakupi01, #36338) Fix: Add support for stylesheet MIME type quirk in quirks mode (#36338) ++https://github.com/servo/servo/pull/36338 (@sakupi01, #36338) Fix: Add support for stylesheet MIME type quirk in quirks mode (#36338) + compat # This PR implements the HTML spec quirk for stylesheets: https://html.spec.whatwg.org/multipage/#link-type-stylesheet # The implementation adds a check in `stylesheet_loader.rs` to handle this quirk condition correctly, and adds a # new WPT test to verify that same-origin non-CSS MIME type resources are properly treated as CSS in quirks mode. @@ -912,20 +921,21 @@ https://github.com/servo/servo/pull/36338 (@sakupi01, #36338) Fix: Add support f # `constellation_traits::message_port`. # Testing: This is covered by existing tests as it just moves types around. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36365 (@kaushikashok45, #36365) Refactor:Refactors report_cross_origin_denial method to use unsafe block (#36365) +-https://github.com/servo/servo/pull/36365 (@kaushikashok45, #36365) Refactor:Refactors report_cross_origin_denial method to use unsafe block (#36365) # The method report_cross_origin_denial was marked as unsafe, have instead moved the unsafe code within the method # into an unsafe block within the method and removed the unsafe marking for the method. # Testing: No testing needed # Fixes: This PR resolves #36356. # Signed-off-by : Ashok Kaushik kaushikashok45@gmail.com -https://github.com/servo/servo/pull/36355 (@TimvdLippe, #36355) Stub out Trusted Types interfaces (#36355) ++https://github.com/servo/servo/pull/36355 (@TimvdLippe, #36355) Stub out Trusted Types interfaces (#36355) + api; trusted types # Some methods are implemented fully, while others are implemented # partly. With these implementations, there are no observed crashes # when running the trusted-types web-platform-tests. # Most notably, the tests/wpt/tests/trusted-types/idlharness.window.js # is now fully passing. # Part of #36258 -https://github.com/servo/servo/pull/36361 (@kkoyung, #36361) structuredclone::read throws a DataClone error on failure (#36361) +-https://github.com/servo/servo/pull/36361 (@kkoyung, #36361) structuredclone::read throws a DataClone error on failure (#36361) # In the structured clone writing API, the read function should throw a DataClone error on failure, just like the # write function. # Testing: It doesn't require tests. @@ -2353,7 +2363,8 @@ https://github.com/servo/servo/pull/36361 (@kkoyung, #36361) structuredclone::re # This removes a bunch of duplicated code needed to support ConditionalMallocSizeOf correctly, and fixes multiple # places where that code was subtly wrong (the seen pointers hashset was never cleared). # Testing: Measuring https://www.nist.gov/image-gallery lots of times. -https://github.com/servo/servo/pull/36510 (@TimvdLippe, #36510) Check CSP for inline event handlers (#36510) ++https://github.com/servo/servo/pull/36510 (@TimvdLippe, #36510) Check CSP for inline event handlers (#36510) + security # This also ensures that document now reports all violations and we set the correct directive. # With these changes, all `script-src-attr-elem` WPT tests pass. # Part of #36437 @@ -2395,7 +2406,8 @@ https://github.com/servo/servo/pull/36510 (@TimvdLippe, #36510) Check CSP for in # exposing the `compositing` crate as public Servo API. # Testing: This does not change behavior so is covered by existing tests. # Signed-off-by: Martin Robinson -https://github.com/servo/servo/pull/36569 (@tharkum, #36569) imagedata: Fix overflow panic for too large ImageData (#36569) ++https://github.com/servo/servo/pull/36569 (@tharkum, #36569) imagedata: Fix overflow panic for too large ImageData (#36569) + crash # In Servo debug build there are runtime crash due to "attempt to multiply with overflow" panic # in case of creation too large ImageData (new ImageData(1<<31, 1<<31)) # Use checked integer multiplication to catch occurred overflow @@ -2716,7 +2728,8 @@ https://github.com/servo/servo/pull/36569 (@tharkum, #36569) imagedata: Fix over # - [x] ./mach build -d does not report any errors # - [x] ./mach test-tidy does not report any errors # - [x] These changes partially implement https://github.com/servo/servo/issues/36027 -https://github.com/servo/servo/pull/36603 (@TimvdLippe, #36603) Set correct policy-container for worker construction (#36603) ++https://github.com/servo/servo/pull/36603 (@TimvdLippe, #36603) Set correct policy-container for worker construction (#36603) + security; csp # This makes sure that when workers are created, their global scope has the correct policy-container set # so that we can do CSP-checks. -https://github.com/servo/servo/pull/36630 (@simonwuelker, #36630) Bump fontsan version to include servo/fontsan#37 (#36630) @@ -2811,7 +2824,7 @@ https://github.com/servo/servo/pull/36603 (@TimvdLippe, #36603) Set correct poli # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36648 (@pewsheen, #36648) chore: remove unnecessary `webrender_document` in script (#36648) +-https://github.com/servo/servo/pull/36648 (@pewsheen, #36648) chore: remove unnecessary `webrender_document` in script (#36648) # remove `webrender_document` in script and constellation's pipeline # Testing: `webrender_document` in script crate is not being referenced anywhere in the Servo, should be safe to remove. # Fixes: https://github.com/servo/servo/issues/36647 @@ -2959,7 +2972,8 @@ https://github.com/servo/servo/pull/36648 (@pewsheen, #36648) chore: remove unne # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36586 (@webbeef, #36586) Implement CSSStyleSheet::replaceSync (#36586) ++https://github.com/servo/servo/pull/36586 (@webbeef, #36586) Implement CSSStyleSheet::replaceSync (#36586) + api # Implements the `replaceSync` method on CSSStyleSheet # Testing: Covered by wpt tests. Expectations are updated. -https://github.com/servo/servo/pull/36640 (@jdm, #36640) script: Add generic root storage to StructuredCloneReader. (#36640) @@ -3115,9 +3129,10 @@ https://github.com/servo/servo/pull/36586 (@webbeef, #36586) Implement CSSStyleS # These failures are actually progressions, because now the references start # to render properly whereas before they did not. # Fixes: This is part of #36525 and #36665. -https://github.com/servo/servo/pull/36506 (@atouchet, #36506) servoshell Cargo.toml cleanup (#36506) +-https://github.com/servo/servo/pull/36506 (@atouchet, #36506) servoshell Cargo.toml cleanup (#36506) # null -https://github.com/servo/servo/pull/36623 (@TimvdLippe, #36623) Support CSP report-only header (#36623) ++https://github.com/servo/servo/pull/36623 (@TimvdLippe, #36623) Support CSP report-only header (#36623) + security; csp # This turned out to be a full rabbit hole. The new header # is parsed in the new `parse_csp_list_from_metadata` which # sets `disposition` to `report. @@ -3177,7 +3192,7 @@ https://github.com/servo/servo/pull/36623 (@TimvdLippe, #36623) Support CSP repo # carefully collected by the `InlineFormattingContextBuilder` -- currently # a bit fragile, but with more documentation. # Testing: There are tests for these changes. -https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test target directories (#36690) +-https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test target directories (#36690) # The command `./mach test-tidy` did not check the TOML files in the subdirectories of components/shared/, since # the argument for taglo command was written as `components/shared/*.toml`. # This patch fixes it to include those TOML files in test-tidy. @@ -3250,7 +3265,7 @@ https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test targ # and set this flag for the parser. # These updates align Servo's parsing behavior more closely with the specification: # https://html.spec.whatwg.org/multipage/parsing.html#the-initial-insertion-mode -https://github.com/servo/servo/pull/36704 (@Taym95, #36704) Determine if ResizeTo is allowed (#36704) +-https://github.com/servo/servo/pull/36704 (@Taym95, #36704) Determine if ResizeTo is allowed (#36704) # Spec says to check If target is not an auxiliary browsing context before performing ResizeTo. # Fixes: #36701 >>> 2025-04-29T06:08:21Z @@ -3373,7 +3388,8 @@ https://github.com/servo/servo/pull/36704 (@Taym95, #36704) Determine if ResizeT # a rebase manually by commenting `@dependabot rebase`. # [//]: # (dependabot-automerge-start) # [//]: # (dependabot-automerge-end) -https://github.com/servo/servo/pull/36692 (@PartiallyUntyped, #36692) Propagate image resolution errors in layout context (#36692) ++https://github.com/servo/servo/pull/36692 (@PartiallyUntyped, #36692) Propagate image resolution errors in layout context (#36692) + perf # This commit modifies layout context to propagate any issues that occur during image # resolution. # At the moment, when errors occur during image resolution we propagate None upwards. This @@ -3382,10 +3398,11 @@ https://github.com/servo/servo/pull/36692 (@PartiallyUntyped, #36692) Propagate # This commit instead propagates these errors upwards to consumers where they may become # actionable. This is part of an investigation into #36679. # Signed-off-by: Astraea Quinn Skoutelli -https://github.com/servo/servo/pull/36470 (@Taym95, #36470) Start adding support for transforms in readable and writable streams (#36470) ++https://github.com/servo/servo/pull/36470 (@Taym95, #36470) Start adding support for transforms in readable and writable streams (#36470) + api; streams # Start adding support for transforms in readable and writable streams. Part of # https://github.com/servo/servo/issues/34676 -https://github.com/servo/servo/pull/35999 (@xiaochengh, #35999) Rewrite node insertion algorithm to match the spec (#35999) +-https://github.com/servo/servo/pull/35999 (@xiaochengh, #35999) Rewrite node insertion algorithm to match the spec (#35999) # Per [spec](https://dom.spec.whatwg.org/#concept-node-insert), adoption of new node should be done while inserting # the node. This patch moves the call site of `adopt` to inside `insert` to match it. # It also rewrites some existing code to better match the spec without any behavioral changes. From ceafba7973f17dadcc05ca48c282516efdfe8668 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Mon, 5 May 2025 16:40:46 +0800 Subject: [PATCH 26/81] Generate outline for April --- _posts/2025-05-09-this-month-in-servo.md | 402 +++ commits.txt | 3414 ---------------------- tools/generate-outline.sh | 2 +- 3 files changed, 403 insertions(+), 3415 deletions(-) delete mode 100644 commits.txt diff --git a/_posts/2025-05-09-this-month-in-servo.md b/_posts/2025-05-09-this-month-in-servo.md index 0a5101923..d4b2dc5c0 100644 --- a/_posts/2025-05-09-this-month-in-servo.md +++ b/_posts/2025-05-09-this-month-in-servo.md @@ -77,6 +77,408 @@ All WPT tests (4.6pp to 87.4%) /webxr/ (0.0pp to 64.0%) --> + + ## Donations Thanks again for your generous support! diff --git a/commits.txt b/commits.txt deleted file mode 100644 index 665a10d24..000000000 --- a/commits.txt +++ /dev/null @@ -1,3414 +0,0 @@ ->>> 2025-04-01T06:07:41Z -+https://github.com/servo/servo/pull/36253 (@uthmaniv, #36253) Add SimulateColorScheme command and script thread handling (#36253) - devtools - # Implements Steps 2-3 of #35867: - # - Adds `SimulateColorScheme` to `DevtoolScriptControlMsg` for light/dark mode simulation. - # - Handles it in `ScriptThread` with `handle_theme_change` to toggle themes. - # Testing: This PR does not require testing because it only adds infrastructure (command and handler) but doesn’t - # yet integrate with devtools actors. - # Fixes: Part of #35867 (https://github.com/servo/servo/issues/35867) --https://github.com/servo/servo/pull/36255 (@simonwuelker, #36255) Remove ServoParser::do_parse_sync (#36255) - # The indirection through ServoParser::parse_sync does nothing, so the method can simply be called directly. -+https://github.com/servo/servo/pull/36246 (@Loirooriol, #36246) Enable css-nesting WPT tests (#36246) - css; nesting - # So that we can see the improvement when enabling the feature. - # Testing: This PR enables tests - # This is part of #36245 --https://github.com/servo/servo/pull/36244 (@dependabot[bot], @dependabot[bot], #36244) build(deps): bump darling from 0.20.10 to 0.20.11 (#36244) - # Bumps [darling](https://github.com/TedDriggs/darling) from 0.20.10 to 0.20.11. - # Release notes - # Sourced from darling's releases. - # v0.20.11 - # Support #[darling(with = ...)] on the data field when deriving FromDeriveInput. This allows the use of simpler - # receiver types, such as a Vec of enum variants. - # Bump version of proc-macro2 to 1.0.86. - # Accept closures for #[darling(with = ...)] on fields in FromDeriveInput, FromMeta, FromField, etc. #309 - # Add darling::util::Callable to accept a path or closure as a meta-item expression - # Add #[darling(from_word = ...)] and #[darling(from_none = ...)] to control shorthand and fallback behaviors for - # structs and enums deriving FromMeta #320 - # Add FromMeta impl for syn::ExprRange #329 - # Changelog - # Sourced from darling's changelog. - # v0.20.11 (March 28, 2025) - # Support #[darling(with = ...)] on the data field when deriving FromDeriveInput. This allows the use of simpler - # receiver types, such as a Vec of enum variants. - # Bump version of proc-macro2 to 1.0.86. - # Accept closures for #[darling(with = ...)] on fields in FromDeriveInput, FromMeta, FromField, etc. #309 - # Add darling::util::Callable to accept a path or closure as a meta-item expression - # Add #[darling(from_word = ...)] and #[darling(from_none = ...)] to control shorthand and fallback behaviors for - # structs and enums deriving FromMeta #320 - # Add FromMeta impl for syn::ExprRange #329 - # Commits - # 82a51e0 Bump version to 0.20.11 - # 61834da Impl FromMeta for syn::ExprRange (#332) - # f18d5d5 Add explicit implementations of FromMeta methods to SpannedValue and `Ove... - # a6e5f52 Move generation of from_word body for unit variants - # c8c8201 Add from_word and from_none options - # 3a848ca Extract path-or-closure to darling::util::Callable - # fa552e4 Error if attrs field is declared and forward_attrs is missing. - # af24bdf Reject extra data passed to unit enum variants - # b7a248f Fix clippy violations by removing unnecessary iifetimes - # b746a0c Accept a closure for with in lieu of a path for fields (#310) - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=darling&package-manager=cargo& - # previous-version=0.20.10&new-version=0.20.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about - # -dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36243 (@dependabot[bot], @dependabot[bot], #36243) build(deps): bump socket2 from 0.5.8 to 0.5.9 (#36243) - # Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.8 to 0.5.9. - # Commits - # See full diff in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=socket2&package-manager=cargo& - # previous-version=0.5.8&new-version=0.5.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dep - # endabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) -+https://github.com/servo/servo/pull/36168 (@uthmaniv, #36168) Track the active tab and browsing context for devtools (#36168) - devtools; for color scheme simulation - # ---Part of #35867, per Step 5 suggestion. This PR: - # - Adds active_tab (via RefCell) to RootActor, updated in get_tab_msg_by_browser_id. - # - Adds browsing_context() helper to TabDescriptorActor. - # - Adds actor()`getter to TabDescriptorActorMsg for access in root.rs. - # -Creates the chain (Root - Tab - BrowsingContext) for routing colorSchemeSimulation. - # - [X ] `./mach build -d` does not report any errors - # - [X ] `./mach test-tidy` does not report any errors - # - [ ] These changes fix #___ (GitHub issue number if applicable) - # - [ ] There are tests for these changes OR - # - [X] These changes do not require tests because they’re structural setup for the actor chain and don’t change - # the system's behavior yet. --https://github.com/servo/servo/pull/36242 (@dependabot[bot], @dependabot[bot], #36242) build(deps): bump iana-time-zone from 0.1.62 to 0.1.63 (#36242) - # Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from 0.1.62 to 0.1.63. - # Changelog - # Sourced from iana-time-zone's changelog. - # [0.1.63] - 2025-03-31 - # Changes - # Bump MSRV (minimum supported rust version) to 1.62 (#131) - # Bump windows-core to 0.56-0.61 range (#131, #133) - # Commits - # 6adcd01 Bump version number to 0.1.63 - # 16f281a Merge pull request #133 from MarijnS95/windows-0.56 - # 798e431 Bump windows-core range to 0.56-0.61 and regenerate with 0.59 - # 66033d9 Bump windows-core to 0.56 - # 10c843d Merge pull request #131 from MarijnS95/windows-core-0.54 - # a26e540 Bump windows-core to 0.53-0.54 range - # 5bad558 WIP: Bump MSRV to 1.62 - # 343f31b Merge pull request #164 from strawlab/dev/astraw-fix-aix - # 995347f AIX: remove unused code - # See full diff in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=iana-time-zone&package-manager - # =cargo&previous-version=0.1.62&new-version=0.1.63)](https://docs.github.com/en/github/managing-security-vulnerabilities/ - # about-dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36241 (@dependabot[bot], @dependabot[bot], #36241) build(deps): bump once_cell from 1.21.2 to 1.21.3 (#36241) - # Bumps [once_cell](https://github.com/matklad/once_cell) from 1.21.2 to 1.21.3. - # Changelog - # Sourced from once_cell's changelog. - # 1.21.3 - # Outline more initialization in race: #284, - # #285. - # Commits - # 29e3d93 Merge pull request #286 from briansmith/b/once-ref-dry - # a206950 Prepare for 1.21.3 release. - # 17d4a9b DRY race::OnceRef::{get_or_try_init, set}. - # 01b1d56 Merge pull request #285 from briansmith/b/once-ref-cold - # a851cc4 Mark initialization of OnceRef::get_or_try_init cold. - # 2447a93 Merge pull request #281 from briansmith/b/init-inner - # c294d64 Merge pull request #280 from briansmith/b/self - # 5f0fdd4 Merge pull request #283 from briansmith/b/cast_mut - # 899e319 Merge pull request #284 from briansmith/b/dry-get - # 90da60b Mark initialization of OnceBox::get_or_try_init cold. - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=carg - # o&previous-version=1.21.2&new-version=1.21.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about - # -dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36239 (@tharkum, #36239) dom: Set "composed" flag on construction for some event types (#36239) - # "Composed" flag (https://dom.spec.whatwg.org/#composed-flag) should be properly set on event construction phase - # from optional "EventInit" dictionary - # (https://dom.spec.whatwg.org/#dom-eventinit-composed). - # The limited set of event types (Custom/Error/Focus/Mouse) will be affected by this CL (used in WPT tests). -+https://github.com/servo/servo/pull/36230 (@jdm, #36230) script: Fix resize observer depth calculation for Shadow DOM. (#36230) - shadowdom - # Follow the specification more closely by using the flat tree when calculating depth for the resize observer. - # Testing: Newly passing WPT test. - # Fixes: #36092 --https://github.com/servo/servo/pull/36233 (@simonwuelker, #36233) Remove interior mutability from `ResizeObservation` (#36233) - # This is struct is always already wrapped in a RefCell by `ResizeObserver`. It is not exposed to JS itself, so it - # doesn't need `RefCell`s. - # Testing: Covered by existing WPT tests -+https://github.com/servo/servo/pull/36227 (@simonwuelker, #36227) Refuse to provide partial response from earlier ranged request to API that did not make a range request (#36227) - net - # Part of https://github.com/servo/servo/issues/33616 - # It appears that there is no web platform test for this change (at least I couldn't find any). The flag itself - # is used to prevent an attack involving service workers - I only implemented it because it was getting in the way - # somewhere else. - # To quote the spec: - # > The above steps prevent the following attack: - # A media element is used to request a range of a cross-origin HTML resource. Although this is invalid media, a - # reference to a clone of the response can be retained in a service worker. This can later be used as the response - # to a script element’s fetch. If the partial response is valid JavaScript (even though the whole resource is not), - # executing it would leak private data. - # There *might* be a passing test after https://github.com/servo/servo/pull/36221. - # [try run](https://github.com/simonwuelker/servo/actions/runs/14160034812/job/39664607755) -+https://github.com/servo/servo/pull/36229 (@kongbai1996, #36229) Fixed the crash issue when the openharmony web component is adapted. (#36229) - crash ohos - # When the OpenHarmony web component is adapted, touchmove events with the same ID may exist after touchup. Therefore, - # only error logs are printed and no exception is thrown. -+https://github.com/servo/servo/pull/36221 (@jdm, #36221) Enable service worker WPT tests. (#36221) - test - # #36114 showed a crash in the service worker code that is enabled with the experimental prefs. I'd like to have - # these tests running even if nobody is actively working on implementing the feature right now, since they would - # have caught the crash sooner. ->>> 2025-04-02T06:12:13Z -+https://github.com/servo/servo/pull/36276 (@mrobinson, #36276) libservo: Remove a couple `EmbedderMethods` (#36276) - embedding - # - Remove `EmbedderMethods::get_user_agent_string`. This is now part of - # the `Preferences` data structure, which should allow it to be - # per-`WebView` in the future. - # - Remove `EmbedderMethods::get_version_string`. This was used to include - # some data along with WebRender captures about the Servo version. This - # isn't really necessary and it was done to replace code in the past - # that output the WebRender version, so also isn't what the original - # code did. I think we can just remove this entirely. - # The idea with these changes is that `EmbedderMethods` can be removed - # in a followup and the rest of the methods can be added to - # `ServoDelegate`. These two methods are ones that cannot be added to a - # delegate as they are used during `Servo` initialization. - # Testing: There is currently no testing for libservo. These changes are meant - # as preparation for adding a suite of `WebView` unit tests. - # Signed-off-by: Martin Robinson -+https://github.com/servo/servo/pull/36281 (@TimvdLippe, #36281) Remove meta-legacy-layout wpt tests (#36281) - legacy - # These tests were related to the legacy layout engine which has been removed. - # Therefore, they are considered leftover and can be removed. - # Fixes #36277 -+https://github.com/servo/servo/pull/36254 (@Loirooriol, #36254) Turn `CSSStyleRule` into a `CSSGroupingRule` subclass (#36254) - css; nesting - # Note that `StyleRule` may not have the `CssRules` readily available, they may need to be created. So the previous - # approach of providing `CSSGroupingRule` with the `CssRules` is no good: it would require writing them in advance, - # just in case they end up being used. - # Therefore, this removes the `CSSGroupingRule::rules` field. Instead, they are lazily obtained in - # `CSSGroupingRule::rulelist()` by downcasting and calling the appropriate method for the subclass. - # Testing: covered by WPT - # Fixes: #36245 --https://github.com/servo/servo/pull/36280 (@dependabot[bot], @dependabot[bot], #36280) build(deps): bump quick-xml from 0.37.3 to 0.37.4 (#36280) - # Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.3 to 0.37.4. - # Release notes - # Sourced from quick-xml's releases. - # v0.37.4 - Derive more traits for readers - # What's Changed - # Misc Changes - # #852: Add Debug impl for NsReader and Reader and Clone impl for NsReader - # #852: tafia/quick-xml#852 - # New Contributors - # @​lukasfri made their first contribution in tafia/quick-xml#852 - # Full Changelog: https://github.com/tafia/quick-xml/compare/v0.37.3...v0.37.4 - # Changelog - # Sourced from quick-xml's changelog. - # 0.37.4 -- 2025-04-01 - # Misc Changes - # #852: Add Debug impl for NsReader and Reader and Clone impl for NsReader - # #852: tafia/quick-xml#852 - # Commits - # a81bac7 Release 0.37.4 - # cbcf835 Add some standard derives for Debug and Clone on Reader and NsReader. - # See full diff in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quick-xml&package-manager=carg - # o&previous-version=0.37.3&new-version=0.37.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about - # -dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36279 (@dependabot[bot], @dependabot[bot], #36279) build(deps): bump hyper-util from 0.1.10 to 0.1.11 (#36279) - # Bumps [hyper-util](https://github.com/hyperium/hyper-util) from 0.1.10 to 0.1.11. - # Release notes - # Sourced from hyper-util's releases. - # v0.1.11 - # What's Changed - # fix(client): Fix HTTP/2 websocket request by @​0x676e67 in hyperium/hyper-util#165 - # builder: expose methods for determining if HTTP/1.1 or HTTP/2 support are enabled by @​tobz in - # hyperium/hyper-util#164 - # feat(server): support auto_date_header, max_local_error_reset_streams, and ignore_invalid_headers. by @​finnbear - # in hyperium/hyper-util#161 - # fix(tracing): propagate span context by @​alpeb in hyperium/hyper-util#166 - # feat(rt/tokio): additive tokio and hyper i/o adaptors by @​cratelyn in hyperium/hyper-util#170 - # feat(client): implement Connection for UnixStream and NamedPipeClient by @​seanmonstar in hyperium/hyper-util#177 - # enable HttpConnector::interface on macOS and Solarish systems by @​hawkw in hyperium/hyper-util#176 - # New Contributors - # @​jlizen made their first contribution in hyperium/hyper-util#159 - # @​linyihai made their first contribution in hyperium/hyper-util#160 - # @​tobz made their first contribution in hyperium/hyper-util#164 - # @​finnbear made their first contribution in hyperium/hyper-util#161 - # @​alpeb made their first contribution in hyperium/hyper-util#166 - # @​cratelyn made their first contribution in hyperium/hyper-util#168 - # @​hawkw made their first contribution in hyperium/hyper-util#176 - # Thanks - # @​tottoto - # @​gretchenfrage - # Changelog - # Sourced from hyper-util's changelog. - # 0.1.11 (2025-03-31) - # Add tracing crate feature with support in TokioExecutor. - # Add HttpConnector::interface() support for macOS and Solarish systems. - # Add rt::WithHyperIo and rt::WithTokioIo combinators. - # Add auto_date_header() for auto server builder. - # Add max_local_error_reset_streams() for auto server builder. - # Add ignore_invalid_headers() for auto server builder. - # Add methods to determine if auto server is configured for HTTP/1 or HTTP/2. - # Implement Connection for UnixStream and NamedPipeClient. - # Fix HTTP/2 websocket requests sent through legacy::Client. - # Commits - # 4c4e062 v0.1.11 - # 486e3b6 bump license year - # 5831ace feat(client): enable HttpConnector::interface on macOS and Solarish systems... - # dc03ad4 feat(client): implement Connection for UnixStream and NamedPipeClient (#177) - # 94afd50 feat(rt/tokio): additive tokio and hyper i/o adaptors (#170) - # ef35d8a chore: pin once-cell on msrv ci job (#175) - # d51318d chore(client/legacy): remove unused PoolClient::is_closed() (#169) - # 1290685 chore(tokio): warn on dead code (#168) - # b90ff7d feat(rt): add tracing feature that will propagate span context in TokioExec... - # 46826ea feat(server): support auto_date_header, max_local_error_reset_streams, an... - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper-util&package-manager=car - # go&previous-version=0.1.10&new-version=0.1.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/abou - # t-dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) -+https://github.com/servo/servo/pull/36257 (@stevennovaryo, #36257) canvas: Implement line dash setters and getters (#36257) - api; CanvasPathDrawingStyles `setLineDash`, `getLineDash`, `lineDashOffset` - # Implement `setLineDash`, `getLineDash`, and `lineDashOffset` from `CanvasPathDrawingStyles` mixin, according to - # the spec https://html.spec.whatwg.org/multipage/canvas.html#canvaspathdrawingstyles. - # Testing: Existing WPT. -+https://github.com/servo/servo/pull/36248 (@Loirooriol, #36248) Implement CSSNestedDeclarations (#36248) - css; nesting - # This is the CSSOM interface that represents a nested declarations rule. - # https://drafts.csswg.org/css-nesting/#the-cssnestrule - # Testing: `/_mozilla/mozilla/interfaces.https.html`. And once `CSSStyleRule` becomes a `CSSGroupingRule` subclass, - # this will be further covered by `/css/css-nestting/`. - # This is part of #36245 -+https://github.com/servo/servo/pull/36249 (@Loirooriol, #36249) Enable CSS parent selector (`&`) (#36249) - css; nesting - # Bumps Stylo to servo/stylo#164 - # Changelog: - # https://github.com/servo/stylo/compare/bc4717c7842ad59243f00ae76ba23f998c749b94...600b5c42970fdbe301f18c013a0f0ca4ed5f08 - # db - # Testing: covered by WPT - # This is part of https://github.com/servo/servo/issues/36245 -+https://github.com/servo/servo/pull/35971 (@delan, #35971) devtools: Fix id collisions by using incrementing counters (#35971) - devtools - # Devtools clients need a `browserId`, `browsingContextID`, and `outerWindowID`, which correspond to WebViewId, - # BrowsingContextId, and PipelineId in Servo. These u32 values were previously derived from our sharded (u32,u32) - # id values by taking only the `index` (second u32) and ignoring the `namespace_id` (first u32), leading to collisions. - # This patch fixes that by mapping those Servo ids to sequential u32 values. -+https://github.com/servo/servo/pull/36256 (@jdm, #36256) Fix null realm assertion when activating a service worker (#36256) - crash - # Ensure there is an active realm when dispatching the `activation` DOM event to the ServiceWorker global. - # Testing: Existing WPT coverage. - # Fixes: #36114 - # Fixes: #36235 - # Fixes: #36231 -+https://github.com/servo/servo/pull/36236 (@MDCODE247, #36236) script: Use `RegExpFlag_UnicodeSets` when validating regular expressions in `HTMLInputElement` (#36236) - forms; input validation - # Changed `RegExpFlag_Unicode` to `RegExpFlag_UnicodeSets` in all instances. - # Testing: Ran `./mach test-wpt - # tests/wpt/tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html` and all tests - # passed successfully. - # Fixes: #36075 ->>> 2025-04-03T06:09:09Z --https://github.com/servo/servo/pull/36282 (@gterzian, #36282) Add license for WHATWG specifications in code (#36282) - # Add license for WHATWG specs incorporated into source code, as per the [TSC - # discussion](https://github.com/servo/project/blob/db2f4074d4a369beb16f23ccc010ba73a3fc9662/governance/tsc/tsc-2025-03-31 - # .md#add-license-for-whatwg-specs-incorporated-into-source-code). - # As per for example https://html.spec.whatwg.org/#ipr --https://github.com/servo/servo/pull/36296 (@dependabot[bot], @dependabot[bot], #36296) build(deps): bump clap from 4.5.34 to 4.5.35 (#36296) - # Bumps [clap](https://github.com/clap-rs/clap) from 4.5.34 to 4.5.35. - # Release notes - # Sourced from clap's releases. - # v4.5.35 - # [4.5.35] - 2025-04-01 - # Fixes - # (help) Align positionals and flags when put in the same help_heading - # (help) Don't leave space for shorts if there are none - # Changelog - # Sourced from clap's changelog. - # [4.5.35] - 2025-04-01 - # Fixes - # (help) Align positionals and flags when put in the same help_heading - # (help) Don't leave space for shorts if there are none - # Commits - # 55a18f5 chore: Release - # 3b05635 fix(complete): Ensure new enough clap is used - # See full diff in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&pre - # vious-version=4.5.34&new-version=4.5.35)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-depe - # ndabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36294 (@dependabot[bot], @dependabot[bot], #36294) build(deps): bump env_logger from 0.11.7 to 0.11.8 (#36294) - # Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.7 to 0.11.8. - # Release notes - # Sourced from env_logger's releases. - # v0.11.8 - # [0.11.8] - 2025-04-01 - # Compatibility - # (kv) Deprecate the unstable-kv feature which may be removed in a future patch release - # Features - # (kv) Stabilize key-value support behind the kv feature - # Expose ConfigurableFormat to build custom [Builder::format]s that leverage this - # Changelog - # Sourced from env_logger's changelog. - # [0.11.8] - 2025-04-01 - # Compatibility - # (kv) Deprecate the unstable-kv feature which may be removed in a future patch release - # Features - # (kv) Stabilize key-value support behind the kv feature - # Expose ConfigurableFormat to build custom [Builder::format]s that leverage this - # Commits - # f0443b2 chore: Release - # d8b5e1e docs: Update changelog - # 3ca671f Merge pull request #360 from epage/format - # bc02d61 feat(fmt): Expose ConfigurableFormat - # c567fde refactor(fmt): Pull out format logic - # ce25c73 refactor(fmt): Make DefaultFormats name more specific - # 739ebb1 refactor(fmt): Pull out logger's builder methods - # 3acb571 refactor(fmt): Delegate formatting to DefaultFormat - # e351bcb refactor(fmt): Reduce duplication in DefaultFormatWriter - # 3c9e6ff Merge pull request #359 from epage/kv - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=env_logger&package-manager=car - # go&previous-version=0.11.7&new-version=0.11.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/abou - # t-dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36293 (@dependabot[bot], @dependabot[bot], #36293) build(deps): bump aws-lc-rs from 1.12.6 to 1.13.0 (#36293) - # Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.12.6 to 1.13.0. - # Release notes - # Sourced from aws-lc-rs's releases. - # aws-lc-rs v1.13.0 - # What's Changed - # Support serializing RsaSubjectPublicKey to/from X509 by @​justsmth in aws/aws-lc-rs#742 - # ML-DSA support in unstable module by @​justsmth in aws/aws-lc-rs#690 - # Remove Kyber, KDF from unstable module by @​justsmth in aws/aws-lc-rs#747 - # Build improvements - # Fix CMake submodule warning by @​justsmth in aws/aws-lc-rs#730 - # Prefixing applied to all external symbols in aws-lc-sys: - # Align aws-lc-sys v0.27.2 w/ AWS-LC v1.48.5 by @​justsmth in aws/aws-lc-rs#740 - # Improve cross-build support to x86_64-pc-windows-gnu: - # Include Go source in aws-lc-sys crate by @​justsmth in aws/aws-lc-rs#754 - # Support build using CMake 4.0: - # Bump aws-lc-fips-sys to v0.13.5 by @​justsmth in aws/aws-lc-rs#760 - # Regenerate aws-lc-sys @ v1.48.3 by @​skmcgrail in aws/aws-lc-rs#734 - # CI for x86_64-unknown-illumos build target: - # Try to support illumos by @​LecrisUT in aws/aws-lc-rs#709 - # Issues Being Resolved - # implement encoding::AsDer<PublicKeyX509Der<'a>> for rsa::PublicKey -- aws/aws-lc-rs#741 - # -sys: include aws-lc/crypto/err/err_data_generate.go in published crates -- aws/aws-lc-rs#752 - # Failing to cross build for x86_64-pc-windows-gnu -- aws/aws-lc-rs#753 - # Failure to build with CMake 4 -- aws/aws-lc-rs#755 - # Other Merged PRs - # Update rustls integ test by @​justsmth in aws/aws-lc-rs#717 - # Bump aws-lc-fips-sys to v0.13.4 by @​justsmth in aws/aws-lc-rs#731 - # Test script for bindings pregeneration by @​justsmth in aws/aws-lc-rs#732 - # No libssl cross test for arm-linux-androideabi by @​justsmth in aws/aws-lc-rs#739 - # aws-lc-sys: output only one library by @​justsmth in aws/aws-lc-rs#749 - # Align aws-lc-sys v0.28.0 w/ AWS-LC 1.49.0 by @​justsmth in aws/aws-lc-rs#757 - # Bump to aws-lc-rs v1.13.0 by @​justsmth in aws/aws-lc-rs#758 - # New Contributors - # @​LecrisUT made their first contribution in aws/aws-lc-rs#709 - # Full Changelog: https://github.com/aws/aws-lc-rs/compare/v1.12.6...v1.13.0 - # Commits - # 8ed1be8 Bump to aws-lc-rs v1.13.0 (#758) - # 1e96391 Bump aws-lc-fips-sys to v0.13.5 (#760) - # 706565c Include Go source in aws-lc-sys crate (#754) - # 344a56f Align aws-lc-sys v0.28.0 w/ AWS-LC 1.49.0 (#757) - # b6d070b Remove Kyber, KDF from unstable (#747) - # 2e8b158 Unstable API for ML-DSA (#690) - # d998c01 Try to support illumos (#709) - # 44de3d2 aws-lc-sys: output only one library (#749) - # bfe34e8 Support RsaSubjectPublicKey to/from X509; Bump version (#742) - # 4fe8198 Align aws-lc-sys v0.27.2 w/ AWS-LC v1.48.5 (#740) - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-lc-rs&package-manager=carg - # o&previous-version=1.12.6&new-version=1.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about - # -dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36292 (@dependabot[bot], @dependabot[bot], #36292) build(deps): bump flate2 from 1.1.0 to 1.1.1 (#36292) - # Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.1.0 to 1.1.1. - # Release notes - # Sourced from flate2's releases. - # 1.1.1 - # This release should be smaller and thus faster to download. - # Additionally, when using the zlib-rs backend, duplicate symbol issues shouldn't occur anymore. - # What's Changed - # docs: Update README to promote zlib-rs by @​Xuanwo in rust-lang/flate2-rs#470 - # Update miniz_oxide to 0.8.5 by @​oyvindln in rust-lang/flate2-rs#475 - # Remove stale CHANGELOG.md by @​jayvdb in rust-lang/flate2-rs#476 - # More informative README on backends by @​Shnatsel in rust-lang/flate2-rs#480 - # Rewrite outdated backend notes in lib.rs by @​Shnatsel in rust-lang/flate2-rs#481 - # upgrade zlib-rs to version 0.5.0 by @​folkertdev in rust-lang/flate2-rs#482 - # New Contributors - # @​Xuanwo made their first contribution in rust-lang/flate2-rs#470 - # @​jayvdb made their first contribution in rust-lang/flate2-rs#476 - # Full Changelog: https://github.com/rust-lang/flate2-rs/compare/1.1.0...1.1.1 - # Commits - # 98c98c8 Merge pull request #482 from folkertdev/update-zlib-rs-0.5.0 - # 94b36b0 upgrade zlib-rs to version 0.5.0 - # a79bfe4 Merge pull request #481 from Shnatsel/backend-docs - # 694e822 less editorializing - # 6debe95 Merge pull request #480 from Shnatsel/zlib-rs-readme - # a24e276 Rewrite outdated backend notes in lib.rs - # 78ca174 More informative README on backends - # c9a3efa Merge pull request #476 from jayvdb/rm-changelog - # 0b2137d Remove stale CHANGELOG.md - # 0abbd1c Merge pull request #475 from oyvindln/patch-1 - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flate2&package-manager=cargo&p - # revious-version=1.1.0&new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-depe - # ndabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36133 (@richarddushime, #36133) Use Window in new methods instead of GlobalScope for interfaces with … (#36133) - # …Window-only constructors -+https://github.com/servo/servo/pull/36272 (@mrobinson, @Loirooriol, #36272) script: Create `CSSStyleOwner::Null` for `getComputedStyle` (#36272) - css; marker pseudo - # This new `CSSStyleOwner` variant is used when the pseudo-element - # argument fails to parse properly or is for some unknown or unsupported - # pseudo-element. - # Testing: There are tests for this change. Various tests start to pass and some start to - # fail. New failures are due to partial or fully missing support for pseudo-elements such - # as: - # - `::selection` - # - `::first-letter` and `::first-line` - # - `::marker` - # Co-authored-by: Oriol Brufau - # Signed-off-by: Martin Robinson -+https://github.com/servo/servo/pull/36278 (@Loirooriol, #36278) layout: Allow collapsing bottom margins with any indefinite block size (#36278) - layout - # According to CSS2, the bottom margin of a block container can collapse with the bottom margin of its last in-flow - # child if `height` computes to `auto`. - # However, according to CSS Sizing, that was "legacy spec prose" and should be interpreted as "behaves as `auto`". - # Therefore, cyclic percentages and intrinsic keywords like `min-content` shouldn't prevent margin collapse, because - # they behave as `auto`. - # This change aligns Servo with Gecko and Blink, but diverges from WebKit. - # https://www.w3.org/TR/CSS22/box.html#collapsing-margins - # https://www.w3.org/TR/css-sizing/#behave-auto - # Testing: - # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-001.html` - # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-002.html` - # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-003.html` - # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-004.html` - # - `tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-005.html` --https://github.com/servo/servo/pull/36274 (@tharkum, #36274) dom: Firing "click" event as synthetic pointer event (#36274) - # According to specification - # https://html.spec.whatwg.org/multipage/webappapis.html#fire-a-click-event "Firing a click event at target means - # firing a synthetic pointer event named click at target" - # So need to replace synthetic mouse event with "click" type to pointer event. - # https://w3c.github.io/pointerevents/#the-click-auxclick-and-contextmenu-events - # https://www.w3.org/TR/uievents/#event-type-click - # Firing "click" event could be triggered from script or by UA: - # - element.click() (https://html.spec.whatwg.org/multipage/interaction.html#dom-click) - # - form implicit submission - # (https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#implicit-submission) - # - keyboard activation (space) -+https://github.com/servo/servo/pull/36223 (@mrobinson, #36223) libservo: Start moving `WindowMethods` to `WebViewDelegate` (#36223) - embedding - # `WindowMethods` is used by the embedding layer to get information from - # the embedder. This change moves the functionality for getting screen - # size and `WebView` offsets to `WebViewDelegate`. - # This is important because `WebView`s might be on different screens or - # have different offsets on the screen itself, so it makes sense for this - # to be per-`WebView` and not global to the embedder. HiDPI and animation - # state functionality will move to the embedder in subsequent changes. - # Signed-off-by: Martin Robinson --https://github.com/servo/servo/pull/36238 (@shubhamg13, #36238) Fix broken unit-test of webview (#36238) - # This PR fixes the broken unit-test after [#35662](https://github.com/servo/servo/pull/35662) - # Testing: Verified locally and CI confirms too. - # Fixes: Migrate the test to use new API - # cc: @xiaochengh ->>> 2025-04-04T06:05:48Z -+https://github.com/servo/servo/pull/36298 (@Barry-dE, #36298) Fix: `display: inline-grid` considered an atomic inline (#36298) - layout; fix atomic inlines - # This change ensures that `display: inline-grid` is considered an atomic inline - # - Add `is_atomic_inline_level()` logic to `box_fragment.rs` to improve accuracy. - # - Update `stacking_context.rs` to use the new `is_atomic_inline_level()` method instead of the one from stylo. - # - Update `repeat-auto-fill-005.html` test expectation. - # - Remove .ini expectations for tests that are no longer failing. - # Testing: covered by WPT - # Fixes: #35310 -+https://github.com/servo/servo/pull/36316 (@Loirooriol, #36316) Enable layout_grid_enabled pref for all tests (#36316) - layout - # This is part of #36315 - # Testing: This improves several tests that rely on this feature -+https://github.com/servo/servo/pull/36174 (@reesmichael1, #36174) fix: root element not establishing stacking context (#35390) (#36174) - layout; fix stacking contexts - # - [X] `./mach build -d` does not report any errors - # - [X] `./mach test-tidy` does not report any errors - # - [X] These changes fix #35390 - # - [X] There are tests for these changes - # [Successful WPT run](https://github.com/reesmichael1/servo/actions/runs/14097679625) (which includes the new - # test files) - # (I didn't make the formatting changes intentionally--those came from `mach format` following `mach test-tidy`.) -+https://github.com/servo/servo/pull/36313 (@Loirooriol, #36313) script: Implement deprecated CSSStyleSheet members (#36313) - api; for speedometer - # Implements `rules`, `addRule()` and `removeRule()` for `CSSStyleSheet`. - # https://drafts.csswg.org/cssom/#legacy-css-style-sheet-members - # This is part of #36162 - # Testing: - # - `/css/css-cascade/at-scope-parsing.html` - # - `/css/css-conditional/at-supports-whitespace.html` - # - `/css/css-nesting/invalidation-004.html` - # - `/css/css-nesting/parsing.html` - # - `/css/css-nesting/serialize-group-rules-with-decls.html` - # - `/css/css-syntax/custom-property-rule-ambiguity.html` - # - `/css/css-syntax/invalid-nested-rules.html` - # - `/css/css-syntax/trailing-braces.html` - # - `/css/css-syntax/var-with-blocks.html` - # - `/css/css-transitions/parsing/starting-style-parsing.html` - # - `/css/cssom/CSSStyleSheet.html` - # - `/css/cssom/idlharness.html` - # - `/css/cssom/insertRule-across-context.html` -+https://github.com/servo/servo/pull/36311 (@Loirooriol, #36311) layout: Improve style conversion for Taffy (#36311) - layout; grid - # This imports the following changes from Blitz: - # - Map position:sticky to relative rather than absolute position - # https://github.com/DioxusLabs/blitz/commit/16a7c1654455bee62e83854f83304a2931b29a0d - # - Map left and right alignment from Stylo - # https://github.com/DioxusLabs/blitz/commit/c71cc681d8c877dbd30853b3c4a2a7449c6450e4 - # - Improve mapping of align-items/self - # https://github.com/DioxusLabs/blitz/commit/7bf2a25e756c1310a9e4603b4757e20548b961e2 - # Fixes: #35998 - # Testing: - # - `/css/css-grid/alignment/grid-align-justify-margin-border-padding.html` - # - `/css/css-grid/alignment/grid-align.html` - # - `/css/css-grid/alignment/grid-column-axis-alignment-sticky-positioned-items-001.html` - # - `/css/css-grid/alignment/grid-gutters-and-alignment.html` - # - `/css/css-grid/alignment/grid-item-alignment-with-orthogonal-flows.html` - # - `/css/css-grid/alignment/grid-row-axis-alignment-sticky-positioned-items-001.html` - # - `/css/css-grid/alignment/grid-self-alignment.html` -+https://github.com/servo/servo/pull/35684 (@simonwuelker, #35684) Support single-value ` prompt scrollable (#36677) - servoshell - # This ensures that the select element is usable when there are a lot of options. - # Testing: We don't have tests for servoshell. --https://github.com/servo/servo/pull/36672 (@sagudev, #36672) Disable serviceworkers for webgpu CTS tests (#36672) - # https://github.com/servo/servo/pull/36335 enabled all experimental features for all wpt tests, but - # `dom_serviceworker_enabled` makes all CTS tests fail, because servo reports working service worker impl, but - # CTS pre-setup of worker fails due too incomplete impl. The solution is that we disable service workers in CTS - # `__dir__.ini` (thus avoiding any CTS worker code) until impl is stable enough. - # Testing: This makes tests works again - # Fixes: #36657 -+https://github.com/servo/servo/pull/36667 (@atbrakhi, #36667) DevTools: Move `Source` related code to dedicated `source.rs` file (#36667) - devtools; Sources tab - # Currently Source related code exists in watcher.rs and thread.rs. This change moves source-related code to a dedicated - # source.rs file. This is in preparation for adding support for showing source code in the Debugger > Source panel. - # - [x] Testing: These changes should not affect current functionality as it only moves the existing code - # - [x] Fixes: part of https://github.com/servo/servo/issues/36027 ->>> 2025-04-26T06:06:54Z -+https://github.com/servo/servo/pull/36681 (@mrobinson, @Loirooriol, #36681) layout: Use box tree `Fragment`s for offset parent queries (#36681) - perf; layout queries - # This change switches `offsetParent`, `offsetLeft`, etc queries to use - # the BoxTree fragments instead of walking the entire fragment tree. In - # addition, fragments are stored for columns and colgroups. In general, - # this greatly simplifies the flow of the query and prevents having to do - # expensive tree walks. - # Testing: This change is covered by newly passing WPT tests and three new - # failures: - # - /css/filter-effects/backdrop-filter-edge-clipping-2.html - # - /css/filter-effects/backdrop-filter-edge-mirror.html - # - /css/filter-effects/backdrop-filter-edge-pixels-2.html - # These failures are actually progressions, because now the references start - # to render properly whereas before they did not. - # Fixes: This is part of #36525 and #36665. --https://github.com/servo/servo/pull/36506 (@atouchet, #36506) servoshell Cargo.toml cleanup (#36506) - # null -+https://github.com/servo/servo/pull/36623 (@TimvdLippe, #36623) Support CSP report-only header (#36623) - security; csp - # This turned out to be a full rabbit hole. The new header - # is parsed in the new `parse_csp_list_from_metadata` which - # sets `disposition` to `report. - # I was testing this with - # `script-src-report-only-policy-works-with-external-hash-policy.html` - # which was blocking the script incorrectly. Turns out that there - # were multiple bugs in the CSP library, as well as a missing - # check in `fetch` to report violations. - # Additionally, in several locations we were manually reporting csp - # violations, instead of the new `global.report_csp_violations`. As - # a result of that, they would double report, since the report-only - # header would be appended as a policy and now would report twice. - # Now, all callsides use `global.report_csp_violations`. As a nice - # side-effect, I added the code to set source file information, - # since that was already present for the `eval` check, but nowhere - # else. - # Part of #36437 - # Requires servo/rust-content-security-policy#5 --https://github.com/servo/servo/pull/36695 (@dependabot[bot], @dependabot[bot], #36695) build(deps): bump cc from 1.2.19 to 1.2.20 (#36695) - # Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.19 to 1.2.20. - # Release notes - # Sourced from cc's releases. - # cc-v1.2.20 - # Other - # Regenerate target info (#1461) - # Fix parser.rs on latest rustc nightly (#1459) - # Changelog - # Sourced from cc's changelog. - # 1.2.20 - 2025-04-25 - # Other - # Regenerate target info (#1461) - # Fix parser.rs on latest rustc nightly (#1459) - # Commits - # 1dd0989 chore: release v1.2.20 (#1462) - # 828dd19 Regenerate target info (#1461) - # 5da0787 Update rusqlite requirement from 0.34.0 to 0.35.0 (#1460) - # 9fb0d0b Fix parser.rs on latest rustc nightly (#1459) - # See full diff in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cc&package-manager=cargo&previ - # ous-version=1.2.19&new-version=1.2.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-depend - # abot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) -+https://github.com/servo/servo/pull/36663 (@mrobinson, @Loirooriol, #36663) layout: Implement node geometry queries against `BoxTree`'s `Fragment` (#36663) - perf; layout queries - # This is a followup to #36629, continuing to implement script-based - # layout queries using the `Fragment`s attached to the `BoxTree`. In this - # change, geometry queris (apart from parent offset) are calculated using - # `Fragment`s hanging of the `BoxTree`. - # In order to make this work, all `Fragment`s for inlines split by blocks, - # need to be accessible in the `BoxTree`. This required some changes to - # the way that box tree items were stored in DOM `BoxSlot`s. Now every - # inline level item can have more than a single `BoxTree` item. These are - # carefully collected by the `InlineFormattingContextBuilder` -- currently - # a bit fragile, but with more documentation. - # Testing: There are tests for these changes. --https://github.com/servo/servo/pull/36690 (@kkoyung, #36690) Fix taplo test target directories (#36690) - # The command `./mach test-tidy` did not check the TOML files in the subdirectories of components/shared/, since - # the argument for taglo command was written as `components/shared/*.toml`. - # This patch fixes it to include those TOML files in test-tidy. - # Testing: It only involves python script for test-tidy. No test is needed. - # Fixes: #36659 -+https://github.com/servo/servo/pull/36595 (@Loirooriol, #36595) layout: Implement `justify-self` for block-level boxes (#36595) - css layout - # https://drafts.csswg.org/css-align/#justify-block - # Testing: Improves various WPT tests. `justify-self-auto-margins-2.html` fails but I think the test is wrong. -+https://github.com/servo/servo/pull/36656 (@Legend-Master, @mrobinson, #36656) Initial support for marking custom protocol secure (#36656) - custom-protocol - # Add initial support for marking custom protocol as secure, this makes it possible to `fetch` a custom protocol - # inside secure contexts (e.g. http://localhost) - # Some additional contexts: - # - [#embedding > Custom protocol secure - # context](https://servo.zulipchat.com/#narrow/channel/437943-embedding/topic/Custom.20protocol.20secure.20context) - # - https://github.com/versotile-org/tauri-runtime-verso/issues/6#issuecomment-2820776128 - # Testing: use `fetch('urlinfo://abc').then(async (response) => console.log(await response.text())).catch(console.log)` - # in servoshell with in a secure context (e.g. https://servo.org), and see the response should not be an error --https://github.com/servo/servo/pull/36688 (@jschwe, #36688) Return Result from ProtocolRegistry::register() (#36688) - # Instead of returning true / false it's better to return a Result (even if we continue ignoring possible error). - # Testing: Doesn't change any behavior -+https://github.com/servo/servo/pull/36589 (@sebsebmc, #36589) Implement static Response.json (#36589) - api net; `Response.json` static method - # Implements https://fetch.spec.whatwg.org/#dom-response-json - # Restructured the constructor to follow the spec more closely with a separate "initialize the response" algorithm. - # Testing: There are existing WPT tests for this. -+https://github.com/servo/servo/pull/27041 (@jdm, #27041) Report exceptions for async script executions to webdriver (#27041) - test; servodriver bustage - # Improving the accuracy of the async script execution for our webdriver implementation allows us to run many more - # webdriver tests without timeouts, which should help with https://github.com/web-platform-tests/wpt/issues/24257. - # Specification: - # * https://w3c.github.io/webdriver/#dfn-clone-an-object - # * https://w3c.github.io/webdriver/#execute-async-script ->>> 2025-04-27T06:07:08Z --https://github.com/servo/servo/pull/36708 (@servo-wpt-sync, #36708) Sync WPT with upstream (27-04-2025) (#36708) - # Automated downstream sync of changes from upstream as of 27-04-2025 - # [no-wpt-sync] -+https://github.com/servo/servo/pull/36705 (@simonwuelker, #36705) Use snapshot size instead of canvas size when converting canvas to blob (#36705) - crash - # The blob data is encoded asynchronously, therefore the canvas size may have changed since it's data was saved - # to a snapshot. Using the canvas size confuses the encoder, because the provided data does not match the expected - # size anymore. - # Testing: This change includes a new web platform test - # Fixes https://github.com/servo/servo/issues/36702 -+https://github.com/servo/servo/pull/36698 (@mrobinson, #36698) layout: Remove rules for legacy pseudo-elements in user agent stylesheet (#36698) - legacy - # The legacy layout system used these pseudo-elements, but modern layout - # no longer does, so they are unused. They can simply be removed. - # Testing: No new tests as this is effectively dead code. ->>> 2025-04-28T06:03:44Z -+https://github.com/servo/servo/pull/36431 (@elomscansio, #36431) htmlinputelement: Update radio group validity logic for disconnected trees (#36431) - forms - # This PR updates the validity state revalidation behavior for radio input elements, ensuring consistent logic - # regardless of tree connectivity. --https://github.com/servo/servo/pull/36713 (@jdm, #36713) constellation: Move log inside relevant conditional. (#36713) - # This message is logged when we don't actually act on it and is confusing as a result. By moving it inside the - # conditional, we only log the message when we actually notify webdriver that the load is complete. - # Testing: Manual testing. -+https://github.com/servo/servo/pull/36622 (@elomscansio, #36622) script_thread: HTML parser doesn't set relevant option (#36622) - parse - # This patch ensures that the Servo HTML parser uses the appropriate `TreeBuilderOpts` settings - # as specified by the HTML specification. - # Changes: - # - **iframe_srcdoc:** Detect if the parsed document's URL scheme is `about:srcdoc`, and set the parser’s - # iframe_srcdoc option accordingly. - # - **quirks_mode:** Use the associated Document's quirks mode to set the parser’s quirks mode flag, improving - # fragment parsing behavior. - # - **scripting_enabled:** Add a `scripting_enabled` method to Document, based on whether it has a browsing context, - # and set this flag for the parser. - # These updates align Servo's parsing behavior more closely with the specification: - # https://html.spec.whatwg.org/multipage/parsing.html#the-initial-insertion-mode --https://github.com/servo/servo/pull/36704 (@Taym95, #36704) Determine if ResizeTo is allowed (#36704) - # Spec says to check If target is not an auxiliary browsing context before performing ResizeTo. - # Fixes: #36701 ->>> 2025-04-29T06:08:21Z --https://github.com/servo/servo/pull/36733 (@dependabot[bot], @dependabot[bot], #36733) build(deps): bump toml_datetime from 0.6.8 to 0.6.9 (#36733) - # Bumps [toml_datetime](https://github.com/toml-rs/toml) from 0.6.8 to 0.6.9. - # Commits - # 4021081 chore: Release - # 3312698 chore: Release - # b25da32 docs: Update changelog - # 8844949 docs(write): Update base commit - # 5406815 Merge pull request #875 from epage/w - # c6479a2 refactor(toml): Pull out ValueSerializer for easier comparison - # 8c43cf8 refactor(toml): Remove redundant non_exhaustive - # 268a1f8 Merge pull request #874 from epage/w - # e406f94 refactor(toml): Split ser module - # 4d782f8 refactor(edit): Rely on type alias in ser - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml_datetime&package-manager= - # cargo&previous-version=0.6.8&new-version=0.6.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/abo - # ut-dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36736 (@dependabot[bot], @dependabot[bot], #36736) build(deps): bump toml_edit from 0.22.24 to 0.22.25 (#36736) - # Bumps [toml_edit](https://github.com/toml-rs/toml) from 0.22.24 to 0.22.25. - # Commits - # 4021081 chore: Release - # 3312698 chore: Release - # b25da32 docs: Update changelog - # 8844949 docs(write): Update base commit - # 5406815 Merge pull request #875 from epage/w - # c6479a2 refactor(toml): Pull out ValueSerializer for easier comparison - # 8c43cf8 refactor(toml): Remove redundant non_exhaustive - # 268a1f8 Merge pull request #874 from epage/w - # e406f94 refactor(toml): Split ser module - # 4d782f8 refactor(edit): Rely on type alias in ser - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml_edit&package-manager=carg - # o&previous-version=0.22.24&new-version=0.22.25)](https://docs.github.com/en/github/managing-security-vulnerabilities/abo - # ut-dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36738 (@dependabot[bot], @dependabot[bot], #36738) build(deps): bump quick-xml from 0.37.4 to 0.37.5 (#36738) - # Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.4 to 0.37.5. - # Release notes - # Sourced from quick-xml's releases. - # v0.37.5 - BytesCData::decode() - # What's Changed - # New Features - # #857: Add BytesCData::decode(). - # #857: tafia/quick-xml#857 - # New Contributors - # @​mematthias made their first contribution in tafia/quick-xml#857 - # Full Changelog: https://github.com/tafia/quick-xml/compare/v0.37.4...v0.37.5 - # Changelog - # Sourced from quick-xml's changelog. - # 0.37.5 -- 2025-04-27 - # New Features - # #857: Add BytesCData::decode(). - # #857: tafia/quick-xml#857 - # Commits - # a018365 Release 0.37.5 - # a7cb878 Merge pull request #857 from mematthias/master - # 4acc194 Make BytesCData decode method pub - # See full diff in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quick-xml&package-manager=carg - # o&previous-version=0.37.4&new-version=0.37.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about - # -dependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36732 (@dependabot[bot], @dependabot[bot], #36732) build(deps): bump web_atoms from 0.1.0 to 0.1.1 (#36732) - # Bumps [web_atoms](https://github.com/servo/html5ever) from 0.1.0 to 0.1.1. - # Commits - # 15d10bf v0.1.1 - # b57243c Auto merge of #146 - servo:rustup, r=SimonSapin - # 4630ad8 Upgrade to rustc 1.2.0-nightly (2f5683913 2015-06-18) - # 395e39c Merge pull request #145 from kstep/patch-1 - # 5f8d1e1 add documentation link to cargo.toml - # 73d3f78 Auto merge of #144 - servo:crates.io, r=metajack - # See full diff in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=web_atoms&package-manager=carg - # o&previous-version=0.1.0&new-version=0.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-d - # ependabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) --https://github.com/servo/servo/pull/36735 (@dependabot[bot], @dependabot[bot], #36735) build(deps): bump syn from 2.0.100 to 2.0.101 (#36735) - # Bumps [syn](https://github.com/dtolnay/syn) from 2.0.100 to 2.0.101. - # Release notes - # Sourced from syn's releases. - # 2.0.101 - # Improve TypeGenerics::as_turbofish to return longer-lived return value (#1861) - # Commits - # 58336a3 Release 2.0.101 - # f1612cc Merge pull request #1861 from JakobDegen/turbofish - # d04eea1 Fix lifetime on as_turbofish - # 432b303 Resolve renamed_and_removed_lints warning about match_on_vec_items - # 1353d60 Update test suite to nightly-2025-04-08 - # 3980ff2 Improve wording of comment in advance_to implementation - # 8328b52 Update test suite to nightly-2025-04-05 - # 1d2e2be Update test suite to nightly-2025-04-03 - # 2400946 Update test suite to nightly-2025-04-02 - # 114a629 Update test suite to nightly-2025-03-27 - # Additional commits viewable in compare view - # [![Dependabot compatibility - # score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&prev - # ious-version=2.0.100&new-version=2.0.101)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dep - # endabot-security-updates#about-compatibility-scores) - # Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger - # a rebase manually by commenting `@dependabot rebase`. - # [//]: # (dependabot-automerge-start) - # [//]: # (dependabot-automerge-end) -+https://github.com/servo/servo/pull/36692 (@PartiallyUntyped, #36692) Propagate image resolution errors in layout context (#36692) - perf - # This commit modifies layout context to propagate any issues that occur during image - # resolution. - # At the moment, when errors occur during image resolution we propagate None upwards. This - # hides any potential issues that may be actionable, for example, we may want to avoid - # trying to load an image that failed to load for whatever reason or has an invalid url. - # This commit instead propagates these errors upwards to consumers where they may become - # actionable. This is part of an investigation into #36679. - # Signed-off-by: Astraea Quinn Skoutelli -+https://github.com/servo/servo/pull/36470 (@Taym95, #36470) Start adding support for transforms in readable and writable streams (#36470) - api; streams - # Start adding support for transforms in readable and writable streams. Part of - # https://github.com/servo/servo/issues/34676 --https://github.com/servo/servo/pull/35999 (@xiaochengh, #35999) Rewrite node insertion algorithm to match the spec (#35999) - # Per [spec](https://dom.spec.whatwg.org/#concept-node-insert), adoption of new node should be done while inserting - # the node. This patch moves the call site of `adopt` to inside `insert` to match it. - # It also rewrites some existing code to better match the spec without any behavioral changes. --https://github.com/servo/servo/pull/36725 (@Loirooriol, #36725) layout: Refactor `establishes_containing_block_for_all_descendants()` (#36725) - # Instead of grouping all the `will-change` conditions together, move each one of them next to the condition for - # the relevant property. - # This avoids the need to call `is_transformable()` multiple times, and will also be needed for #35391. - # Testing: unneeded (no change in behavior) ->>> 2025-04-30T06:06:29Z diff --git a/tools/generate-outline.sh b/tools/generate-outline.sh index 9e91112b1..ec203eb93 100755 --- a/tools/generate-outline.sh +++ b/tools/generate-outline.sh @@ -18,7 +18,7 @@ for tag in $tags; do # The second line of the input is of the form ` one or more tags` or ` tags; notes`. # Tags must not contain spaces or PCRE regex metacharacters. < "$post_path" rg -v '^ # ' \ - | rg --pcre2 -B1 --no-context-separator '(?<=^ )(([^;]+ )?'"$tag"'( [^;]+)?)(;|$)' \ + | rg --pcre2 -B1 --no-context-separator '(?<=^ )(([^;]+ )?'"$tag"'( [^;]+)?) *(;|$)' \ | while read -r list_commits_by_nightly_line; do read -r tags_and_notes_line printf ' - %s\n %s\n' "${list_commits_by_nightly_line#+}" "${tags_and_notes_line# }" From d547a744391f660d7ae74f1406973947223ebc44 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 5 May 2025 15:14:35 -0400 Subject: [PATCH 27/81] More writeups. Signed-off-by: Josh Matthews --- _posts/2025-04-24-this-month-in-servo.md | 152 ++++++----------------- 1 file changed, 36 insertions(+), 116 deletions(-) diff --git a/_posts/2025-04-24-this-month-in-servo.md b/_posts/2025-04-24-this-month-in-servo.md index e953f3e21..abf52d0b2 100644 --- a/_posts/2025-04-24-this-month-in-servo.md +++ b/_posts/2025-04-24-this-month-in-servo.md @@ -11,21 +11,44 @@ We merged the first steps to supporting **animated images** in web content (@ray We've **enabled Shadow DOM by default** after significantly improving support, allowing Servo to render sites like wpt.fyi correctly (TODO screenshot) (@simonwuelker, @longvatron111, @elomscansio, #35923, #35899, #35930, #36104, #34964, #36024, #36106, #36173, #36010, #35769). +Having disabled by default Servo's original, experimental layout implementation back in November 2024, we have now taken the step of **deleting all of the disabled code** (@Loirooriol, #35943). The new layout engine is improving significantly month over month. We now better support **`transform-style: preserve-3d`** (@HastD, #35808), and the `**will-change**` property (@yezhizhen, #35787). +Our flexbox implementation now supports **min/max keyword sizes** for both cross and main axes (@Loirooriol, #35860, #35961), as well as **keyword sizes** for non-replaced content (@Loirooriol, #35826) and **min and max sizing properties** (@Loirooriol, #36015). This means Servo's flexbox layout now has full support for sizing keywords! +We laid the groundwork for supporting the **::marker pseudo element** (#36202), and implemented the **fit-content()** sizing function (@Loirooriol, #36056), as well as the **image-set()** notation (@chocolate-pie, #36210). +Additionally, the **`scale`, `rotate`, and `translate`** transform properties now work (@chocolate-pie, @Loirooriol, #35926). Finally, we **improved the performance** of deeply nested pages that require laying out boxes multiple times (@Loirooriol, @mrobinson, #36082). + We also fixed many layout bugs: * incorrect **fallback font** caching (@mrobinson, #35705) - +* improved **overflow handling** in some special cases (@yezhizhen, #35670) +* **addressed a crash** caused by flex boxes and mixing fixed position and absolutely positioned descendants (@mrobinson, #36123) +* **table-layout: fixed** is no longer ignored when `inline-size` is `auto` (@Loirooriol, #35882) +* margins of block-level box stretches are always zero, regardless of collapsing (@Loirooriol, #35904) +* fixed the intrinsic block size of replaced elements with auto width (@Loirooriol, #35275) +* added support for **`z-index` on grid items** (@Loirooriol, #35947) +* indefinite stretch now contributes to intrinsic sizes (@Loirooriol, #36030) +* static positions now include ancestor padding (@Loirooriol, #36051) +* table rows with a span of >1 now are sized appropriately (@PotatoCP, #36064) +* input element contents ignore any outer display value (@PotatoCP, #35908) There was lots of progress on additional web API features in the engine: -* we implemented `ReadableByteStreamController` and `ReadableStream.pipeTo` (@Taym95, @gterzian, #35410, #35650) -* the `nonce` attribute is now used in CSP checks (@simonwuelker, #35876) -* we removed some cases where custom elements callbacks fired incorrectly (@xiaochengh, #35960, #35883) -* partial support for `InterSectionObserver` was added (@stevennovaryo, #35551) -* we implemented `Range::getClientRects` and `Range::getBoundingClientRect` (@simonwuelker, #35993) +* we implemented **`ReadableByteStreamController` and `ReadableStream.pipeTo`** (@Taym95, @gterzian, #35410, #35650) +* the **`nonce` attribute** is now used in CSP checks (@simonwuelker, #35876) +* we removed some cases where **custom elements callbacks fired incorrectly** (@xiaochengh, #35960, #35883) +* added **partial support for `InterSectionObserver`** (@stevennovaryo, #35551) +* we **implemented `Range.getClientRects` and `Range.getBoundingClientRect`** (@simonwuelker, #35993) * `touchmove` events are more reliable (@kongbai1996, #36218 #36200) and support the `cancelable` property (@kongbai1996, #35713) -* we added support for `HTMLOptgroupElement.label` (@simonwuelker, #35970) -* the `scale`, `rotate`, and `translate` CSS transform properties now work (@chocolate-pie, @Loirooriol, #35926) -* we implemented the `fit-content()` CSS sizing function (@Loirooriol, #36056) -* CSS `image-set()` is now supported (@chocolate-pie, #36210) +* we added support for **`HTMLOptgroupElement.label`** (@simonwuelker, #35970) +* **made `DOMPoint` and `DOMPointReadOnly` serializable** with `postMessage` (@jdm, @mrobinson, #35989) +* Notifications now **fetch associated image resources** (@pewsheen, #35878) +* `ResizeObserver` callbacks are only invoked **when elements change size** (@simonwuelker, #36226) +* **Request objects with FormData bodies** now use the correct `Content-Type` (@andreubotella, #36194) +* Text response bodies containing a BOM now consume it (@andreubotella, #36192) +* We have begun implementing the **URLPattern** API (@simonwuelker, #36144) +* Backspace **no longer removes entire lines** in `