Commit Graph
5 Commits
Author SHA1 Message Date
Aaron Klotz c7643fc867 Bug 1651705: Part 3 - Move nested classes out of nsWindow, switch over to NativeWeakPtr in those class definitions; r=geckoview-reviewers,agi
* Having `AndroidView` and `GeckoViewSupport` as nested classes inside of
  `nsWindow` make it impossible to forward declare them. We move those classes
  into their own headers. We also move `WindowEvent` into its own header.

* We remove the old `NativePtr` and `WindowPtr` implementations from `nsWindow`
  and convert the class definitions in this patch to use the new `NativeWeakPtr`.

* `GeckoViewSupport` had a unique quirk where it was owned by `nsWindow`
  instead of its Java counterpart. To make `GeckoViewSupport`'s ownership work
  like the other classes that use `NativeWeakPtr` (and to substantially simplify
  the implementation of `NativeWeakPtr` itself), I have reversed that: now
  `nsWindow` holds a `NativeWeakPtr` to `GeckoViewSupport`, while
  `GeckoViewSupport` is owned by its Java counterpart and holds a strong ref to
  the `nsWindow`.

* `GeckoViewSupport` no longer inherits from `SupportsWeakPtr`, since using it
  with `NativeWeakPtr` provides stronger and safer guarantees.

Differential Revision: https://phabricator.services.mozilla.com/D87362
2020-09-21 21:48:26 +00:00
Butkovits Atila db3fabb58e Backed out 7 changesets (bug 1651705) as requested by Aklotz. CLOSED TREE
Backed out changeset 60730e8394ae (bug 1651705)
Backed out changeset c441ae751191 (bug 1651705)
Backed out changeset c289f06ceba2 (bug 1651705)
Backed out changeset d4491ef94b3e (bug 1651705)
Backed out changeset 1cca90ffab83 (bug 1651705)
Backed out changeset 9b1ce53e6472 (bug 1651705)
Backed out changeset a31251ba4566 (bug 1651705)
2020-09-01 20:39:15 +03:00
Aaron Klotz 06ed0698d8 Bug 1651705: Part 3 - Move nested classes out of nsWindow, switch over to NativeWeakPtr in those class definitions; r=geckoview-reviewers,agi
* Having `AndroidView` and `GeckoViewSupport` as nested classes inside of
  `nsWindow` make it impossible to forward declare them. We move those classes
  into their own headers. We also move `WindowEvent` into its own header.

* We remove the old `NativePtr` and `WindowPtr` implementations from `nsWindow`
  and convert the class definitions in this patch to use the new `NativeWeakPtr`.

* `GeckoViewSupport` had a unique quirk where it was owned by `nsWindow`
  instead of its Java counterpart. To make `GeckoViewSupport`'s ownership work
  like the other classes that use `NativeWeakPtr` (and to substantially simplify
  the implementation of `NativeWeakPtr` itself), I have reversed that: now
  `nsWindow` holds a `NativeWeakPtr` to `GeckoViewSupport`, while
  `GeckoViewSupport` is owned by its Java counterpart and holds a strong ref to
  the `nsWindow`.

* `GeckoViewSupport` no longer inherits from `SupportsWeakPtr`, since using it
  with `NativeWeakPtr` provides stronger and safer guarantees.

Differential Revision: https://phabricator.services.mozilla.com/D87362
2020-09-01 14:34:18 +00:00
Narcis Beleuzu dd6345077d Backed out 7 changesets (bug 1651705) for mochitest failures on test_resizers_resizing_elements.html . CLOSED TREE
Backed out changeset 7fd32a3fb6e7 (bug 1651705)
Backed out changeset de4edbcb15c1 (bug 1651705)
Backed out changeset 531e71369f68 (bug 1651705)
Backed out changeset 84590e96de88 (bug 1651705)
Backed out changeset 7d9d2d44b2ee (bug 1651705)
Backed out changeset 9ffca762753c (bug 1651705)
Backed out changeset 2d79f4348b36 (bug 1651705)
2020-08-28 23:06:39 +03:00
Aaron Klotz 00166e542e Bug 1651705: Part 3 - Move nested classes out of nsWindow, switch over to NativeWeakPtr in those class definitions; r=geckoview-reviewers,agi
* Having `AndroidView` and `GeckoViewSupport` as nested classes inside of
  `nsWindow` make it impossible to forward declare them. We move those classes
  into their own headers. We also move `WindowEvent` into its own header.

* We remove the old `NativePtr` and `WindowPtr` implementations from `nsWindow`
  and convert the class definitions in this patch to use the new `NativeWeakPtr`.

* `GeckoViewSupport` had a unique quirk where it was owned by `nsWindow`
  instead of its Java counterpart. To make `GeckoViewSupport`'s ownership work
  like the other classes that use `NativeWeakPtr` (and to substantially simplify
  the implementation of `NativeWeakPtr` itself), I have reversed that: now
  `nsWindow` holds a `NativeWeakPtr` to `GeckoViewSupport`, while
  `GeckoViewSupport` is owned by its Java counterpart and holds a strong ref to
  the `nsWindow`.

* `GeckoViewSupport` no longer inherits from `SupportsWeakPtr`, since using it
  with `NativeWeakPtr` provides stronger and safer guarantees.

Differential Revision: https://phabricator.services.mozilla.com/D87362
2020-08-27 20:14:18 +00:00