Safari 10.0.2 asks for use permission to use a native app when JavaScript Extension uses custom URL scheme

Originator:nbeadman
Number:rdar://29832579 Date Originated:30-Dec-2016 11:39 AM
Status:Open Resolved:
Product:Safari Product Version:10.0.2
Classification:UI/Usability Reproducible:Always
 
Summary:

I have a JavaScript based Safari Extension which parses URLs on contextual menu events and if they in a recognized format adds contextual menu items. If the user selects one of those contextual menu items the JavaScript changes the scheme from http to a scheme registered by my native OS X application.

Expected Results:

The native application is invoked and the URL is processed.

Actual Results:

The user is prompted with a JavaScript alert asking: Do you want to allow this page to open “Xinet Support”?
This happens every time, there is no way to avoid the question.

Regression:

Previous versions of Safari and OS X allowed this. It is possible to reimplement the Safari (JavaScript) Extension as a Safari App Extension to provide this functionality. However, Safari App Extensions are only available on OS X 10.11 El Capitan and above.

Notes:

I have no issue with changing the way our Extension works but this does not solve the problem for our OS X 10.10 Yosemite customers.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!