[webkit-reviews] review denied: [Bug 21918] A JavaScript Exception abstraction : [Attachment 24718] Removed ExceptionCatcher, added inlines
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Oct 29 23:46:29 PDT 2008
Sam Weinig <sam at webkit.org> has denied Dimitri Glazkov (Google)
<dglazkov at chromium.org>'s request for review:
Bug 21918: A JavaScript Exception abstraction
https://bugs.webkit.org/show_bug.cgi?id=21918
Attachment 24718: Removed ExceptionCatcher, added inlines
https://bugs.webkit.org/attachment.cgi?id=24718&action=edit
------- Additional Comments from Sam Weinig <sam at webkit.org>
> +
> +#include <wtf/Noncopyable.h>
> +#include "ScriptController.h"
These should be sorted.
> +
> +typedef JSC::JSValue* JSException;
No JSException is being defined for V8 here. I don't really see the point of
this typedef since JSException is never used.
> +#if USE(V8)
> +class ExceptionCatcher;
What does an ExceptionCatcher do? Why is necessary to store both it and the
exception.
> + ExceptionContext(Node*);
> +#if USE(V8)
> + ExceptionContext();
How is this empty constructor used. Perhaps a link to the corresponding
Chromium code would help.
> + bool hadException();
> + JSException exception() const;
This method seems to be unused.
> +
> + // Returns a non-exception code object.
> + static JSException noException();
As does this one.
> +
> +private:
> +#if USE(V8)
> + friend class ExceptionCatcher;
> + void setException(JSException exception) { m_exception = exception; }
> + void setExceptionCatcher(ExceptionCatcher*);
> + JSException m_exception;
> + ExceptionCatcher* m_exceptionCatcher;
> +#elif USE(JSC)
> + JSC::ExecState* m_exec;
> +#endif
This is a lot of engine specific code. Can this be abstracted better?
It also seems like this is something that should work with other bindings as
well. So that a Objective-C NodeFilter could store a thrown exception as well.
r-.
More information about the webkit-reviews
mailing list