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

Unified Diff: third_party/WebKit/Source/core/workers/WorkerThread.cpp

Issue 2268933002: ServiceWorker: Detect forcible worker thread termination in a correct way (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert moving getExitCode() in favor of https://codereview.chromium.org/2274453002/ Created 4 years, 4 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: third_party/WebKit/Source/core/workers/WorkerThread.cpp
diff --git a/third_party/WebKit/Source/core/workers/WorkerThread.cpp b/third_party/WebKit/Source/core/workers/WorkerThread.cpp
index 28da9d0141874da39b2dadd796626f294d6837a3..b4dcb886cc570f928f6f82a569268e0e77d479e7 100644
--- a/third_party/WebKit/Source/core/workers/WorkerThread.cpp
+++ b/third_party/WebKit/Source/core/workers/WorkerThread.cpp
@@ -331,6 +331,24 @@ PlatformThreadId WorkerThread::platformThreadId()
return workerBackingThread().backingThread().platformThread().threadId();
}
+bool WorkerThread::isForciblyTerminated()
+{
+ MutexLocker lock(m_threadStateMutex);
+ switch (m_exitCode) {
+ case ExitCode::NotTerminated:
+ case ExitCode::GracefullyTerminated:
+ return false;
+ case ExitCode::SyncForciblyTerminated:
+ case ExitCode::AsyncForciblyTerminated:
+ return true;
+ case ExitCode::LastEnum:
+ NOTREACHED() << static_cast<int>(m_exitCode);
+ return false;
+ }
+ NOTREACHED() << static_cast<int>(m_exitCode);
+ return false;
+}
+
WorkerThread::WorkerThread(PassRefPtr<WorkerLoaderProxy> workerLoaderProxy, WorkerReportingProxy& workerReportingProxy)
: m_forceTerminationDelayInMs(kForceTerminationDelayInMs)
, m_inspectorTaskRunner(wrapUnique(new InspectorTaskRunner()))

Powered by Google App Engine
This is Rietveld 408576698