Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: net/url_request/sdch_dictionary_fetcher.cc

Issue 154243006: Add GetExpirationTimes() to HttpResponseHeader. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: move a function body Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/url_request/sdch_dictionary_fetcher.h" 5 #include "net/url_request/sdch_dictionary_fetcher.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <queue> 8 #include <queue>
9 #include <set> 9 #include <set>
10 10
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 DCHECK_EQ(request, current_request_.get()); 160 DCHECK_EQ(request, current_request_.get());
161 DCHECK_EQ(next_state_, STATE_SEND_REQUEST_PENDING); 161 DCHECK_EQ(next_state_, STATE_SEND_REQUEST_PENDING);
162 DCHECK(!in_loop_); 162 DCHECK(!in_loop_);
163 163
164 // Confirm that the response isn't a stale read from the cache (as 164 // Confirm that the response isn't a stale read from the cache (as
165 // may happen in the reload case). If the response was not retrieved over 165 // may happen in the reload case). If the response was not retrieved over
166 // HTTP, it is presumed to be fresh. 166 // HTTP, it is presumed to be fresh.
167 HttpResponseHeaders* response_headers = request->response_headers(); 167 HttpResponseHeaders* response_headers = request->response_headers();
168 int result = request->status().error(); 168 int result = request->status().error();
169 if (result == OK && response_headers) { 169 if (result == OK && response_headers) {
170 ValidationType validation_type = response_headers->RequiresValidation( 170 HttpResponseHeaders::ExpirationTimes expirations =
171 request->response_info().request_time, 171 response_headers->GetExpirationTimes(
172 request->response_info().response_time, base::Time::Now()); 172 request->response_info().request_time,
173 // TODO(rdsmith): Maybe handle VALIDATION_ASYNCHRONOUS by queueing 173 request->response_info().response_time);
174 // a non-reload request for the dictionary. 174 // TODO(rdsmith): Maybe handle stale resources by queueing a non-reload
175 if (validation_type != VALIDATION_NONE) 175 // request for the dictionary.
176 if (base::Time::Now() >= expirations.GetExpirationTime())
176 result = ERR_FAILED; 177 result = ERR_FAILED;
177 } 178 }
178 179
179 DoLoop(result); 180 DoLoop(result);
180 } 181 }
181 182
182 void SdchDictionaryFetcher::OnReadCompleted(URLRequest* request, 183 void SdchDictionaryFetcher::OnReadCompleted(URLRequest* request,
183 int bytes_read) { 184 int bytes_read) {
184 DCHECK(CalledOnValidThread()); 185 DCHECK(CalledOnValidThread());
185 DCHECK_EQ(request, current_request_.get()); 186 DCHECK_EQ(request, current_request_.get());
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 current_request_->net_log(), 373 current_request_->net_log(),
373 current_request_->was_cached()); 374 current_request_->was_cached());
374 } 375 }
375 376
376 ResetRequest(); 377 ResetRequest();
377 next_state_ = STATE_SEND_REQUEST; 378 next_state_ = STATE_SEND_REQUEST;
378 return OK; 379 return OK;
379 } 380 }
380 381
381 } // namespace net 382 } // namespace net
OLDNEW
« net/http/http_response_headers.cc ('K') | « net/http/http_response_headers_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698