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

Unified Diff: Source/modules/serviceworkers/ServiceWorker.cpp

Issue 1148383012: Oilpan: prefer eager finalization over prefinalizers. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: expand&improve comments Created 5 years, 6 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/modules/serviceworkers/ServiceWorker.cpp
diff --git a/Source/modules/serviceworkers/ServiceWorker.cpp b/Source/modules/serviceworkers/ServiceWorker.cpp
index f1c33fab4697e4be111b811644491c7a790e41a9..b352fac8684bce92fc6da1ef3114385ffb99c317 100644
--- a/Source/modules/serviceworkers/ServiceWorker.cpp
+++ b/Source/modules/serviceworkers/ServiceWorker.cpp
@@ -150,33 +150,12 @@ ServiceWorker::ServiceWorker(ExecutionContext* executionContext, PassOwnPtr<WebS
, m_outerWorker(worker)
, m_wasStopped(false)
{
-#if ENABLE(OILPAN)
- ThreadState::current()->registerPreFinalizer(*this);
-#endif
ASSERT(m_outerWorker);
m_outerWorker->setProxy(this);
}
ServiceWorker::~ServiceWorker()
{
-#if ENABLE(OILPAN)
- ASSERT(!m_outerWorker);
-#endif
-}
-
-void ServiceWorker::dispose()
-{
- // With Oilpan enabled, the observable lifetime of a ServiceWorker
- // must not extend beyond when it has been deemed to be unreachable
- // by the garbage collector. The embedder must be detached before
- // it is eventually (lazily) swept, so as to prevent that. Otherwise
- // the embedder might risk accessing a to-be-finalized object that
- // is not in a valid state.
- //
- // The dispose() method is hooked up to the garbage collector by
- // way of a "pre finalizer", a method that is run after marking
- // has completed, but before any sweeping takes place.
- m_outerWorker.clear();
}
} // namespace blink
« no previous file with comments | « Source/modules/serviceworkers/ServiceWorker.h ('k') | Source/modules/serviceworkers/ServiceWorkerRegistration.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698