OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/http/http_cache_transaction.h" | 5 #include "net/http/http_cache_transaction.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 | 8 |
9 #if defined(OS_POSIX) | 9 #if defined(OS_POSIX) |
10 #include <unistd.h> | 10 #include <unistd.h> |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 | 175 |
176 void RecordNoStoreHeaderHistogram(int load_flags, | 176 void RecordNoStoreHeaderHistogram(int load_flags, |
177 const HttpResponseInfo* response) { | 177 const HttpResponseInfo* response) { |
178 if (load_flags & LOAD_MAIN_FRAME) { | 178 if (load_flags & LOAD_MAIN_FRAME) { |
179 UMA_HISTOGRAM_BOOLEAN( | 179 UMA_HISTOGRAM_BOOLEAN( |
180 "Net.MainFrameNoStore", | 180 "Net.MainFrameNoStore", |
181 response->headers->HasHeaderValue("cache-control", "no-store")); | 181 response->headers->HasHeaderValue("cache-control", "no-store")); |
182 } | 182 } |
183 } | 183 } |
184 | 184 |
185 base::Value* NetLogAsyncRevalidationInfoCallback( | 185 scoped_ptr<base::Value> NetLogAsyncRevalidationInfoCallback( |
186 const NetLog::Source& source, | 186 const NetLog::Source& source, |
187 const HttpRequestInfo* request, | 187 const HttpRequestInfo* request, |
188 NetLogCaptureMode capture_mode) { | 188 NetLogCaptureMode capture_mode) { |
189 base::DictionaryValue* dict = new base::DictionaryValue(); | 189 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
190 source.AddToEventParameters(dict); | 190 source.AddToEventParameters(dict.get()); |
191 | 191 |
192 dict->SetString("url", request->url.possibly_invalid_spec()); | 192 dict->SetString("url", request->url.possibly_invalid_spec()); |
193 dict->SetString("method", request->method); | 193 dict->SetString("method", request->method); |
194 return dict; | 194 return dict.Pass(); |
195 } | 195 } |
196 | 196 |
197 enum ExternallyConditionalizedType { | 197 enum ExternallyConditionalizedType { |
198 EXTERNALLY_CONDITIONALIZED_CACHE_REQUIRES_VALIDATION, | 198 EXTERNALLY_CONDITIONALIZED_CACHE_REQUIRES_VALIDATION, |
199 EXTERNALLY_CONDITIONALIZED_CACHE_USABLE, | 199 EXTERNALLY_CONDITIONALIZED_CACHE_USABLE, |
200 EXTERNALLY_CONDITIONALIZED_MISMATCHED_VALIDATORS, | 200 EXTERNALLY_CONDITIONALIZED_MISMATCHED_VALIDATORS, |
201 EXTERNALLY_CONDITIONALIZED_MAX | 201 EXTERNALLY_CONDITIONALIZED_MAX |
202 }; | 202 }; |
203 | 203 |
204 } // namespace | 204 } // namespace |
(...skipping 2399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2604 | 2604 |
2605 void HttpCache::Transaction::TriggerAsyncValidation() { | 2605 void HttpCache::Transaction::TriggerAsyncValidation() { |
2606 DCHECK(!request_->upload_data_stream); | 2606 DCHECK(!request_->upload_data_stream); |
2607 BoundNetLog async_revalidation_net_log( | 2607 BoundNetLog async_revalidation_net_log( |
2608 BoundNetLog::Make(net_log_.net_log(), NetLog::SOURCE_ASYNC_REVALIDATION)); | 2608 BoundNetLog::Make(net_log_.net_log(), NetLog::SOURCE_ASYNC_REVALIDATION)); |
2609 net_log_.AddEvent( | 2609 net_log_.AddEvent( |
2610 NetLog::TYPE_HTTP_CACHE_VALIDATE_RESOURCE_ASYNC, | 2610 NetLog::TYPE_HTTP_CACHE_VALIDATE_RESOURCE_ASYNC, |
2611 async_revalidation_net_log.source().ToEventParametersCallback()); | 2611 async_revalidation_net_log.source().ToEventParametersCallback()); |
2612 async_revalidation_net_log.BeginEvent( | 2612 async_revalidation_net_log.BeginEvent( |
2613 NetLog::TYPE_ASYNC_REVALIDATION, | 2613 NetLog::TYPE_ASYNC_REVALIDATION, |
2614 base::Bind( | 2614 base::Bind(NetLogAsyncRevalidationInfoCallback, net_log_.source(), |
2615 &NetLogAsyncRevalidationInfoCallback, net_log_.source(), request_)); | 2615 request_)); |
2616 base::MessageLoop::current()->PostTask( | 2616 base::MessageLoop::current()->PostTask( |
2617 FROM_HERE, | 2617 FROM_HERE, |
2618 base::Bind(&HttpCache::PerformAsyncValidation, | 2618 base::Bind(&HttpCache::PerformAsyncValidation, |
2619 cache_, // cache_ is a weak pointer. | 2619 cache_, // cache_ is a weak pointer. |
2620 *request_, | 2620 *request_, |
2621 async_revalidation_net_log)); | 2621 async_revalidation_net_log)); |
2622 } | 2622 } |
2623 | 2623 |
2624 void HttpCache::Transaction::FailRangeRequest() { | 2624 void HttpCache::Transaction::FailRangeRequest() { |
2625 response_ = *new_response_; | 2625 response_ = *new_response_; |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2979 default: | 2979 default: |
2980 NOTREACHED(); | 2980 NOTREACHED(); |
2981 } | 2981 } |
2982 } | 2982 } |
2983 | 2983 |
2984 void HttpCache::Transaction::OnIOComplete(int result) { | 2984 void HttpCache::Transaction::OnIOComplete(int result) { |
2985 DoLoop(result); | 2985 DoLoop(result); |
2986 } | 2986 } |
2987 | 2987 |
2988 } // namespace net | 2988 } // namespace net |
OLD | NEW |