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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
143 ALLOW_THIS_IN_INITIALIZER_LIST(io_callback_( | 143 ALLOW_THIS_IN_INITIALIZER_LIST(io_callback_( |
144 base::Bind(&Transaction::OnIOComplete, | 144 base::Bind(&Transaction::OnIOComplete, |
145 weak_factory_.GetWeakPtr()))), | 145 weak_factory_.GetWeakPtr()))), |
146 transaction_pattern_(PATTERN_UNDEFINED), | 146 transaction_pattern_(PATTERN_UNDEFINED), |
147 bytes_read_from_cache_(0), | 147 bytes_read_from_cache_(0), |
148 bytes_read_from_network_(0), | 148 bytes_read_from_network_(0), |
149 transaction_delegate_(transaction_delegate) { | 149 transaction_delegate_(transaction_delegate) { |
150 COMPILE_ASSERT(HttpCache::Transaction::kNumValidationHeaders == | 150 COMPILE_ASSERT(HttpCache::Transaction::kNumValidationHeaders == |
151 arraysize(kValidationHeaders), | 151 arraysize(kValidationHeaders), |
152 Invalid_number_of_validation_headers); | 152 Invalid_number_of_validation_headers); |
153 if (!base::StringToInt( | 153 base::StringToInt( |
rvargas (doing something else)
2012/10/03 02:01:09
Sorry, I'm confused now. What was the bug?. Why tw
tburkard
2012/10/03 16:47:21
This change here is to make the two groups work fo
rvargas (doing something else)
2012/10/03 22:19:05
I thought the original behavior is what you wanted
| |
154 base::FieldTrialList::FindFullName("CacheSensitivityAnalysis"), | 154 base::FieldTrialList::FindFullName("CacheSensitivityAnalysis"), |
155 &sensitivity_analysis_percent_increase_)) { | 155 &sensitivity_analysis_percent_increase_); |
156 sensitivity_analysis_percent_increase_ = 0; | |
157 } | |
158 } | 156 } |
159 | 157 |
160 HttpCache::Transaction::~Transaction() { | 158 HttpCache::Transaction::~Transaction() { |
161 // We may have to issue another IO, but we should never invoke the callback_ | 159 // We may have to issue another IO, but we should never invoke the callback_ |
162 // after this point. | 160 // after this point. |
163 callback_.Reset(); | 161 callback_.Reset(); |
164 | 162 |
165 transaction_delegate_ = NULL; | 163 transaction_delegate_ = NULL; |
166 | 164 |
167 if (cache_) { | 165 if (cache_) { |
(...skipping 2110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2278 } | 2276 } |
2279 | 2277 |
2280 return true; | 2278 return true; |
2281 } | 2279 } |
2282 | 2280 |
2283 void HttpCache::Transaction::OnIOComplete(int result) { | 2281 void HttpCache::Transaction::OnIOComplete(int result) { |
2284 if (!cache_io_start_.is_null()) { | 2282 if (!cache_io_start_.is_null()) { |
2285 base::TimeDelta cache_time = base::TimeTicks::Now() - cache_io_start_; | 2283 base::TimeDelta cache_time = base::TimeTicks::Now() - cache_io_start_; |
2286 cache_io_start_ = base::TimeTicks(); | 2284 cache_io_start_ = base::TimeTicks(); |
2287 if (sensitivity_analysis_percent_increase_ > 0) { | 2285 if (sensitivity_analysis_percent_increase_ > 0) { |
2288 cache_time *= 100 + sensitivity_analysis_percent_increase_; | 2286 cache_time *= sensitivity_analysis_percent_increase_; |
2289 cache_time /= 100; | 2287 cache_time /= 100; |
2290 MessageLoop::current()->PostDelayedTask( | 2288 MessageLoop::current()->PostDelayedTask( |
2291 FROM_HERE, | 2289 FROM_HERE, |
2292 base::Bind(&HttpCache::Transaction::RunDelayedLoop, | 2290 base::Bind(&HttpCache::Transaction::RunDelayedLoop, |
2293 weak_factory_.GetWeakPtr(), | 2291 weak_factory_.GetWeakPtr(), |
2294 base::TimeTicks::Now(), | 2292 base::TimeTicks::Now(), |
2295 cache_time, | 2293 cache_time, |
2296 result), | 2294 result), |
2297 cache_time); | 2295 cache_time); |
2298 return; | 2296 return; |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2485 } | 2483 } |
2486 | 2484 |
2487 int HttpCache::Transaction::ResetCacheIOStart(int return_value) { | 2485 int HttpCache::Transaction::ResetCacheIOStart(int return_value) { |
2488 DCHECK(cache_io_start_.is_null()); | 2486 DCHECK(cache_io_start_.is_null()); |
2489 if (return_value == ERR_IO_PENDING) | 2487 if (return_value == ERR_IO_PENDING) |
2490 cache_io_start_ = base::TimeTicks::Now(); | 2488 cache_io_start_ = base::TimeTicks::Now(); |
2491 return return_value; | 2489 return return_value; |
2492 } | 2490 } |
2493 | 2491 |
2494 } // namespace net | 2492 } // namespace net |
OLD | NEW |