diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/workers/WorkerContext.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/workers/WorkerContext.h | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContext.h b/src/3rdparty/webkit/WebCore/workers/WorkerContext.h index 16f43fd55..266553a9e 100644 --- a/src/3rdparty/webkit/WebCore/workers/WorkerContext.h +++ b/src/3rdparty/webkit/WebCore/workers/WorkerContext.h @@ -48,17 +48,11 @@ namespace WebCore { class WorkerContext : public RefCounted<WorkerContext>, public ScriptExecutionContext, public EventTarget { public: - static PassRefPtr<WorkerContext> create(const KURL& url, const String& userAgent, WorkerThread* thread) - { - return adoptRef(new WorkerContext(url, userAgent, thread)); - } virtual ~WorkerContext(); virtual bool isWorkerContext() const { return true; } - virtual WorkerContext* toWorkerContext() { return this; } - virtual ScriptExecutionContext* scriptExecutionContext() const; const KURL& url() const { return m_url; } @@ -73,7 +67,7 @@ namespace WebCore { bool hasPendingActivity() const; - virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL); + virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL) = 0; virtual void addMessage(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL); virtual void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString); virtual void scriptImported(unsigned long identifier, const String& sourceString); @@ -84,17 +78,13 @@ namespace WebCore { WorkerContext* self() { return this; } WorkerLocation* location() const; void close(); + void setOnerror(PassRefPtr<EventListener> eventListener) { m_onerrorListener = eventListener; } + EventListener* onerror() const { return m_onerrorListener.get(); } // WorkerUtils void importScripts(const Vector<String>& urls, const String& callerURL, int callerLine, ExceptionCode&); WorkerNavigator* navigator() const; - // DedicatedWorkerGlobalScope - void postMessage(const String&, ExceptionCode&); - void postMessage(const String&, MessagePort*, ExceptionCode&); - void setOnmessage(PassRefPtr<EventListener> eventListener) { m_onmessageListener = eventListener; } - EventListener* onmessage() const { return m_onmessageListener.get(); } - // Timers int setTimeout(ScheduledAction*, int timeout); void clearTimeout(int timeoutId); @@ -110,7 +100,6 @@ namespace WebCore { typedef HashMap<AtomicString, ListenerVector> EventListenersMap; EventListenersMap& eventListeners() { return m_eventListeners; } - void dispatchMessage(const String&, PassRefPtr<MessagePort>); // These methods are used for GC marking. See JSWorkerContext::mark() in // JSWorkerContextCustom.cpp. @@ -120,9 +109,11 @@ namespace WebCore { using RefCounted<WorkerContext>::ref; using RefCounted<WorkerContext>::deref; - private: + protected: WorkerContext(const KURL&, const String&, WorkerThread*); + bool isClosing() { return m_closing; } + private: virtual void refScriptExecutionContext() { ref(); } virtual void derefScriptExecutionContext() { deref(); } virtual void refEventTarget() { ref(); } @@ -140,7 +131,7 @@ namespace WebCore { OwnPtr<WorkerScriptController> m_script; WorkerThread* m_thread; - RefPtr<EventListener> m_onmessageListener; + RefPtr<EventListener> m_onerrorListener; EventListenersMap m_eventListeners; bool m_closing; |