I did think about doing something like that, but it's actually not so trivial, because `ownerGlobal` is a property on `EventTarget`, even though we're only changing the behavior of `Node` here.

Also, there are some use cases for `ownerGlobal`, too, I believe. For example, creating derived objects like events to dispatch generally should use it:

    node.dispatchEvent(new node.ownerGlobal.CustomEvent(...));

The other issue is that I don't want EventTarget.ownerGlobal to be subtly different for bindings than in C++ internally, and C++ callers generally want the new ownerGlobal behavior more often than the old one.

I do understand that for the front-end, having a convenient way of getting to the global that the node is in (ownerDocGlobal, currently) is super handy and what 95+% of the code would want, tho...

If the non-Node EventTarget.ownerGlobal usage for bindings is minimal, wdyt about renaming it from the bindings to something different / more obviously not-what-you-usually want (or removing it even, perhaps)?

Thanks,

 --Emilio

On 4/17/26 2:09 PM, Dave Townsend wrote:
Hi Emilio. I'm concerned that this change in behaviour will cause subtle bugs in existing or future code we write. In my mind and I'm sure in the minds of many developers, `ownerGlobal` means the window the element is in and that will be a hard perception to shift. Because it will now mean something different only in rare cases we are likely to use the wrong thing without noticing. Additionally the naming of `ownerGlobal` and `ownerDocGlobal` makes it very unclear that they mean different things.

Since `ownerGlobal` is not part of the web spec can we keep the same behaviour for `ownerGlobal` and introduce a new property for the node's original window?

On Thu, 16 Apr 2026 at 23:22, 'Emilio Cobos Álvarez' via firefox- [email protected] <mailto:[email protected]> <firefox- [email protected] <mailto:[email protected]>> wrote:

    Hey,

    Once I get bug 1470017 <https://bugzil.la/1470017> to stick, the
    `EventTarget.ownerGlobal` property on nodes will change behavior
    slightly.

    This will allow fixing long-standing web components issues
    (prototypes getting lost on adopt) and some other subtler webcompat
    issues, like bug 2022763 <https://bugzil.la/2022763>.

    In most cases it should be fine to keep using it in the front-end,
    but there are two subtle behavior changes that might need code to be
    adjusted:

      * If you're dealing with nodes that might have been adopted,
        `ownerGlobal` might point to the original window of the node,
        not the one that's currently in.
      * .ownerGlobal might also now return non-null a bit more often
        (after the docshell is gone).

    If you need the old behavior, you can use the new
    `Node.ownerDocGlobal` property. I don't expect much fallout, and I
    want to proactively change some more code to use `ownerDocGlobal`
    (e.g. child actors almost always want to look at the window the node
    is in), but I thought it might be worth a PSA, reach out if you see
    issues that might be caused by it on the chrome.

    Let me know if there are any questions.

    Thanks,
      -- Emilio

-- You received this message because you are subscribed to the Google
    Groups "[email protected] <mailto:[email protected]>" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    To view this discussion visit https://groups.google.com/a/
    mozilla.org/d/msgid/firefox-dev/CAFhp-qcR_%3Dc-
    QMRqFPYVyK1v3p67ViNaeLRr1emN%3DaXJRs7jBg%40mail.gmail.com <https://
    groups.google.com/a/mozilla.org/d/msgid/firefox-dev/CAFhp-qcR_%3Dc-
    QMRqFPYVyK1v3p67ViNaeLRr1emN%3DaXJRs7jBg%40mail.gmail.com?
    utm_medium=email&utm_source=footer>.


--
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/bbd620e6-27c3-439a-938e-bde55f4f1fd8%40mozilla.com.

Reply via email to