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

Tom Rathbone tom.rathbone at gmail.com
Wed Dec 22 08:22:53 PST 2010


>From my experiments calling executeScriptAndReturnValue "function
foo() { } foo();" will also return an empty handle meaning that this
can't reliably be used to detect errors.  Is there another way to
distinguish non values from errors?

On Wed, Dec 22, 2010 at 2:35 PM, Yury Semikhatsky <yurys at chromium.org> wrote:
> Hi Tom,
> In case of uncaught JS exception returned v8::Handle will always be empty
> (v8::Handle<v8::Value>::IsEmpty() will return true) while in case of
> successful
> evaluation the result is always non-empty. Also uncaught JS exception will
> be
> reported to the console object(see Console.cpp) which will propagate them
> to
> InspectorController and ChromeClient.
> Thanks,
> Yury
>
> On Wed, Dec 22, 2010 at 12:58 PM, Tom Rathbone <tom.rathbone at gmail.com>
> wrote:
>>
>> 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.
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
>


More information about the webkit-dev mailing list