| Index: Source/modules/websockets/WebSocket.cpp
|
| diff --git a/Source/modules/websockets/WebSocket.cpp b/Source/modules/websockets/WebSocket.cpp
|
| index 3868acfda51786aa6abfc36ff912a3b16115476c..f685f1b9c9c8c85b8c8222c3525ef6079d6c9e39 100644
|
| --- a/Source/modules/websockets/WebSocket.cpp
|
| +++ b/Source/modules/websockets/WebSocket.cpp
|
| @@ -140,7 +140,7 @@ WebSocket::WebSocket(ExecutionContext* context)
|
| , m_subprotocol("")
|
| , m_extensions("")
|
| , m_stopped(false)
|
| - , m_timerForDeferredDropProtection(this, &WebSocket::dropProtection)
|
| + , m_dropProtectionRunner(this, &WebSocket::dropProtection)
|
| {
|
| ScriptWrappable::init(this);
|
| }
|
| @@ -478,7 +478,7 @@ void WebSocket::resume()
|
| m_channel->resume();
|
| }
|
|
|
| -void WebSocket::dropProtection(Timer<WebSocket>*)
|
| +void WebSocket::dropProtection()
|
| {
|
| unsetPendingActivity(this);
|
| }
|
| @@ -505,9 +505,7 @@ void WebSocket::stop()
|
| // instances. Deleting this WebSocket instance synchronously leads to
|
| // ContextLifecycleNotifier::removeObserver() call which is prohibited
|
| // to be called during iteration. Defer it.
|
| - if (m_timerForDeferredDropProtection.isActive())
|
| - return;
|
| - m_timerForDeferredDropProtection.startOneShot(0);
|
| + m_dropProtectionRunner.runAsync();
|
| }
|
|
|
| void WebSocket::didConnect()
|
|
|