Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy
The newest official Java plugin does some of its NPP_Destroy cleanup work on a background thread.
This includes calling NP_Deallocate on an NPObject on that background thread.
Doing that is unsupported, has undefined behavior, and as of http://trac.webkit.org/changeset/139514 will cause a deadlock.
Since we can't fix the Java plugin and since this is during plugin teardown anyways, we can marshall the destruction back to the main thread.
In radar as <rdar://problem/14286390>
Created attachment 206400 [details]
Comment on attachment 206400 [details]
Perhaps add some pointers to why we have such a hack, and only in one place?