> `JDK has the following API : java.awt.Desktop.browse(URI) "Launches the 
> default browser to display a URI."
> 
> On Windows and macOS, the JDK used to call platform APIs to do this which 
> would recognise some schemes as ones which would launch an associated 
> application. For example on Windows "calculator:" is a scheme that windows 
> may open the calculator, and on macOS "facetime:" may open the facetime 
> application. 
> 
> Desktop.browse now always launches the browser directly, which is a problem 
> for apps that took advantage of the previous behavior, since the browser 
> itself may not re-direct to those applications.
> 
> The current behaviour is intentional to provide a secure-by-default behaviour.
> 
> The proposal here is to introduce an implementation system property ( 
> **awt.desktop.browse_insecure**) which will allow apps to opt back into the 
> old behaviour on Windows and macOS.
> 
> The end-user, or the application, can set this property as a comma separated 
> list of allowed schemes :
> 
> -Dawt.desktop.browse_insecure=calculator,file 
> 
> where on Windows, the calculator and file scheme will be opened in open 
> calc.exe and the File Explorer app respectively.
> 
> or -Dawt.desktop.browse_insecure=*
> 
> which allows all schemes.
> 
> If -Dawt.desktop.browse_insecure is set or the scheme is in the allowed list, 
> then JDK will open the URI using platform APIs which may open an associated 
> app instead of the browser
> If -Dawt.desktop.browse_insecure is NOT set or scheme is NOT in the allowed 
> list, the browser is explicitly launched and URI is handled by the browser - 
> i.e. no change from current behaviour.
> 
> 
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Prasanta Sadhukhan has updated the pull request incrementally with one 
additional commit since the last revision:

  Use shared implementation

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/32247/files
  - new: https://git.openjdk.org/jdk/pull/32247/files/8b9c2adc..9ea7d143

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=32247&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=32247&range=00-01

  Stats: 52 lines in 3 files changed: 27 ins; 22 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/32247.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/32247/head:pull/32247

PR: https://git.openjdk.org/jdk/pull/32247

Reply via email to