Chromium Code Reviews| 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 |