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

Unified Diff: third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp

Issue 1448353002: Oilpan: move ServiceWorkerGlobalScopeProxy to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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/web/ServiceWorkerGlobalScopeProxy.cpp
diff --git a/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp b/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
index 3a311b17cfc3f8f7fc15c8626af7e1584f466679..e636cb3678803bcce4a7dbf83bd5a079302589e4 100644
--- a/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
+++ b/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp
@@ -73,15 +73,21 @@
namespace blink {
-PassOwnPtr<ServiceWorkerGlobalScopeProxy> ServiceWorkerGlobalScopeProxy::create(WebEmbeddedWorkerImpl& embeddedWorker, Document& document, WebServiceWorkerContextClient& client)
+PassOwnPtrWillBeRawPtr<ServiceWorkerGlobalScopeProxy> ServiceWorkerGlobalScopeProxy::create(WebEmbeddedWorkerImpl& embeddedWorker, Document& document, WebServiceWorkerContextClient& client)
{
- return adoptPtr(new ServiceWorkerGlobalScopeProxy(embeddedWorker, document, client));
+ return adoptPtrWillBeNoop(new ServiceWorkerGlobalScopeProxy(embeddedWorker, document, client));
}
ServiceWorkerGlobalScopeProxy::~ServiceWorkerGlobalScopeProxy()
{
}
+DEFINE_TRACE(ServiceWorkerGlobalScopeProxy)
+{
+ visitor->trace(m_document);
+ visitor->trace(m_workerGlobalScope);
+}
+
void ServiceWorkerGlobalScopeProxy::setRegistration(WebPassOwnPtr<WebServiceWorkerRegistration::Handle> handle)
{
ASSERT(m_workerGlobalScope);
@@ -204,7 +210,7 @@ void ServiceWorkerGlobalScopeProxy::reportConsoleMessage(PassRefPtrWillBeRawPtr<
void ServiceWorkerGlobalScopeProxy::postMessageToPageInspector(const String& message)
{
- m_document.postInspectorTask(BLINK_FROM_HERE, createCrossThreadTask(&WebEmbeddedWorkerImpl::postMessageToPageInspector, &m_embeddedWorker, message));
+ m_document->postInspectorTask(BLINK_FROM_HERE, createCrossThreadTask(&WebEmbeddedWorkerImpl::postMessageToPageInspector, &m_embeddedWorker, message));
}
void ServiceWorkerGlobalScopeProxy::didEvaluateWorkerScript(bool success)
@@ -228,7 +234,7 @@ void ServiceWorkerGlobalScopeProxy::workerGlobalScopeStarted(WorkerGlobalScope*
void ServiceWorkerGlobalScopeProxy::workerGlobalScopeClosed()
{
- m_document.postTask(BLINK_FROM_HERE, createCrossThreadTask(&WebEmbeddedWorkerImpl::terminateWorkerContext, &m_embeddedWorker));
+ m_document->postTask(BLINK_FROM_HERE, createCrossThreadTask(&WebEmbeddedWorkerImpl::terminateWorkerContext, &m_embeddedWorker));
}
void ServiceWorkerGlobalScopeProxy::willDestroyWorkerGlobalScope()
@@ -245,7 +251,7 @@ void ServiceWorkerGlobalScopeProxy::workerThreadTerminated()
ServiceWorkerGlobalScopeProxy::ServiceWorkerGlobalScopeProxy(WebEmbeddedWorkerImpl& embeddedWorker, Document& document, WebServiceWorkerContextClient& client)
: m_embeddedWorker(embeddedWorker)
- , m_document(document)
+ , m_document(&document)
, m_documentURL(document.url().copy())
, m_client(client)
, m_workerGlobalScope(nullptr)

Powered by Google App Engine
This is Rietveld 408576698