Index: Source/modules/serviceworkers/ServiceWorkerContainer.h |
diff --git a/Source/modules/serviceworkers/ServiceWorkerContainer.h b/Source/modules/serviceworkers/ServiceWorkerContainer.h |
index 3863f17a5e1dfabb99424e18074ca380293c9e36..456ce4735d552a5970b7d08a6f66f5c4e0374082 100644 |
--- a/Source/modules/serviceworkers/ServiceWorkerContainer.h |
+++ b/Source/modules/serviceworkers/ServiceWorkerContainer.h |
@@ -53,13 +53,13 @@ class ExecutionContext; |
class ServiceWorker; |
class ServiceWorkerContainer FINAL : |
- public RefCounted<ServiceWorkerContainer>, |
+ public RefCountedWillBeRefCountedGarbageCollected<ServiceWorkerContainer>, |
haraken
2014/06/02 07:25:06
I'm curious why ServiceWorkerContainer needs to be
zerny-chromium
2014/06/02 07:47:33
Good point. The IDL implied change is that control
haraken
2014/06/02 07:54:32
Probably we want to just use a Persistent for m_co
|
public ScriptWrappable, |
public ContextLifecycleObserver, |
public DOMWindowLifecycleObserver, |
public blink::WebServiceWorkerProviderClient { |
public: |
- static PassRefPtr<ServiceWorkerContainer> create(ExecutionContext*); |
+ static PassRefPtrWillBeRawPtr<ServiceWorkerContainer> create(ExecutionContext*); |
~ServiceWorkerContainer(); |
void detachClient(); |
@@ -67,7 +67,7 @@ public: |
ScriptPromise registerServiceWorker(ExecutionContext*, const String& pattern, const Dictionary&); |
ScriptPromise unregisterServiceWorker(ExecutionContext*, const String& scope = String()); |
- PassRefPtr<ServiceWorker> controller() { return m_controller; } |
+ PassRefPtrWillBeRawPtr<ServiceWorker> controller() { return m_controller; } |
// WebServiceWorkerProviderClient overrides. |
virtual void setController(blink::WebServiceWorker*) OVERRIDE; |
@@ -76,11 +76,13 @@ public: |
// FIXME: Delete this when the embedder switches to setController. |
virtual void setCurrentServiceWorker(blink::WebServiceWorker*) OVERRIDE; |
+ void trace(Visitor* visitor) { visitor->trace(m_controller); } |
+ |
private: |
explicit ServiceWorkerContainer(ExecutionContext*); |
blink::WebServiceWorkerProvider* m_provider; |
- RefPtr<ServiceWorker> m_controller; |
+ RefPtrWillBeMember<ServiceWorker> m_controller; |
}; |
} // namespace WebCore |