summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/EventSource.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/EventSource.h')
-rw-r--r--Source/WebCore/page/EventSource.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/Source/WebCore/page/EventSource.h b/Source/WebCore/page/EventSource.h
index 9e81a2af1..f2d1c1256 100644
--- a/Source/WebCore/page/EventSource.h
+++ b/Source/WebCore/page/EventSource.h
@@ -51,7 +51,7 @@ class ThreadableLoader;
class EventSource final : public RefCounted<EventSource>, public EventTargetWithInlineData, private ThreadableLoaderClient, public ActiveDOMObject {
WTF_MAKE_FAST_ALLOCATED;
public:
- static RefPtr<EventSource> create(ScriptExecutionContext&, const String& url, const Dictionary&, ExceptionCode&);
+ static PassRefPtr<EventSource> create(ScriptExecutionContext&, const String& url, const Dictionary&, ExceptionCode&);
virtual ~EventSource();
static const unsigned long long defaultReconnectDelay;
@@ -66,6 +66,10 @@ public:
State readyState() const;
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(open);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(message);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
+
void close();
using RefCounted<EventSource>::ref;
@@ -87,19 +91,17 @@ private:
virtual void didFailAccessControlCheck(const ResourceError&) override;
virtual void didFailRedirectCheck() override;
- // ActiveDOMObject API.
- void stop() override;
- const char* activeDOMObjectName() const override;
- bool canSuspendForDocumentSuspension() const override;
+ virtual void stop() override;
void connect();
void networkRequestEnded();
void scheduleInitialConnect();
void scheduleReconnect();
+ void connectTimerFired(Timer<EventSource>&);
void abortConnectionAttempt();
void parseEventStream();
void parseEventStreamLine(unsigned pos, int fieldLength, int lineLength);
- Ref<MessageEvent> createMessageEvent();
+ PassRefPtr<MessageEvent> createMessageEvent();
URL m_url;
bool m_withCredentials;
@@ -107,7 +109,7 @@ private:
RefPtr<TextResourceDecoder> m_decoder;
RefPtr<ThreadableLoader> m_loader;
- Timer m_connectTimer;
+ Timer<EventSource> m_connectTimer;
Vector<UChar> m_receiveBuf;
bool m_discardTrailingNewline;
bool m_requestInFlight;