| 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 #ifndef CHROME_BROWSER_NET_PASSIVE_LOG_COLLECTOR_H_ | 5 #ifndef CHROME_BROWSER_NET_PASSIVE_LOG_COLLECTOR_H_ |
| 6 #define CHROME_BROWSER_NET_PASSIVE_LOG_COLLECTOR_H_ | 6 #define CHROME_BROWSER_NET_PASSIVE_LOG_COLLECTOR_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <deque> | 9 #include <deque> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 }; | 86 }; |
| 87 | 87 |
| 88 // This source tracker is intended for TYPE_NONE. All entries go into a | 88 // This source tracker is intended for TYPE_NONE. All entries go into a |
| 89 // circular buffer, and there is no concept of live/dead requests. | 89 // circular buffer, and there is no concept of live/dead requests. |
| 90 class GlobalSourceTracker : public SourceTrackerInterface { | 90 class GlobalSourceTracker : public SourceTrackerInterface { |
| 91 public: | 91 public: |
| 92 GlobalSourceTracker(); | 92 GlobalSourceTracker(); |
| 93 virtual ~GlobalSourceTracker(); | 93 virtual ~GlobalSourceTracker(); |
| 94 | 94 |
| 95 // SourceTrackerInterface implementation: | 95 // SourceTrackerInterface implementation: |
| 96 virtual void OnAddEntry(const ChromeNetLog::Entry& entry); | 96 virtual void OnAddEntry(const ChromeNetLog::Entry& entry) OVERRIDE; |
| 97 virtual void Clear(); | 97 virtual void Clear() OVERRIDE; |
| 98 virtual void AppendAllEntries(ChromeNetLog::EntryList* out) const; | 98 virtual void AppendAllEntries(ChromeNetLog::EntryList* out) const OVERRIDE; |
| 99 | 99 |
| 100 private: | 100 private: |
| 101 typedef std::deque<ChromeNetLog::Entry> CircularEntryList; | 101 typedef std::deque<ChromeNetLog::Entry> CircularEntryList; |
| 102 CircularEntryList entries_; | 102 CircularEntryList entries_; |
| 103 DISALLOW_COPY_AND_ASSIGN(GlobalSourceTracker); | 103 DISALLOW_COPY_AND_ASSIGN(GlobalSourceTracker); |
| 104 }; | 104 }; |
| 105 | 105 |
| 106 // This class stores and manages the passively logged information for | 106 // This class stores and manages the passively logged information for |
| 107 // URLRequests/SocketStreams/ConnectJobs. | 107 // URLRequests/SocketStreams/ConnectJobs. |
| 108 class SourceTracker : public SourceTrackerInterface { | 108 class SourceTracker : public SourceTrackerInterface { |
| 109 public: | 109 public: |
| 110 // Creates a SourceTracker that will track at most |max_num_sources|. | 110 // Creates a SourceTracker that will track at most |max_num_sources|. |
| 111 // Up to |max_graveyard_size| unreferenced sources will be kept around | 111 // Up to |max_graveyard_size| unreferenced sources will be kept around |
| 112 // before deleting them for good. |parent| may be NULL, and points to | 112 // before deleting them for good. |parent| may be NULL, and points to |
| 113 // the owning PassiveLogCollector (it is used when adding references | 113 // the owning PassiveLogCollector (it is used when adding references |
| 114 // to other sources). | 114 // to other sources). |
| 115 SourceTracker(size_t max_num_sources, | 115 SourceTracker(size_t max_num_sources, |
| 116 size_t max_graveyard_size, | 116 size_t max_graveyard_size, |
| 117 PassiveLogCollector* parent); | 117 PassiveLogCollector* parent); |
| 118 | 118 |
| 119 virtual ~SourceTracker(); | 119 virtual ~SourceTracker(); |
| 120 | 120 |
| 121 // SourceTrackerInterface implementation: | 121 // SourceTrackerInterface implementation: |
| 122 virtual void OnAddEntry(const ChromeNetLog::Entry& entry); | 122 virtual void OnAddEntry(const ChromeNetLog::Entry& entry) OVERRIDE; |
| 123 virtual void Clear(); | 123 virtual void Clear() OVERRIDE; |
| 124 virtual void AppendAllEntries(ChromeNetLog::EntryList* out) const; | 124 virtual void AppendAllEntries(ChromeNetLog::EntryList* out) const OVERRIDE; |
| 125 | 125 |
| 126 #ifdef UNIT_TEST | 126 #ifdef UNIT_TEST |
| 127 // Helper used to inspect the current state by unit-tests. | 127 // Helper used to inspect the current state by unit-tests. |
| 128 // Retuns a copy of the source infos held by the tracker. | 128 // Retuns a copy of the source infos held by the tracker. |
| 129 SourceInfoList GetAllDeadOrAliveSources(bool is_alive) const { | 129 SourceInfoList GetAllDeadOrAliveSources(bool is_alive) const { |
| 130 SourceInfoList result; | 130 SourceInfoList result; |
| 131 for (SourceIDToInfoMap::const_iterator it = sources_.begin(); | 131 for (SourceIDToInfoMap::const_iterator it = sources_.begin(); |
| 132 it != sources_.end(); ++it) { | 132 it != sources_.end(); ++it) { |
| 133 if (it->second.is_alive == is_alive) | 133 if (it->second.is_alive == is_alive) |
| 134 result.push_back(it->second); | 134 result.push_back(it->second); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 // Specialization of SourceTracker for handling ConnectJobs. | 195 // Specialization of SourceTracker for handling ConnectJobs. |
| 196 class ConnectJobTracker : public SourceTracker { | 196 class ConnectJobTracker : public SourceTracker { |
| 197 public: | 197 public: |
| 198 static const size_t kMaxNumSources; | 198 static const size_t kMaxNumSources; |
| 199 static const size_t kMaxGraveyardSize; | 199 static const size_t kMaxGraveyardSize; |
| 200 | 200 |
| 201 explicit ConnectJobTracker(PassiveLogCollector* parent); | 201 explicit ConnectJobTracker(PassiveLogCollector* parent); |
| 202 | 202 |
| 203 private: | 203 private: |
| 204 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 204 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 205 SourceInfo* out_info); | 205 SourceInfo* out_info) OVERRIDE; |
| 206 DISALLOW_COPY_AND_ASSIGN(ConnectJobTracker); | 206 DISALLOW_COPY_AND_ASSIGN(ConnectJobTracker); |
| 207 }; | 207 }; |
| 208 | 208 |
| 209 // Specialization of SourceTracker for handling Sockets. | 209 // Specialization of SourceTracker for handling Sockets. |
| 210 class SocketTracker : public SourceTracker { | 210 class SocketTracker : public SourceTracker { |
| 211 public: | 211 public: |
| 212 static const size_t kMaxNumSources; | 212 static const size_t kMaxNumSources; |
| 213 static const size_t kMaxGraveyardSize; | 213 static const size_t kMaxGraveyardSize; |
| 214 | 214 |
| 215 SocketTracker(); | 215 SocketTracker(); |
| 216 | 216 |
| 217 private: | 217 private: |
| 218 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 218 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 219 SourceInfo* out_info); | 219 SourceInfo* out_info) OVERRIDE; |
| 220 | 220 |
| 221 DISALLOW_COPY_AND_ASSIGN(SocketTracker); | 221 DISALLOW_COPY_AND_ASSIGN(SocketTracker); |
| 222 }; | 222 }; |
| 223 | 223 |
| 224 // Specialization of SourceTracker for handling net::URLRequest/SocketStream. | 224 // Specialization of SourceTracker for handling net::URLRequest/SocketStream. |
| 225 class RequestTracker : public SourceTracker { | 225 class RequestTracker : public SourceTracker { |
| 226 public: | 226 public: |
| 227 static const size_t kMaxNumSources; | 227 static const size_t kMaxNumSources; |
| 228 static const size_t kMaxGraveyardSize; | 228 static const size_t kMaxGraveyardSize; |
| 229 | 229 |
| 230 explicit RequestTracker(PassiveLogCollector* parent); | 230 explicit RequestTracker(PassiveLogCollector* parent); |
| 231 | 231 |
| 232 private: | 232 private: |
| 233 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 233 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 234 SourceInfo* out_info); | 234 SourceInfo* out_info) OVERRIDE; |
| 235 | 235 |
| 236 DISALLOW_COPY_AND_ASSIGN(RequestTracker); | 236 DISALLOW_COPY_AND_ASSIGN(RequestTracker); |
| 237 }; | 237 }; |
| 238 | 238 |
| 239 // Specialization of SourceTracker for handling | 239 // Specialization of SourceTracker for handling |
| 240 // SOURCE_INIT_PROXY_RESOLVER. | 240 // SOURCE_INIT_PROXY_RESOLVER. |
| 241 class InitProxyResolverTracker : public SourceTracker { | 241 class InitProxyResolverTracker : public SourceTracker { |
| 242 public: | 242 public: |
| 243 static const size_t kMaxNumSources; | 243 static const size_t kMaxNumSources; |
| 244 static const size_t kMaxGraveyardSize; | 244 static const size_t kMaxGraveyardSize; |
| 245 | 245 |
| 246 InitProxyResolverTracker(); | 246 InitProxyResolverTracker(); |
| 247 | 247 |
| 248 private: | 248 private: |
| 249 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 249 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 250 SourceInfo* out_info); | 250 SourceInfo* out_info) OVERRIDE; |
| 251 | 251 |
| 252 DISALLOW_COPY_AND_ASSIGN(InitProxyResolverTracker); | 252 DISALLOW_COPY_AND_ASSIGN(InitProxyResolverTracker); |
| 253 }; | 253 }; |
| 254 | 254 |
| 255 // Tracks the log entries for the last seen SOURCE_SPDY_SESSION. | 255 // Tracks the log entries for the last seen SOURCE_SPDY_SESSION. |
| 256 class SpdySessionTracker : public SourceTracker { | 256 class SpdySessionTracker : public SourceTracker { |
| 257 public: | 257 public: |
| 258 static const size_t kMaxNumSources; | 258 static const size_t kMaxNumSources; |
| 259 static const size_t kMaxGraveyardSize; | 259 static const size_t kMaxGraveyardSize; |
| 260 | 260 |
| 261 SpdySessionTracker(); | 261 SpdySessionTracker(); |
| 262 | 262 |
| 263 private: | 263 private: |
| 264 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 264 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 265 SourceInfo* out_info); | 265 SourceInfo* out_info) OVERRIDE; |
| 266 | 266 |
| 267 DISALLOW_COPY_AND_ASSIGN(SpdySessionTracker); | 267 DISALLOW_COPY_AND_ASSIGN(SpdySessionTracker); |
| 268 }; | 268 }; |
| 269 | 269 |
| 270 // Tracks the log entries for the last seen SOURCE_HOST_RESOLVER_IMPL_REQUEST. | 270 // Tracks the log entries for the last seen SOURCE_HOST_RESOLVER_IMPL_REQUEST. |
| 271 class DNSRequestTracker : public SourceTracker { | 271 class DNSRequestTracker : public SourceTracker { |
| 272 public: | 272 public: |
| 273 static const size_t kMaxNumSources; | 273 static const size_t kMaxNumSources; |
| 274 static const size_t kMaxGraveyardSize; | 274 static const size_t kMaxGraveyardSize; |
| 275 | 275 |
| 276 DNSRequestTracker(); | 276 DNSRequestTracker(); |
| 277 | 277 |
| 278 private: | 278 private: |
| 279 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 279 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 280 SourceInfo* out_info); | 280 SourceInfo* out_info) OVERRIDE; |
| 281 | 281 |
| 282 DISALLOW_COPY_AND_ASSIGN(DNSRequestTracker); | 282 DISALLOW_COPY_AND_ASSIGN(DNSRequestTracker); |
| 283 }; | 283 }; |
| 284 | 284 |
| 285 // Tracks the log entries for the last seen SOURCE_HOST_RESOLVER_IMPL_JOB. | 285 // Tracks the log entries for the last seen SOURCE_HOST_RESOLVER_IMPL_JOB. |
| 286 class DNSJobTracker : public SourceTracker { | 286 class DNSJobTracker : public SourceTracker { |
| 287 public: | 287 public: |
| 288 static const size_t kMaxNumSources; | 288 static const size_t kMaxNumSources; |
| 289 static const size_t kMaxGraveyardSize; | 289 static const size_t kMaxGraveyardSize; |
| 290 | 290 |
| 291 DNSJobTracker(); | 291 DNSJobTracker(); |
| 292 | 292 |
| 293 private: | 293 private: |
| 294 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 294 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 295 SourceInfo* out_info); | 295 SourceInfo* out_info) OVERRIDE; |
| 296 | 296 |
| 297 DISALLOW_COPY_AND_ASSIGN(DNSJobTracker); | 297 DISALLOW_COPY_AND_ASSIGN(DNSJobTracker); |
| 298 }; | 298 }; |
| 299 | 299 |
| 300 // Tracks the log entries for the last seen SOURCE_DISK_CACHE_ENTRY. | 300 // Tracks the log entries for the last seen SOURCE_DISK_CACHE_ENTRY. |
| 301 class DiskCacheEntryTracker : public SourceTracker { | 301 class DiskCacheEntryTracker : public SourceTracker { |
| 302 public: | 302 public: |
| 303 static const size_t kMaxNumSources; | 303 static const size_t kMaxNumSources; |
| 304 static const size_t kMaxGraveyardSize; | 304 static const size_t kMaxGraveyardSize; |
| 305 | 305 |
| 306 DiskCacheEntryTracker(); | 306 DiskCacheEntryTracker(); |
| 307 | 307 |
| 308 private: | 308 private: |
| 309 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 309 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 310 SourceInfo* out_info); | 310 SourceInfo* out_info) OVERRIDE; |
| 311 | 311 |
| 312 DISALLOW_COPY_AND_ASSIGN(DiskCacheEntryTracker); | 312 DISALLOW_COPY_AND_ASSIGN(DiskCacheEntryTracker); |
| 313 }; | 313 }; |
| 314 | 314 |
| 315 // Tracks the log entries for the last seen SOURCE_DISK_CACHE_ENTRY. | 315 // Tracks the log entries for the last seen SOURCE_DISK_CACHE_ENTRY. |
| 316 class MemCacheEntryTracker : public SourceTracker { | 316 class MemCacheEntryTracker : public SourceTracker { |
| 317 public: | 317 public: |
| 318 static const size_t kMaxNumSources; | 318 static const size_t kMaxNumSources; |
| 319 static const size_t kMaxGraveyardSize; | 319 static const size_t kMaxGraveyardSize; |
| 320 | 320 |
| 321 MemCacheEntryTracker(); | 321 MemCacheEntryTracker(); |
| 322 | 322 |
| 323 protected: | 323 protected: |
| 324 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 324 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 325 SourceInfo* out_info); | 325 SourceInfo* out_info) OVERRIDE; |
| 326 | 326 |
| 327 private: | 327 private: |
| 328 DISALLOW_COPY_AND_ASSIGN(MemCacheEntryTracker); | 328 DISALLOW_COPY_AND_ASSIGN(MemCacheEntryTracker); |
| 329 }; | 329 }; |
| 330 | 330 |
| 331 class HttpStreamJobTracker : public SourceTracker { | 331 class HttpStreamJobTracker : public SourceTracker { |
| 332 public: | 332 public: |
| 333 static const size_t kMaxNumSources; | 333 static const size_t kMaxNumSources; |
| 334 static const size_t kMaxGraveyardSize; | 334 static const size_t kMaxGraveyardSize; |
| 335 | 335 |
| 336 explicit HttpStreamJobTracker(PassiveLogCollector* parent); | 336 explicit HttpStreamJobTracker(PassiveLogCollector* parent); |
| 337 | 337 |
| 338 private: | 338 private: |
| 339 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 339 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 340 SourceInfo* out_info); | 340 SourceInfo* out_info) OVERRIDE; |
| 341 DISALLOW_COPY_AND_ASSIGN(HttpStreamJobTracker); | 341 DISALLOW_COPY_AND_ASSIGN(HttpStreamJobTracker); |
| 342 }; | 342 }; |
| 343 | 343 |
| 344 class ExponentialBackoffThrottlingTracker : public SourceTracker { | 344 class ExponentialBackoffThrottlingTracker : public SourceTracker { |
| 345 public: | 345 public: |
| 346 static const size_t kMaxNumSources; | 346 static const size_t kMaxNumSources; |
| 347 static const size_t kMaxGraveyardSize; | 347 static const size_t kMaxGraveyardSize; |
| 348 | 348 |
| 349 explicit ExponentialBackoffThrottlingTracker(PassiveLogCollector* parent); | 349 explicit ExponentialBackoffThrottlingTracker(PassiveLogCollector* parent); |
| 350 | 350 |
| 351 private: | 351 private: |
| 352 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 352 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 353 SourceInfo* out_info); | 353 SourceInfo* out_info) OVERRIDE; |
| 354 DISALLOW_COPY_AND_ASSIGN(ExponentialBackoffThrottlingTracker); | 354 DISALLOW_COPY_AND_ASSIGN(ExponentialBackoffThrottlingTracker); |
| 355 }; | 355 }; |
| 356 | 356 |
| 357 // Tracks the log entries for the last seen SOURCE_DNS_TRANSACTION. | 357 // Tracks the log entries for the last seen SOURCE_DNS_TRANSACTION. |
| 358 class DnsTransactionTracker : public SourceTracker { | 358 class DnsTransactionTracker : public SourceTracker { |
| 359 public: | 359 public: |
| 360 static const size_t kMaxNumSources; | 360 static const size_t kMaxNumSources; |
| 361 static const size_t kMaxGraveyardSize; | 361 static const size_t kMaxGraveyardSize; |
| 362 | 362 |
| 363 DnsTransactionTracker(); | 363 DnsTransactionTracker(); |
| 364 | 364 |
| 365 private: | 365 private: |
| 366 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 366 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 367 SourceInfo* out_info); | 367 SourceInfo* out_info) OVERRIDE; |
| 368 | 368 |
| 369 DISALLOW_COPY_AND_ASSIGN(DnsTransactionTracker); | 369 DISALLOW_COPY_AND_ASSIGN(DnsTransactionTracker); |
| 370 }; | 370 }; |
| 371 | 371 |
| 372 // Tracks the log entries for the last seen SOURCE_ASYNC_HOST_RESOLVER_REQUEST | 372 // Tracks the log entries for the last seen SOURCE_ASYNC_HOST_RESOLVER_REQUEST |
| 373 class AsyncHostResolverRequestTracker : public SourceTracker { | 373 class AsyncHostResolverRequestTracker : public SourceTracker { |
| 374 public: | 374 public: |
| 375 static const size_t kMaxNumSources; | 375 static const size_t kMaxNumSources; |
| 376 static const size_t kMaxGraveyardSize; | 376 static const size_t kMaxGraveyardSize; |
| 377 | 377 |
| 378 AsyncHostResolverRequestTracker(); | 378 AsyncHostResolverRequestTracker(); |
| 379 | 379 |
| 380 private: | 380 private: |
| 381 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 381 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 382 SourceInfo* out_info); | 382 SourceInfo* out_info) OVERRIDE; |
| 383 | 383 |
| 384 DISALLOW_COPY_AND_ASSIGN(AsyncHostResolverRequestTracker); | 384 DISALLOW_COPY_AND_ASSIGN(AsyncHostResolverRequestTracker); |
| 385 }; | 385 }; |
| 386 | 386 |
| 387 | 387 |
| 388 // Tracks the log entries for the last seen SOURCE_UDP_SOCKET. | 388 // Tracks the log entries for the last seen SOURCE_UDP_SOCKET. |
| 389 class UDPSocketTracker : public SourceTracker { | 389 class UDPSocketTracker : public SourceTracker { |
| 390 public: | 390 public: |
| 391 static const size_t kMaxNumSources; | 391 static const size_t kMaxNumSources; |
| 392 static const size_t kMaxGraveyardSize; | 392 static const size_t kMaxGraveyardSize; |
| 393 | 393 |
| 394 UDPSocketTracker(); | 394 UDPSocketTracker(); |
| 395 | 395 |
| 396 private: | 396 private: |
| 397 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 397 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 398 SourceInfo* out_info); | 398 SourceInfo* out_info) OVERRIDE; |
| 399 | 399 |
| 400 DISALLOW_COPY_AND_ASSIGN(UDPSocketTracker); | 400 DISALLOW_COPY_AND_ASSIGN(UDPSocketTracker); |
| 401 }; | 401 }; |
| 402 | 402 |
| 403 // Tracks the log entries for the last seen SOURCE_CERT_VERIFIER_JOB | 403 // Tracks the log entries for the last seen SOURCE_CERT_VERIFIER_JOB |
| 404 class CertVerifierJobTracker : public SourceTracker { | 404 class CertVerifierJobTracker : public SourceTracker { |
| 405 public: | 405 public: |
| 406 static const size_t kMaxNumSources; | 406 static const size_t kMaxNumSources; |
| 407 static const size_t kMaxGraveyardSize; | 407 static const size_t kMaxGraveyardSize; |
| 408 | 408 |
| 409 CertVerifierJobTracker(); | 409 CertVerifierJobTracker(); |
| 410 | 410 |
| 411 private: | 411 private: |
| 412 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, | 412 virtual Action DoAddEntry(const ChromeNetLog::Entry& entry, |
| 413 SourceInfo* out_info); | 413 SourceInfo* out_info) OVERRIDE; |
| 414 | 414 |
| 415 DISALLOW_COPY_AND_ASSIGN(CertVerifierJobTracker); | 415 DISALLOW_COPY_AND_ASSIGN(CertVerifierJobTracker); |
| 416 }; | 416 }; |
| 417 | 417 |
| 418 PassiveLogCollector(); | 418 PassiveLogCollector(); |
| 419 virtual ~PassiveLogCollector(); | 419 virtual ~PassiveLogCollector(); |
| 420 | 420 |
| 421 // ThreadSafeObserver implementation: | 421 // ThreadSafeObserver implementation: |
| 422 virtual void OnAddEntry(net::NetLog::EventType type, | 422 virtual void OnAddEntry(net::NetLog::EventType type, |
| 423 const base::TimeTicks& time, | 423 const base::TimeTicks& time, |
| 424 const net::NetLog::Source& source, | 424 const net::NetLog::Source& source, |
| 425 net::NetLog::EventPhase phase, | 425 net::NetLog::EventPhase phase, |
| 426 net::NetLog::EventParameters* params); | 426 net::NetLog::EventParameters* params) OVERRIDE; |
| 427 | 427 |
| 428 // Clears all of the passively logged data. | 428 // Clears all of the passively logged data. |
| 429 void Clear(); | 429 void Clear(); |
| 430 | 430 |
| 431 // Fills |out| with the full list of events that have been passively | 431 // Fills |out| with the full list of events that have been passively |
| 432 // captured. The list is ordered by capture time. | 432 // captured. The list is ordered by capture time. |
| 433 void GetAllCapturedEvents(ChromeNetLog::EntryList* out) const; | 433 void GetAllCapturedEvents(ChromeNetLog::EntryList* out) const; |
| 434 | 434 |
| 435 private: | 435 private: |
| 436 // Returns the tracker to use for sources of type |source_type|, or NULL. | 436 // Returns the tracker to use for sources of type |source_type|, or NULL. |
| (...skipping 29 matching lines...) Expand all Loading... |
| 466 SourceTrackerInterface* trackers_[net::NetLog::SOURCE_COUNT]; | 466 SourceTrackerInterface* trackers_[net::NetLog::SOURCE_COUNT]; |
| 467 | 467 |
| 468 // The count of how many events have flowed through this log. Used to set the | 468 // The count of how many events have flowed through this log. Used to set the |
| 469 // "order" field on captured events. | 469 // "order" field on captured events. |
| 470 uint32 num_events_seen_; | 470 uint32 num_events_seen_; |
| 471 | 471 |
| 472 DISALLOW_COPY_AND_ASSIGN(PassiveLogCollector); | 472 DISALLOW_COPY_AND_ASSIGN(PassiveLogCollector); |
| 473 }; | 473 }; |
| 474 | 474 |
| 475 #endif // CHROME_BROWSER_NET_PASSIVE_LOG_COLLECTOR_H_ | 475 #endif // CHROME_BROWSER_NET_PASSIVE_LOG_COLLECTOR_H_ |
| OLD | NEW |