Chromium Code Reviews| Index: webkit/appcache/appcache_request_handler.cc |
| =================================================================== |
| --- webkit/appcache/appcache_request_handler.cc (revision 80669) |
| +++ webkit/appcache/appcache_request_handler.cc (working copy) |
| @@ -188,11 +188,18 @@ |
| void AppCacheRequestHandler::MaybeLoadMainResource(net::URLRequest* request) { |
| DCHECK(!job_); |
| + DCHECK(host_); |
| + AppCacheHost* spawning_host = ResourceType::IsSharedWorker(resource_type_) ? |
|
jennb
2011/04/12 00:07:56
How does SharedWorker affect which host to use as
michaeln
2011/04/14 23:41:23
In the current system, the main resource of a shar
|
| + host_ : host_->GetSpawningHost(); |
| + GURL preferred_manifest_url = spawning_host ? |
| + spawning_host->preferred_manifest_url() : GURL(); |
| + |
| // We may have to wait for our storage query to complete, but |
| // this query can also complete syncrhonously. |
| job_ = new AppCacheURLRequestJob(request, storage()); |
| - storage()->FindResponseForMainRequest(request->url(), this); |
| + storage()->FindResponseForMainRequest( |
| + request->url(), preferred_manifest_url, this); |
| } |
| void AppCacheRequestHandler::OnMainResponseFound( |
| @@ -216,6 +223,7 @@ |
| // in advance of subresource loads happening, secondly to prevent the |
| // AppCache from falling out of the working set on frame navigations. |
| host_->LoadMainResourceCache(cache_id); |
| + host_->set_preferred_manifest_url(manifest_url); |
| } |
| } else { |
| DCHECK(ResourceType::IsSharedWorker(resource_type_)); |