Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1951)

Unified Diff: Source/core/workers/WorkerGlobalScope.cpp

Issue 248523003: Remove ActiveDOMObject::willStop, and introduce WorkerGlobalScope::TerminationObserver. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/workers/WorkerGlobalScope.cpp
diff --git a/Source/core/workers/WorkerGlobalScope.cpp b/Source/core/workers/WorkerGlobalScope.cpp
index e69300be4d291c266a3e3a9daa6ea007a085a5d4..5e4a46d971805c501fd627fa7dbf640b062f9f6e 100644
--- a/Source/core/workers/WorkerGlobalScope.cpp
+++ b/Source/core/workers/WorkerGlobalScope.cpp
@@ -84,6 +84,7 @@ WorkerGlobalScope::WorkerGlobalScope(const KURL& url, const String& userAgent, W
, m_eventQueue(WorkerEventQueue::create(this))
, m_workerClients(workerClients)
, m_timeOrigin(timeOrigin)
+ , m_terminationObserver(nullptr)
{
ScriptWrappable::init(this);
setClient(this);
@@ -184,9 +185,24 @@ void WorkerGlobalScope::clearInspector()
m_workerInspectorController.clear();
}
-void WorkerGlobalScope::willStopActiveDOMObjects()
+void WorkerGlobalScope::registerTerminationObserver(TerminationObserver* observer)
{
- lifecycleNotifier().notifyWillStopActiveDOMObjects();
+ ASSERT(!m_terminationObserver);
+ ASSERT(observer);
+ m_terminationObserver = observer;
+}
+
+void WorkerGlobalScope::unregisterTerminationObserver(TerminationObserver* observer)
+{
+ ASSERT(observer);
+ ASSERT(m_terminationObserver == observer);
+ m_terminationObserver = nullptr;
+}
+
+void WorkerGlobalScope::wasRequestedToTerminate()
+{
haraken 2014/04/23 08:53:55 Shall we add ASSERT(isMainThread()) ?
tkent 2014/04/23 09:13:35 I'm not 100% sure this is always in the main threa
+ if (m_terminationObserver)
+ m_terminationObserver->wasRequestedToTerminate();
}
void WorkerGlobalScope::dispose()

Powered by Google App Engine
This is Rietveld 408576698