| Index: content/browser/frame_host/navigation_handle_impl.cc | 
| diff --git a/content/browser/frame_host/navigation_handle_impl.cc b/content/browser/frame_host/navigation_handle_impl.cc | 
| index 93d6b99d2dfa2acf4898ce6216306ed2dd67302c..387cc391a8a8e311a6363368522412f55fc014c4 100644 | 
| --- a/content/browser/frame_host/navigation_handle_impl.cc | 
| +++ b/content/browser/frame_host/navigation_handle_impl.cc | 
| @@ -6,6 +6,8 @@ | 
|  | 
| #include "base/debug/dump_without_crashing.h" | 
| #include "base/logging.h" | 
| +#include "content/browser/appcache/appcache_navigation_handle.h" | 
| +#include "content/browser/appcache/appcache_service_impl.h" | 
| #include "content/browser/browsing_data/clear_site_data_throttle.h" | 
| #include "content/browser/child_process_security_policy_impl.h" | 
| #include "content/browser/devtools/render_frame_devtools_agent_host.h" | 
| @@ -413,6 +415,12 @@ void NavigationHandleImpl::InitServiceWorkerHandle( | 
| new ServiceWorkerNavigationHandle(service_worker_context)); | 
| } | 
|  | 
| +void NavigationHandleImpl::InitAppCacheHandle( | 
| +    ChromeAppCacheService* appcache_service) { | 
| +  DCHECK(IsBrowserSideNavigationEnabled()); | 
| +  appcache_handle_.reset(new AppCacheNavigationHandle(appcache_service)); | 
| +} | 
| + | 
| void NavigationHandleImpl::WillStartRequest( | 
| const std::string& method, | 
| scoped_refptr<content::ResourceRequestBodyImpl> resource_request_body, | 
| @@ -526,6 +534,11 @@ void NavigationHandleImpl::ReadyToCommitNavigation( | 
| render_frame_host_ = render_frame_host; | 
| state_ = READY_TO_COMMIT; | 
|  | 
| +  if (appcache_handle_.get()) { | 
| +    appcache_handle_->CommitNavigation( | 
| +        render_frame_host->GetProcess()->GetID()); | 
| +  } | 
| + | 
| if (!IsRendererDebugURL(url_)) | 
| GetDelegate()->ReadyToCommitNavigation(this); | 
| } | 
|  |