XMLHttpRequestUpload.h [plain text]
#ifndef XMLHttpRequestUpload_h
#define XMLHttpRequestUpload_h
#include "XMLHttpRequest.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
namespace WebCore {
class ScriptExecutionContext;
class XMLHttpRequest;
class XMLHttpRequestUpload final : public EventTargetWithInlineData {
public:
explicit XMLHttpRequestUpload(XMLHttpRequest*);
void ref() { m_xmlHttpRequest->ref(); }
void deref() { m_xmlHttpRequest->deref(); }
XMLHttpRequest* xmlHttpRequest() const { return m_xmlHttpRequest; }
virtual EventTargetInterface eventTargetInterface() const override { return XMLHttpRequestUploadEventTargetInterfaceType; }
virtual ScriptExecutionContext* scriptExecutionContext() const override { return m_xmlHttpRequest->scriptExecutionContext(); }
DEFINE_ATTRIBUTE_EVENT_LISTENER(abort);
DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
DEFINE_ATTRIBUTE_EVENT_LISTENER(load);
DEFINE_ATTRIBUTE_EVENT_LISTENER(loadend);
DEFINE_ATTRIBUTE_EVENT_LISTENER(loadstart);
DEFINE_ATTRIBUTE_EVENT_LISTENER(progress);
void dispatchThrottledProgressEvent(bool lengthComputable, unsigned long long loaded, unsigned long long total);
void dispatchProgressEvent(const AtomicString &type);
private:
virtual void refEventTarget() override final { ref(); }
virtual void derefEventTarget() override final { deref(); }
XMLHttpRequest* m_xmlHttpRequest;
bool m_lengthComputable;
unsigned long long m_loaded;
unsigned long long m_total;
};
}
#endif // XMLHttpRequestUpload_h