[webkit-dev] WebCore: Exposing exceptions through WebFrameImpl::executeScriptAndReturnValue and ScriptController::executeScript.

Tom Rathbone tom.rathbone at gmail.com
Wed Dec 22 01:58:55 PST 2010


Hi Guys,

I was wondering if it would be possible to expose v8 exceptions
through WebFrameImpl::executeScriptAndReturnValue and
ScriptController::executeScript, perhaps as an output reference
argument.

The effected methods would be:

v8::Handle<v8::Value> WebFrameImpl::executeScriptAndReturnValue(const
WebScriptSource& source)
ScriptValue ScriptController::executeScript(const ScriptSourceCode&
sourceCode, ShouldAllowXSS shouldAllowXSS)
ScriptValue ScriptController::evaluate(const ScriptSourceCode&
sourceCode, ShouldAllowXSS shouldAllowXSS)
v8::Local<v8::Value> V8Proxy::evaluate(const ScriptSourceCode& source,
Node* node)

If I've read the source correctly V8 exceptions are caught in
V8Proxy::evaluate and swallowed.  This means clients calling
executeScriptAndReturnValue have no easy way of determining what went
wrong or of responding to script errors.

Maybe...

v8::Handle<v8::Value> WebFrameImpl::executeScriptAndReturnValue(const
WebScriptSource& source, bool& exceptionReturned)

If others think these changes are worthwhile then I'll have a go at
crafting a patch.

Thanks,

Tom.


More information about the webkit-dev mailing list