#ifndef JSTestCallback_h
#define JSTestCallback_h
#if ENABLE(SQL_DATABASE)
#include "ActiveDOMCallback.h"
#include "JSCallbackData.h"
#include "TestCallback.h"
#include <wtf/Forward.h>
namespace WebCore {
class JSTestCallback : public TestCallback, public ActiveDOMCallback {
public:
static PassRefPtr<JSTestCallback> create(JSC::JSObject* callback, JSDOMGlobalObject* globalObject)
{
return adoptRef(new JSTestCallback(callback, globalObject));
}
virtual ScriptExecutionContext* scriptExecutionContext() const { return ContextDestructionObserver::scriptExecutionContext(); }
virtual ~JSTestCallback();
virtual bool callbackWithNoParam();
virtual bool callbackWithArrayParam(RefPtr<Float32Array> arrayParam);
virtual bool callbackWithSerializedScriptValueParam(PassRefPtr<SerializedScriptValue> srzParam, const String& strArg);
COMPILE_ASSERT(false) virtual int callbackWithNonBoolReturnType(const String& strArg);
virtual int customCallback(Class5* class5Param, Class6* class6Param);
virtual bool callbackWithStringList(PassRefPtr<DOMStringList> listParam);
virtual bool callbackWithBoolean(bool boolParam);
virtual bool callbackRequiresThisToPass(int longParam, TestNode* testNodeParam);
private:
JSTestCallback(JSC::JSObject* callback, JSDOMGlobalObject*);
JSCallbackData* m_data;
};
}
#endif // ENABLE(SQL_DATABASE)
#endif