1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_WORKER_WORKER_WEBAPPLICATIONCACHEHOST_IMPL_H_
6 #define CHROME_WORKER_WORKER_WEBAPPLICATIONCACHEHOST_IMPL_H_
8 #include "content/child/appcache/web_application_cache_host_impl.h"
12 // Information used to construct and initialize an appcache host
14 struct WorkerAppCacheInitInfo
{
15 int parent_process_id
;
16 int64 main_resource_appcache_id
; // Only valid for shared workers.
18 WorkerAppCacheInitInfo()
19 : parent_process_id(0),
20 main_resource_appcache_id(0) {
22 WorkerAppCacheInitInfo(
23 int process_id
, int64 cache_id
)
24 : parent_process_id(process_id
),
25 main_resource_appcache_id(cache_id
) {
29 class WorkerWebApplicationCacheHostImpl
: public WebApplicationCacheHostImpl
{
31 WorkerWebApplicationCacheHostImpl(
32 const WorkerAppCacheInitInfo
& init_info
,
33 blink::WebApplicationCacheHostClient
* client
);
35 // Main resource loading is different for workers. The resource is
36 // loaded by the creator of the worker rather than the worker itself.
37 // These overrides are stubbed out.
38 virtual void willStartMainResourceRequest(
39 blink::WebURLRequest
&, const blink::WebFrame
*);
40 virtual void didReceiveResponseForMainResource(
41 const blink::WebURLResponse
&);
42 virtual void didReceiveDataForMainResource(const char* data
, int len
);
43 virtual void didFinishLoadingMainResource(bool success
);
45 // Cache selection is also different for workers. We know at construction
46 // time what cache to select and do so then.
47 // These overrides are stubbed out.
48 virtual void selectCacheWithoutManifest();
49 virtual bool selectCacheWithManifest(const blink::WebURL
& manifestURL
);
52 } // namespace content
54 #endif // CHROME_WORKER_WORKER_WEBAPPLICATIONCACHEHOST_IMPL_H_