| Index: Source/core/workers/WorkerGlobalScope.cpp
|
| diff --git a/Source/core/workers/WorkerGlobalScope.cpp b/Source/core/workers/WorkerGlobalScope.cpp
|
| index e69300be4d291c266a3e3a9daa6ea007a085a5d4..b6175d3d134cac3be2ab168f9771736ec816cc20 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(0)
|
| {
|
| 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 = 0;
|
| +}
|
| +
|
| +void WorkerGlobalScope::wasRequestedToTerminate()
|
| +{
|
| + if (m_terminationObserver)
|
| + m_terminationObserver->wasRequestedToTerminate();
|
| }
|
|
|
| void WorkerGlobalScope::dispose()
|
|
|