OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/net/referrer.h" | 5 #include "chrome/browser/net/referrer.h" |
6 | 6 |
7 #include <limits.h> | 7 #include <limits.h> |
| 8 #include <stddef.h> |
8 | 9 |
9 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
10 #include "base/logging.h" | 11 #include "base/logging.h" |
11 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
12 #include "base/values.h" | 13 #include "base/values.h" |
13 #include "chrome/browser/net/predictor.h" | 14 #include "chrome/browser/net/predictor.h" |
14 | 15 |
15 namespace chrome_browser_net { | 16 namespace chrome_browser_net { |
16 | 17 |
17 //------------------------------------------------------------------------------ | 18 //------------------------------------------------------------------------------ |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 } | 77 } |
77 (*this)[url].SubresourceIsNeeded(); | 78 (*this)[url].SubresourceIsNeeded(); |
78 } | 79 } |
79 | 80 |
80 void Referrer::DeleteLeastUseful() { | 81 void Referrer::DeleteLeastUseful() { |
81 // Find the item with the lowest value. Most important is preconnection_rate, | 82 // Find the item with the lowest value. Most important is preconnection_rate, |
82 // and least is lifetime (age). | 83 // and least is lifetime (age). |
83 GURL least_useful_url; | 84 GURL least_useful_url; |
84 double lowest_rate_seen = 0.0; | 85 double lowest_rate_seen = 0.0; |
85 // We use longs for durations because we will use multiplication on them. | 86 // We use longs for durations because we will use multiplication on them. |
86 int64 least_useful_lifetime = 0; // Duration in milliseconds. | 87 int64_t least_useful_lifetime = 0; // Duration in milliseconds. |
87 | 88 |
88 const base::Time kNow(base::Time::Now()); // Avoid multiple calls. | 89 const base::Time kNow(base::Time::Now()); // Avoid multiple calls. |
89 for (SubresourceMap::iterator it = begin(); it != end(); ++it) { | 90 for (SubresourceMap::iterator it = begin(); it != end(); ++it) { |
90 int64 lifetime = (kNow - it->second.birth_time()).InMilliseconds(); | 91 int64_t lifetime = (kNow - it->second.birth_time()).InMilliseconds(); |
91 double rate = it->second.subresource_use_rate(); | 92 double rate = it->second.subresource_use_rate(); |
92 if (least_useful_url.has_host()) { | 93 if (least_useful_url.has_host()) { |
93 if (rate > lowest_rate_seen) | 94 if (rate > lowest_rate_seen) |
94 continue; | 95 continue; |
95 if (lifetime <= least_useful_lifetime) | 96 if (lifetime <= least_useful_lifetime) |
96 continue; | 97 continue; |
97 } | 98 } |
98 least_useful_url = it->first; | 99 least_useful_url = it->first; |
99 lowest_rate_seen = rate; | 100 lowest_rate_seen = rate; |
100 least_useful_lifetime = lifetime; | 101 least_useful_lifetime = lifetime; |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 | 178 |
178 void ReferrerValue::ReferrerWasObserved() { | 179 void ReferrerValue::ReferrerWasObserved() { |
179 subresource_use_rate_ *= kWeightingForOldConnectsExpectedValue; | 180 subresource_use_rate_ *= kWeightingForOldConnectsExpectedValue; |
180 // Note: the use rate is temporarilly possibly incorect, as we need to find | 181 // Note: the use rate is temporarilly possibly incorect, as we need to find |
181 // out if we really end up connecting. This will happen in a few hundred | 182 // out if we really end up connecting. This will happen in a few hundred |
182 // milliseconds (when content arrives, etc.). | 183 // milliseconds (when content arrives, etc.). |
183 // Value of subresource_use_rate_ should be sampled before this call. | 184 // Value of subresource_use_rate_ should be sampled before this call. |
184 } | 185 } |
185 | 186 |
186 } // namespace chrome_browser_net | 187 } // namespace chrome_browser_net |
OLD | NEW |