| Index: content/browser/appcache/appcache_dispatcher_host.h
|
| diff --git a/content/browser/appcache/appcache_dispatcher_host.h b/content/browser/appcache/appcache_dispatcher_host.h
|
| index 9b882c8a97e706e4bf6723e15ff1b5dd35dae5b6..c17bf3496f34288c0affa40e9a6434fe463f198d 100644
|
| --- a/content/browser/appcache/appcache_dispatcher_host.h
|
| +++ b/content/browser/appcache/appcache_dispatcher_host.h
|
| @@ -38,6 +38,18 @@ class AppCacheDispatcherHost : public BrowserMessageFilter {
|
| ~AppCacheDispatcherHost() override;
|
|
|
| private:
|
| + // PlzNavigate:
|
| + // The AppCacheHost is precreated by the AppCacheNavigationHandleCore class
|
| + // when a navigation is initiated. We register the host with the backend in
|
| + // this function and ignore registrations for this host id from the renderer.
|
| + void RegisterPrecreatedHost(std::unique_ptr<AppCacheHost> host);
|
| +
|
| + // PlzNavigate: A pending host is registered when a navigation is initiated
|
| + // by the browser. The registration completes when the renderer sends the
|
| + // AppCacheHostMsg_RegisterHost message to us. This function should be called
|
| + // on the IO thread.
|
| + void RegisterPendingHost(int host);
|
| +
|
| // IPC message handlers
|
| void OnRegisterHost(int host_id);
|
| void OnUnregisterHost(int host_id);
|
| @@ -62,6 +74,10 @@ class AppCacheDispatcherHost : public BrowserMessageFilter {
|
| void StartUpdateCallback(bool result, void* param);
|
| void SwapCacheCallback(bool result, void* param);
|
|
|
| + // Returns the AppCacheDispatcherHost instance associated with the
|
| + // |process_id| passed in.
|
| + static scoped_refptr<AppCacheDispatcherHost> GetHostForProcess(
|
| + int process_id);
|
|
|
| scoped_refptr<ChromeAppCacheService> appcache_service_;
|
| AppCacheFrontendProxy frontend_proxy_;
|
| @@ -75,6 +91,16 @@ class AppCacheDispatcherHost : public BrowserMessageFilter {
|
| // The corresponding ChildProcessHost object's id().
|
| int process_id_;
|
|
|
| + // PlzNavigate: Contains a list of pending hosts which have been registered
|
| + // via the RegisterPendingHost() function. The host is removed from the list
|
| + // when we receive the AppCacheHostMsg_RegisterHost IPC message.
|
| + std::set<int> pending_hosts_;
|
| +
|
| + // PlzNavigate:
|
| + // This class needs to invoke functionality to register the precreated host
|
| + // with the AppCacheDispatcherHost.
|
| + friend class AppCacheNavigationHandleCore;
|
| +
|
| base::WeakPtrFactory<AppCacheDispatcherHost> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(AppCacheDispatcherHost);
|
|
|