[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8234474: [macos 10.15] Crash in file dialog in sandbox mode
From:       Kevin Rushforth <kcr () openjdk ! java ! net>
Date:       2019-12-19 19:00:56
Message-ID: iz890WfnpJaYY0CNtHsnMYV8M1bg7EFxHgifZqS4TnI=.ff3698ad-579f-46bb-b4b7-811a14a14ee1 () github ! com
[Download RAW message or body]

On Thu, 19 Dec 2019 00:08:06 GMT, Kevin Rushforth <kcr@openjdk.org> wrote:

> This PR is a fix for \
> [JDK-8234474](https://bugs.openjdk.java.net/browse/JDK-8234474), a crash in the \
> code that shows a file open or save dialog. 
> In order to provide additional support for Copy (CMD-C), Cut (CMD-X), and Paste \
> (CMD-V), the Glass implementation for displaying a file open or save dialog \
> subclasses NSSavePanel or NSOpenPanel to add this support. When the application is \
> running in sandboxed mode, the dialogs are shown out-of-process by the "powerbox". \
> In this mode, attempting to use our subclass results in a security exception. \
> Previously, we added code to detect whether we were running in a sandbox as a fix \
> for [JDK-8092977](https://bugs.openjdk.java.net/browse/JDK-8092977); we now use \
> NSSavePanel or NSOpenPanel directly when in sandboxed mode. 
> Starting with macOS 10.15 (Catalina) Apple always displays file dialogs \
> out-of-process via powerbox, so our use of a subclass is ineffective. Further, we \
> have reports of some cases where we crash even though our sandbox detection code \
> doesn't indicate that we are running in a sandbox. 
> Since there is no point in trying to use our subclasses on macOS 10.15 or later, I \
> propose to fix this bug by changing the logic so that we use NSSavePanel or \
> NSOpenPanel directly in either of the following conditions: 
> 1) the app is running in sandbox mode
> OR
> 2) The platform is macOS 10.15 or later

This will need two reviewers.

@arapte I'd like you to be one of the reviewers.

-------------

PR: https://git.openjdk.java.net/jfx/pull/70


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic