| Index: webkit/glue/plugins/pepper_var.h
|
| ===================================================================
|
| --- webkit/glue/plugins/pepper_var.h (revision 58357)
|
| +++ webkit/glue/plugins/pepper_var.h (working copy)
|
| @@ -26,6 +26,10 @@
|
| // function multiple times given the same NPObject results in the same PP_Var.
|
| PP_Var NPObjectToPPVar(NPObject* object);
|
|
|
| +// Returns a PP_Var that corresponds to the given NPVariant. The contents of
|
| +// the NPVariant will be copied unless the NPVariant corresponds to an object.
|
| +PP_Var NPVariantToPPVar(const NPVariant* variant);
|
| +
|
| // Returns the NPObject corresponding to the PP_Var. This pointer has not been
|
| // retained, so you should not call WebBindings::releaseObject unless you first
|
| // call WebBindings::retainObject. Returns NULL if the PP_Var is not an object
|
| @@ -42,6 +46,30 @@
|
| // a string type.
|
| String* GetString(PP_Var var);
|
|
|
| +// Instantiate this object on the stack to catch V8 exceptions and pass them
|
| +// to an optional out parameter supplied by the plugin.
|
| +class TryCatch {
|
| + public:
|
| + // The given exception may be NULL if the consumer isn't interested in
|
| + // catching exceptions. If non-NULL, the given var will be updated if any
|
| + // exception is thrown (so it must outlive the TryCatch object).
|
| + TryCatch(PP_Var* exception);
|
| + ~TryCatch();
|
| +
|
| + // Returns true is an exception has been thrown. This can be true immediately
|
| + // after construction if the var passed to the constructor is non-void.
|
| + bool HasException() const;
|
| +
|
| + // Sets the given exception.
|
| + void SetException(const char* message);
|
| +
|
| + private:
|
| + static void Catch(void* self, const char* message);
|
| +
|
| + // May be null if the consumer isn't interesting in catching exceptions.
|
| + PP_Var* exception_;
|
| +};
|
| +
|
| } // namespace pepper
|
|
|
| #endif // WEBKIT_GLUE_PLUGINS_PEPPER_VAR_H_
|
|
|