summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net
diff options
context:
space:
mode:
authorahendrickson@chromium.org <ahendrickson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-02 18:49:43 +0000
committerahendrickson@chromium.org <ahendrickson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-02 18:49:43 +0000
commit1034299e794d0ba846309c43046eb8bb8a740e27 (patch)
tree9844e4cfd15857aa0d772432f8cd01983bc1df56 /chrome/browser/net
parente5eed6d9790191c9ce4705167d1bb1166d521699 (diff)
downloadchromium_src-1034299e794d0ba846309c43046eb8bb8a740e27.zip
chromium_src-1034299e794d0ba846309c43046eb8bb8a740e27.tar.gz
chromium_src-1034299e794d0ba846309c43046eb8bb8a740e27.tar.bz2
Added Net logging to FileStream.
The net logging doesn't currently do anything, but is ready if some system wants to pass it in. This is the first of 4 CLs that will enable net logging for downloads. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/9288084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120226 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r--chrome/browser/net/passive_log_collector.cc29
-rw-r--r--chrome/browser/net/passive_log_collector.h16
2 files changed, 45 insertions, 0 deletions
diff --git a/chrome/browser/net/passive_log_collector.cc b/chrome/browser/net/passive_log_collector.cc
index 9ca4b63..5006bdb 100644
--- a/chrome/browser/net/passive_log_collector.cc
+++ b/chrome/browser/net/passive_log_collector.cc
@@ -87,6 +87,8 @@ PassiveLogCollector::PassiveLogCollector()
&cert_verifier_job_tracker_;
trackers_[net::NetLog::SOURCE_HTTP_PIPELINED_CONNECTION] =
&http_pipelined_connection_tracker_;
+ trackers_[net::NetLog::SOURCE_FILESTREAM] =
+ &file_stream_tracker_;
// Make sure our mapping is up-to-date.
for (size_t i = 0; i < arraysize(trackers_); ++i)
DCHECK(trackers_[i]) << "Unhandled SourceType: " << i;
@@ -844,3 +846,30 @@ PassiveLogCollector::HttpPipelinedConnectionTracker::DoAddEntry(
}
return ACTION_NONE;
}
+
+//----------------------------------------------------------------------------
+// FileStreamTracker
+//----------------------------------------------------------------------------
+
+const size_t
+PassiveLogCollector::FileStreamTracker::kMaxNumSources = 100;
+
+const size_t
+PassiveLogCollector::FileStreamTracker::kMaxGraveyardSize = 25;
+
+PassiveLogCollector::
+ FileStreamTracker::FileStreamTracker()
+ : SourceTracker(kMaxNumSources, kMaxGraveyardSize, NULL) {
+}
+
+PassiveLogCollector::SourceTracker::Action
+PassiveLogCollector::FileStreamTracker::DoAddEntry(
+ const ChromeNetLog::Entry& entry,
+ SourceInfo* out_info) {
+ AddEntryToSourceInfo(entry, out_info);
+ if (entry.type == net::NetLog::TYPE_FILE_STREAM_ALIVE &&
+ entry.phase == net::NetLog::PHASE_END) {
+ return ACTION_MOVE_TO_GRAVEYARD;
+ }
+ return ACTION_NONE;
+}
diff --git a/chrome/browser/net/passive_log_collector.h b/chrome/browser/net/passive_log_collector.h
index 2cb9ab4..c3b8da5 100644
--- a/chrome/browser/net/passive_log_collector.h
+++ b/chrome/browser/net/passive_log_collector.h
@@ -446,6 +446,21 @@ class PassiveLogCollector : public ChromeNetLog::ThreadSafeObserverImpl {
DISALLOW_COPY_AND_ASSIGN(HttpPipelinedConnectionTracker);
};
+ // Tracks the log entries for the last seen SOURCE_FILESTREAM.
+ class FileStreamTracker : public SourceTracker {
+ public:
+ static const size_t kMaxNumSources;
+ static const size_t kMaxGraveyardSize;
+
+ FileStreamTracker();
+
+ private:
+ virtual Action DoAddEntry(const ChromeNetLog::Entry& entry,
+ SourceInfo* out_info) OVERRIDE;
+
+ DISALLOW_COPY_AND_ASSIGN(FileStreamTracker);
+ };
+
PassiveLogCollector();
virtual ~PassiveLogCollector();
@@ -492,6 +507,7 @@ class PassiveLogCollector : public ChromeNetLog::ThreadSafeObserverImpl {
UDPSocketTracker udp_socket_tracker_;
CertVerifierJobTracker cert_verifier_job_tracker_;
HttpPipelinedConnectionTracker http_pipelined_connection_tracker_;
+ FileStreamTracker file_stream_tracker_;
// This array maps each NetLog::SourceType to one of the tracker instances
// defined above. Use of this array avoid duplicating the list of trackers