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.
<rdar://problem/8313471>
rniwa & ap - I don't think HTMLAppletElement is supported by Safari and only reference is this in GTK: https://github.com/WebKit/WebKit/blob/8afe31a018b11741abdf9b4d5bb973d7c1d9ff05/Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp Is this bug still valid? Thanks!
We still have a lot more code for the applet element, not just the Gtk file that you point out. Some of it is required per HTML5, as the spec requires processing it as a special case to prevent breaking legacy documents. But some looks like cruft that just hasn't been cleaned up. Anyway, it certainly won't be loading any resources any more.