[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-openjfx-dev
Subject: Re: RFR: 8088420: JavaFX WebView memory leak via EventListener [v9]
From: Ambarish Rapte <arapte () openjdk ! java ! net>
Date: 2022-05-28 15:30:41
Message-ID: LtKtMs9vC0j9CBlE1I0Qsvqr6sGr7yV3yw6OawBb_Sg=.c3b5cd52-c016-452c-a26e-9415c93286bf () github ! com
[Download RAW message or body]
On Fri, 27 May 2022 16:47:04 GMT, Jay Bhaskar <jbhaskar@openjdk.org> wrote:
> > This PR is new implementation of JavaEvent listener memory management.
> > Issue [JDK-8088420](https://bugs.openjdk.java.net/browse/JDK-8088420?filter=-1)
> >
> > 1. Calling remove event listener does not free jni global references.
> > 2. When WebView goes out of scope (disposed from app) , its Event Listeners are \
> > not being garbage collected.
> > Solution:
> > 1. Detached the jni global reference from JavaEventListener.
> > 2. Create scoped ref counted wrapper class JavaObjectWrapperHandler for jni \
> > global reference. 3. Create unique JavaObjectWrapperHandler object for each \
> > JavaEventListener. 4. EventListenerManager is a singleton class , which stores \
> > the JavaObjectWrapperHandler mapped with JavaEventListener. 5. \
> > EventListenerManager also stores the JavaEventListener mapped with DOMWindow. 6. \
> > When Event listener explicitly removed , JavaEventListener is being forwarded to \
> > EventListenerManager to clear the listener. 7. When WebView goes out of scope, \
> > EventListenerManager will de-registered all the event listeners based on the ref \
> > counts attached with WebView DOMWindow.
>
> Jay Bhaskar has updated the pull request incrementally with one additional commit \
> since the last revision:
> Adingef else block to unregisterListener
LGTM
-------------
Marked as reviewed by arapte (Reviewer).
PR: https://git.openjdk.java.net/jfx/pull/799
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic