On 11/01/2018 05:29, Cameron McCormack wrote:
For use in the meantime, I just landed bug 1428531 on inbound, which adds a new
chrome-only static method "isInstance" to Web IDL defined interfaces, so you
can write for example:
Document.isInstance(otherWindow.document)
So that we don't have even more call sites we need to fix up once we start
looking at bug 1360715, please try to use isInstance rather than instanceof if
you need to do cross-context DOM object tests from chrome JS.
Assuming we're happy to update all sites (not only sites where we're
sure the DOM instance is sometimes cross-context), this type of thing is
relatively easy to automatically rewrite with an xpcshell script like
the ones Florian has been using to update other conventions (e.g. use of
Services.prefs instead of manually Cc[...].getService(Ci.nsIPrefBranch)
etc. ). If we rewrite the extant callsites, we can add eslint checks
that warn and can do similar rewrites for people, which will be better
at avoiding new callsites than just convention (which people are liable
to forget in a few days/weeks/months), and would make the transition
relatively "easy".
~ Gijs
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform