-
Bug
-
Resolution: Duplicate
-
P3
-
7u13
-
os_x
FULL PRODUCT VERSION :
java version " 1.7.0_13 "
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Mac OS X 10.8.2
Darwin 12.2.0
A DESCRIPTION OF THE PROBLEM :
If you create an app and add a custom URL scheme the OpenURIHandler will fail to get a callback when the app is opened by the launcher when the custom URL scheme is accessed.
If the app was already running then the OpenURIHandler callback works.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Create a bundled app that registers a OpenURIHandler using the Application.setOpenURIHandler.
Add a CFBundleURLTypes key and define a CFBundleURLSchemes with a custom URL like " testscheme " in the apps Info.plist
Open a browser and try to navitate to a URL like: " testscheme://test "
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No exception in console and a callback to the OpenURLHandler
ACTUAL -
Exception in console and no callback.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in console:
2/6/13 8:46:21.473 AM JavaAppLauncher[842]: (
0 CoreFoundation 0x00007fff898200a6 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff840043f0 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8981fe7c +[NSException raise:format:] + 204
3 Foundation 0x00007fff8c29f763 -[NSAppleEventDescriptor paramDescriptorForKeyword:] + 71
4 liblwawt.dylib 0x0000000168fb2b77 -[ApplicationDelegate _handleOpenURLEvent:withReplyEvent:] + 137
5 libosxapp.dylib 0x00000001690588b1 __-[QueuingApplicationDelegate _handleOpenURLEvent:withReplyEvent:]_block_invoke_1 + 135
6 libosxapp.dylib 0x00000001690597bf -[QueuingApplicationDelegate processQueuedEventsWithTargetDelegate:] + 134
7 libosxapp.dylib 0x0000000169057857 OSXAPP_SetApplicationDelegate + 153
8 liblwawt.dylib 0x0000000168fb1899 __+[AWTStarter start:swtMode:swtModeForWebStart:]_block_invoke_1 + 111
9 Foundation 0x00007fff8c2cf677 __NSThreadPerformPerform + 225
10 CoreFoundation 0x00007fff8979f101 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
11 CoreFoundation 0x00007fff8979ea25 __CFRunLoopDoSources0 + 245
12 CoreFoundation 0x00007fff897c1dc5 __CFRunLoopRun + 789
13 CoreFoundation 0x00007fff897c16b2 CFRunLoopRunSpecific + 290
14 HIToolbox 0x00007fff872880a4 RunCurrentEventLoopInMode + 209
15 HIToolbox 0x00007fff87287d84 ReceiveNextEventCommon + 166
16 HIToolbox 0x00007fff87287cd3 BlockUntilNextEventMatchingListInMode + 62
17 AppKit 0x00007fff8e331613 _DPSNextEvent + 685
18 AppKit 0x00007fff8e330ed2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
19 libosxapp.dylib 0x0000000169057b56 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 124
20 AppKit 0x00007fff8e328283 -[NSApplication run] + 517
21 libosxapp.dylib 0x00000001690579b9 +[NSApplicationAWT runAWTLoopWithApp:] + 156
22 liblwawt.dylib 0x0000000168fb181a -[AWTStarter starter:] + 1591
23 Foundation 0x00007fff8c2cf677 __NSThreadPerformPerform + 225
24 CoreFoundation 0x00007fff8979f101 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
25 CoreFoundation 0x00007fff8979ea25 __CFRunLoopDoSources0 + 245
26 CoreFoundation 0x00007fff897c1dc5 __CFRunLoopRun + 789
27 CoreFoundation 0x00007fff897c16b2 CFRunLoopRunSpecific + 290
28 libjli.dylib 0x00000001001cb88d CreateExecutionEnvironment + 871
29 libjli.dylib 0x00000001001c603c JLI_Launch + 1952
30 JavaAppLauncher 0x00000001000629cb launch + 5035
31 JavaAppLauncher 0x00000001000614f6 main + 102
32 JavaAppLauncher 0x0000000100061484 start + 52
33 ??? 0x0000000000000002 0x0 + 2
)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
------- Example test class for app:
import com.apple.eawt.AppEvent;
import com.apple.eawt.Application;
import com.apple.eawt.OpenURIHandler;
import java.net.URI;
public class TestMacUrlHandler {
public static void main(String[] args) {
Application.getApplication().setOpenURIHandler(new OpenURIHandler() {
public void openURI(AppEvent.OpenURIEvent openURIEvent) {
URI uri = openURIEvent.getURI();
}
});
}
}
----- Make sure to define a custom URL scheme in app's Info.plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>testscheme</string>
</array>
<key>CFBundleURLName</key>
<string>TestScheme</string>
</dict>
</array>
---------- END SOURCE ----------
java version " 1.7.0_13 "
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Mac OS X 10.8.2
Darwin 12.2.0
A DESCRIPTION OF THE PROBLEM :
If you create an app and add a custom URL scheme the OpenURIHandler will fail to get a callback when the app is opened by the launcher when the custom URL scheme is accessed.
If the app was already running then the OpenURIHandler callback works.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Create a bundled app that registers a OpenURIHandler using the Application.setOpenURIHandler.
Add a CFBundleURLTypes key and define a CFBundleURLSchemes with a custom URL like " testscheme " in the apps Info.plist
Open a browser and try to navitate to a URL like: " testscheme://test "
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No exception in console and a callback to the OpenURLHandler
ACTUAL -
Exception in console and no callback.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in console:
2/6/13 8:46:21.473 AM JavaAppLauncher[842]: (
0 CoreFoundation 0x00007fff898200a6 __exceptionPreprocess + 198
1 libobjc.A.dylib 0x00007fff840043f0 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8981fe7c +[NSException raise:format:] + 204
3 Foundation 0x00007fff8c29f763 -[NSAppleEventDescriptor paramDescriptorForKeyword:] + 71
4 liblwawt.dylib 0x0000000168fb2b77 -[ApplicationDelegate _handleOpenURLEvent:withReplyEvent:] + 137
5 libosxapp.dylib 0x00000001690588b1 __-[QueuingApplicationDelegate _handleOpenURLEvent:withReplyEvent:]_block_invoke_1 + 135
6 libosxapp.dylib 0x00000001690597bf -[QueuingApplicationDelegate processQueuedEventsWithTargetDelegate:] + 134
7 libosxapp.dylib 0x0000000169057857 OSXAPP_SetApplicationDelegate + 153
8 liblwawt.dylib 0x0000000168fb1899 __+[AWTStarter start:swtMode:swtModeForWebStart:]_block_invoke_1 + 111
9 Foundation 0x00007fff8c2cf677 __NSThreadPerformPerform + 225
10 CoreFoundation 0x00007fff8979f101 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
11 CoreFoundation 0x00007fff8979ea25 __CFRunLoopDoSources0 + 245
12 CoreFoundation 0x00007fff897c1dc5 __CFRunLoopRun + 789
13 CoreFoundation 0x00007fff897c16b2 CFRunLoopRunSpecific + 290
14 HIToolbox 0x00007fff872880a4 RunCurrentEventLoopInMode + 209
15 HIToolbox 0x00007fff87287d84 ReceiveNextEventCommon + 166
16 HIToolbox 0x00007fff87287cd3 BlockUntilNextEventMatchingListInMode + 62
17 AppKit 0x00007fff8e331613 _DPSNextEvent + 685
18 AppKit 0x00007fff8e330ed2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
19 libosxapp.dylib 0x0000000169057b56 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 124
20 AppKit 0x00007fff8e328283 -[NSApplication run] + 517
21 libosxapp.dylib 0x00000001690579b9 +[NSApplicationAWT runAWTLoopWithApp:] + 156
22 liblwawt.dylib 0x0000000168fb181a -[AWTStarter starter:] + 1591
23 Foundation 0x00007fff8c2cf677 __NSThreadPerformPerform + 225
24 CoreFoundation 0x00007fff8979f101 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
25 CoreFoundation 0x00007fff8979ea25 __CFRunLoopDoSources0 + 245
26 CoreFoundation 0x00007fff897c1dc5 __CFRunLoopRun + 789
27 CoreFoundation 0x00007fff897c16b2 CFRunLoopRunSpecific + 290
28 libjli.dylib 0x00000001001cb88d CreateExecutionEnvironment + 871
29 libjli.dylib 0x00000001001c603c JLI_Launch + 1952
30 JavaAppLauncher 0x00000001000629cb launch + 5035
31 JavaAppLauncher 0x00000001000614f6 main + 102
32 JavaAppLauncher 0x0000000100061484 start + 52
33 ??? 0x0000000000000002 0x0 + 2
)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
------- Example test class for app:
import com.apple.eawt.AppEvent;
import com.apple.eawt.Application;
import com.apple.eawt.OpenURIHandler;
import java.net.URI;
public class TestMacUrlHandler {
public static void main(String[] args) {
Application.getApplication().setOpenURIHandler(new OpenURIHandler() {
public void openURI(AppEvent.OpenURIEvent openURIEvent) {
URI uri = openURIEvent.getURI();
}
});
}
}
----- Make sure to define a custom URL scheme in app's Info.plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>testscheme</string>
</array>
<key>CFBundleURLName</key>
<string>TestScheme</string>
</dict>
</array>
---------- END SOURCE ----------
- duplicates
-
JDK-8015303 [macosx] Application launched via custom URL Scheme does not receive URL
-
- Resolved
-
- relates to
-
JDK-8015303 [macosx] Application launched via custom URL Scheme does not receive URL
-
- Resolved
-