| Summary: | [Browser] Opening Applet crashes Eclipse | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Kevin Barnes <cocoakevin> | ||||
| Component: | SWT | Assignee: | Grant Gayed <grant_gayed> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | carolynmacleod4, ggaren, mrowe, Silenio_Quarti, snorthov | ||||
| Version: | 3.1 | Keywords: | helpwanted | ||||
| Target Milestone: | 3.3 RC2 | ||||||
| Hardware: | Macintosh | ||||||
| OS: | Mac OS X - Carbon (unsup.) | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Kevin Barnes
Moving to SWT to comment - this seems to be a Java applet in a page loaded by the SWT browser. I believe this is a well known problem that Applets don't run in a Browser due to multiple VM's in the same address space issues but Eclipse shouldn't crash. Grant? We don't currently run away from applets on Safari like we do on IE. I can reproduce the crash on SSQ's Tiger. Will investigate how hard it is to make safari run away from applets like IE. Todd, does WebKit give any kind of notification/indication that a page being shown, or about to be shown, contains an applet? Or alternatively, that an applet is about to be loaded? I tried looking into aborting these cases, but I could not find a way to detect any of them. Mark and Geoffrey, do either of you know the answer to comment 5? The code to load an applet is in WebFrameBridge.mm:546 (http://trac.webkit.org/projects/webkit/browser/trunk/WebKit/WebCoreSupport/WebFrameBridge.mm#L546). - (NSView *)viewForJavaAppletWithFrame:(NSRect)theFrame attributeNames:(NSArray *)attributeNames attributeValues:(NSArray *)attributeValues baseURL:(NSURL *)baseURL DOMElement:(DOMElement *)element I don't believe there's any specific notification or delegate message sent to indicate that the plug-in will load. The WebPluginDatabase determines which plug-ins will load for a given MIME type, but I don't see a public API that allows you to override its behavior. However, I think you can just use the -[WebPreferences setJavaEnabled:] API to disable all applets from the start. I believe I see a bug where this setting applies to <applet> elements only, and not <object> elements. You could work around that by disabling all plug-ins (-[WebPreferences setPlugInsEnabled:]). Created attachment 67855 [details]
patch
Thanks for your help Geoffrey! I've confirmed that this fixes <applet> tags. Strangely, applets that are embedded with <object> tags don't seem to launch properly with Safari (nor with the Browser, no surprise here), but they do not crash the Browser either. So at least on the machines around here it does not seem like <object> tags are causing a problem.
I've attached a patch with the change for <applet>s, hopefully it can go in for 3.3RC2.
+1 +1 fixed > 0523 |