Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 51e7eb817caa29a1a03999b52cdba487f64e881e..3f0c732e25855d4f542ef814a6876cb5cca5c662 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -1009,10 +1009,16 @@ blink::WebCookieJar* RenderFrameImpl::cookieJar(blink::WebFrame* frame) { |
blink::WebServiceWorkerProvider* RenderFrameImpl::createServiceWorkerProvider( |
blink::WebFrame* frame) { |
DCHECK(!frame_ || frame_ == frame); |
- // TODO(kinuko): Get the provider_id for the frame (via dataSource) and |
- // pass it to the WebServiceWorkerProviderImpl constructor. |
+ // At this point we should have non-null data source. |
+ DCHECK(frame->dataSource()); |
+ ServiceWorkerNetworkProvider* provider = |
+ ServiceWorkerNetworkProvider::FromDocumentState( |
+ DocumentState::FromDataSource(frame->dataSource())); |
+ int provider_id = provider |
Tom Sepez
2014/03/07 17:48:26
style nit: ? and : at end of previous lines.
kinuko
2014/03/10 05:02:18
Done.
|
+ ? provider->provider_id() |
+ : kInvalidServiceWorkerProviderId; |
return new WebServiceWorkerProviderImpl( |
- ChildThread::current()->thread_safe_sender()); |
+ ChildThread::current()->thread_safe_sender(), provider_id); |
} |
void RenderFrameImpl::didAccessInitialDocument(blink::WebFrame* frame) { |