[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-openjfx-dev
Subject: Integrated: 8088420: JavaFX WebView memory leak via EventListener
From: Jay Bhaskar <jbhaskar () openjdk ! java ! net>
Date: 2022-05-30 12:37:07
Message-ID: j3h1bM_W0LPcH7qp7InOeZ4dmkmDgw7tfeJ99oOoXNg=.0752b727-4c53-4909-a791-7788c5cec074 () github ! com
[Download RAW message or body]
On Thu, 19 May 2022 13:13:01 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.
This pull request has now been integrated.
Changeset: f5348503
Author: Jay Bhaskar <jbhaskar@openjdk.org>
Committer: Kevin Rushforth <kcr@openjdk.org>
URL: https://git.openjdk.java.net/jfx/commit/f5348503143e8d08f09b4cd48b6a3864bd09c336
Stats: 1509 lines in 11 files changed: 1503 ins; 3 del; 3 mod
8088420: JavaFX WebView memory leak via EventListener
Reviewed-by: kcr, arapte
-------------
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