Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Dec 17, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

vinhill and others added 10 commits December 17, 2025 09:49
Differential Revision: https://phabricator.services.mozilla.com/D265290

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1858562
gecko-commit: 8ea1af4c441e1644181a49ce10f5aa1795014d8d
gecko-reviewers: edgar, smaug, dom-core, webidl, firefox-style-system-reviewers, layout-reviewers, emilio
The bug itself was fixed by the patch for bug 2003973.

Differential Revision: https://phabricator.services.mozilla.com/D276584

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=2005112
gecko-commit: eea9035cf34f40d6e34e8636440bf1104841443a
gecko-reviewers: m_kato
Some side effects of removing elements, such as the :has selectors, are
handled differently with regards to cache invalidation based on whether
the elements were inserted by the parser or by API.

Some of the assumptions around the "parser" mode here are that the
parser only works once on each element.

With streamHTML* and <template contentmethod>, this might no longer be
the case, as a new parser can be created for an already parsed element.
This has result in racy scenarios of invalidation around CSS :has
(potentially around other invalidations as well, but they are difficult
to spot).

The fix is to treat the "remove all children" invoked by patch templates
as a regular RemoveChildren. Note that in all cases but scripts, this
distinction is not web observable, and ParserRemoveChildren had no other
callers.

Bug: 431374376
Change-Id: I45704d6a014b7c5c6103043cc9e6719c89527f0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7246719
Commit-Queue: Noam Rosenthal <nrosenthal@google.com>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1559886}
Feature: `online`
Reference: https://github.com/web-platform-dx/web-features/blob/main/features/online.yml

Notable exclusions

1. WebIDL bindings test
    - `webidl/ecmascript-binding/global-object-implicit-this-value.any.js`: Tests implicit `this` value for global object members, using `ononline` as an example property.

2. Worker global scope tests
    - `workers/constructors/Worker/DedicatedWorkerGlobalScope-members.worker.js`: Tests existence of global scope members generally.
Co-authored-by: wpt-pr-bot <wpt-pr-bot@users.noreply.github.com>
@pull pull bot locked and limited conversation to collaborators Dec 17, 2025
@pull pull bot added the ⤵️ pull label Dec 17, 2025
@pull pull bot merged commit 4a8b10d into All-Blockchains:master Dec 17, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants