gecko-dev/dom/clients
Kris Maglione dd810760b5 Bug 1561015: Part 2 - Return BrowsingContext from openWindow2. r=bzbarsky
There are some unfortunate aspects of openWindow() and openWindow2() that make
this difficult. Namely, they sometimes return top-level chrome windows, and
sometimes a single content window from the top-level chrome window that they
open, depending on how they're called.

There really isn't any reason to return a BrowsingContext rather than a chrome
window in the former case, but there also really isn't a way to make the API
polymorphic in a way that would allow handling the two cases differently. So
at some point, the two cases should ideally be split into separate APIs rather
than separate special cases of a single API.

In the mean time, I've left openWindow() returning local mozIDOMWindowProxy
objects, since it isn't used by the DOM window.open() or openDialog() APIs,
and only updated openWindow2(). As a follow-up, we should remove both
openWindow() and openWindow2(), and replace them with openChromeWindow() and
openContentWindow() (or similar) methods which make it immediately clear what
type of window is being returned.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:48:40 +00:00
..
api Bug 1559919 - Finish the WorkerHolder cleanup - part 7 - IPCWorkerRef in ClientManagerChild, r=asuth 2019-07-12 11:17:46 +00:00
manager Bug 1561015: Part 2 - Return BrowsingContext from openWindow2. r=bzbarsky 2019-08-02 20:48:40 +00:00
moz.build Bug 1293277 P4 Add Client and Clients DOM classes, but don't hook them into bindings yet. r=baku 2017-12-12 15:44:47 -05:00