Thanks for taking that on!!

On Thu, May 18, 2023 at 9:29 PM Mason Freed <[email protected]> wrote:

> Contact [email protected]
>
> ExplainerNone
>
> Specificationhttps://w3c.github.io/uievents/#legacy-event-types
>
> Summary
>
> Synchronous Mutation Events, including `DOMSubtreeModified`,
> `DOMNodeInserted`, `DOMNodeRemoved`, `DOMNodeRemovedFromDocument`,
> `DOMNodeInsertedIntoDocument`, and `DOMCharacterDataModified`, are quite
> bad for page performance, and also significantly increase the complexity of
> adding new features to the Web. These APIs were deprecated from the spec (
> https://w3c.github.io/uievents/#legacy-event-types) in 2011, and were
> replaced (in 2012) by the much better-behaved Mutation Observer API. Usage
> of the obsolete Mutation Events must be migrated to Mutation Observer.
>
>
> Blink componentBlink>DOM
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EDOM>
>
> Motivation
>
> Mutation Events have been deprecated for over a decade, with the
> replacement (Mutation Observer) available also for over a decade. The fact
> that these events are still supported in browsers makes the addition of new
> features much more difficult, prohibitively so in some cases. For example,
> these feature requests and projects are all negatively impacted by the
> existence of Mutation Events: - iFrame reparenting:
> https://github.com/whatwg/html/issues/5484 and
> https://github.com/whatwg/dom/issues/891 - Child reordering:
> https://github.com/whatwg/dom/issues/586 - DOM Parts and batch DOM
> updates:
> https://github.com/WICG/webcomponents/blob/gh-pages/proposals/DOM-Parts.md
> Given that the feature has been spec-deprecated for a decade, it makes
> sense to officially deprecate these APIs in Chrome, and work toward
> removing them.
>

Was the impact due to the supporting these events in the code or due to the
fact that we needed to actually run them?
If we'd have to run a long deprecation trial, would that still negatively
impact the platform's evolution?


>
>
> Initial public proposalNone
>
> Search tagsMutationEvent
> <https://chromestatus.com/features#tags:MutationEvent>, DOMSubtreeModified
> <https://chromestatus.com/features#tags:DOMSubtreeModified>,
> DOMNodeInserted <https://chromestatus.com/features#tags:DOMNodeInserted>,
> DOMNodeRemoved <https://chromestatus.com/features#tags:DOMNodeRemoved>,
> DOMNodeRemovedFromDocument
> <https://chromestatus.com/features#tags:DOMNodeRemovedFromDocument>,
> DOMNodeInsertedIntoDocument
> <https://chromestatus.com/features#tags:DOMNodeInsertedIntoDocument>,
> DOMCharacterDataModified
> <https://chromestatus.com/features#tags:DOMCharacterDataModified>
>
> TAG reviewNone
>
> TAG review statusNot applicable
>
> Risks
>
>
> Interoperability and Compatibility
>
> There are technically 9 Mutation Events, but Chromium only implements 6 of
> them. Their use counters vary significantly: - DOMNodeInsertedIntoDocument:
> 0.006% - DOMNodeRemovedFromDocument: 0.012% - DOMCharacterDataModified:
> 0.016% - DOMNodeRemoved: 0.77% - DOMSubtreeModified: 0.81% -
> DOMNodeInserted: 1.58% The first three could likely be fairly easily
> removed after some time. The last three have quite significant usage, and
> more study and outreach will be required to bring this usage down below
> safe removal limits, which will take significant time.
>

Turning those use counters into UKM can be interesting.


> Tentatively, we're aiming for M126 as the last version of Chrome that
> supports the events above, ending July 30, 2024.
>

Are you planning to remove all of them at the same time, despite the order
of magnitude difference in usage?


>
>
> *Gecko*: No signal (
> https://github.com/whatwg/dom/issues/305#issuecomment-241686139) Old
> comments indicate support, but no official position yet.
>
> *WebKit*: No signal
>

Can we file for positions? A joint effort could help here.


>
> *Web developers*: No signals
>
> *Other signals*:
>
> WebView application risks
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
>
> None
>
>
> Debuggability
>
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?No
>
> Flag name
>
> Requires code in //chrome?False
>
> Tracking bughttps://crbug.com/1446498
>
> Estimated milestones
> Shipping on desktop 127
> Shipping on Android 127
> Shipping on WebView 127
>
> Link to entry on the Chrome Platform Status
> https://chromestatus.com/feature/5083947249172480
>
> Links to previous Intent discussions
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDgP1mWEoDABHmKfCXSSFO9ZyQDQ5p7h_TtN51ZnyvxSSg%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDgP1mWEoDABHmKfCXSSFO9ZyQDQ5p7h_TtN51ZnyvxSSg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWpx-ctov_Wpr0wxEQ2YZvH%3DgHzLxCc6HuZ9rPxnvoeog%40mail.gmail.com.

Reply via email to