| Index: webkit/appcache/appcache_request_handler.cc
|
| ===================================================================
|
| --- webkit/appcache/appcache_request_handler.cc (revision 26501)
|
| +++ webkit/appcache/appcache_request_handler.cc (working copy)
|
| @@ -12,20 +12,18 @@
|
|
|
| // AppCacheRequestHandler -----------------------------------------------------
|
|
|
| -static bool IsHttpOrHttpsGetOrEquivalent(URLRequest* request) {
|
| - return false; // TODO(michaeln): write me
|
| +AppCacheRequestHandler::AppCacheRequestHandler(AppCacheHost* host,
|
| + bool is_main_resource)
|
| + : is_main_request_(is_main_resource), host_(host) {
|
| + DCHECK(host_);
|
| + host_->AddObserver(this);
|
| }
|
|
|
| -AppCacheRequestHandler::AppCacheRequestHandler(AppCacheHost* host)
|
| - : is_main_request_(true), cache_id_(kNoCacheId),
|
| - host_(host->AsWeakPtr()), service_(host->service()) {
|
| +AppCacheRequestHandler::~AppCacheRequestHandler() {
|
| + if (host_)
|
| + host_->RemoveObserver(this);
|
| }
|
|
|
| -AppCacheRequestHandler::AppCacheRequestHandler(AppCache* cache)
|
| - : is_main_request_(false), cache_id_(kNoCacheId),
|
| - cache_(cache), service_(cache->service()) {
|
| -}
|
| -
|
| void AppCacheRequestHandler::GetExtraResponseInfo(
|
| int64* cache_id, GURL* manifest_url) {
|
| // TODO(michaeln): If this is a main request and it was retrieved from
|
| @@ -37,7 +35,10 @@
|
| }
|
|
|
| URLRequestJob* AppCacheRequestHandler::MaybeLoadResource(URLRequest* request) {
|
| - if (!IsHttpOrHttpsGetOrEquivalent(request))
|
| + // 6.9.7 Changes to the networking model
|
| + // If the resource is not to be fetched using the HTTP GET mechanism or
|
| + // equivalent ... then fetch the resource normally
|
| + if (!host_ || !IsSchemeAndMethodSupported(request))
|
| return NULL;
|
| // TODO(michaeln): write me
|
| return NULL;
|
| @@ -45,7 +46,7 @@
|
|
|
| URLRequestJob* AppCacheRequestHandler::MaybeLoadFallbackForRedirect(
|
| URLRequest* request, const GURL& location) {
|
| - if (!IsHttpOrHttpsGetOrEquivalent(request))
|
| + if (!host_ || !IsSchemeAndMethodSupported(request))
|
| return NULL;
|
| // TODO(michaeln): write me
|
| return NULL;
|
| @@ -53,11 +54,21 @@
|
|
|
| URLRequestJob* AppCacheRequestHandler::MaybeLoadFallbackForResponse(
|
| URLRequest* request) {
|
| - if (!IsHttpOrHttpsGetOrEquivalent(request))
|
| + if (!host_ || !IsSchemeAndMethodSupported(request))
|
| return NULL;
|
| // TODO(michaeln): write me
|
| return NULL;
|
| }
|
|
|
| +void AppCacheRequestHandler::OnCacheSelectionComplete(AppCacheHost* host) {
|
| + DCHECK(host == host_);
|
| + // TODO(michaeln): write me
|
| +}
|
| +
|
| +void AppCacheRequestHandler::OnDestructionImminent(AppCacheHost* host) {
|
| + host_ = NULL;
|
| + // TODO(michaeln): write me
|
| +}
|
| +
|
| } // namespace appcache
|
|
|
|
|