Bug 44023

Summary: HTML applet elements should fire a 'beforeload' event
Product: WebKit Reporter: Marc Hoyois <marc.hoyois>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: UNCONFIRMED ---    
Severity: Enhancement CC: aestes, aroben, emacemac7, hyatt, joachim
Priority: P4 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
URL: http://java.sun.com/applets/jdk/1.4/demo/applets/ArcTest/example1.html
Attachments:
Description Flags
Safari extension that preventDefault()s any beforeload event none

Description Marc Hoyois 2010-08-14 23:22:48 PDT
Created attachment 64439 [details]
Safari extension that preventDefault()s any beforeload event

Overview:
HTML <applet> elements do not fire a 'beforeload' event before the Java resource is fetched and executed.

Steps to reproduce:
1. Install the attached extension. It only has the following injected script:

document.addEventListener('beforeload', function(event) {event.preventDefault();}, true);

2. Navigate to any page with an <applet> tag, such as

http://java.sun.com/applets/jdk/1.4/demo/applets/ArcTest/example1.html

Actual result:
The Java applet loads and runs normally.

Desirable result:
The Java plugin should not run at all.

Additional information:
This would allow a Safari extension to conditionally prevent
the Java plugin from running, as is already possible with all other plugins.
Comment 1 Adam Roben (:aroben) 2010-08-16 07:29:41 PDT
<rdar://problem/8313471>