DescriptionFix the issue that chromium does not throw expected Javascript exception
when an NPAPI plugin calls NPN_SetException() as described on
http://code.google.com/p/chromium/issues/detail?id=68919.
This fixing depends on the patch from WebKit bugzilla for
https://bugs.webkit.org/show_bug.cgi?id=72484.
The root cause is that the exception set by WebBindings::setException in
PluginChannelHost::OnSetException will be overwritten by WebCore::npObjectInvokeImpl
in case of the return value of excuting invokation on NPObject is false.
This patch introduces a new IPC message NPObjectMsg_SetException for
NPObjectProxy. If NPN_SetException is called from plugin process, it
will handle it to remember an exception has been thrown and tell V8 engine
to not throw a general exception again via a returned result parameter.
NPObjectProxy::OnSetException is required to be only called in renderer
process because it is meaningless to throw an Javascript exception in
plugin process.
BUG=chromium:68919
TEST=npobject_set_exception.html
Patch Set 1 : '' #
Messages
Total messages: 1 (0 generated)
|