Generalize the net module's LoadLog facility from a passive container, to an event stream (NetLog).

This makes it possible to associate a single NetLog with a URLRequestContext, and then attach observers to that log to watch the stream of events.

This changelist attempts to do the most direct translation, so there will be subsequent iterations to clean up.

The user-visible behavior should remain unchanged.

BUG=37421

Review URL: http://codereview.chromium.org/848006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41689 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/io_thread.h b/chrome/browser/io_thread.h
index 6de1bae4..404f69e 100644
--- a/chrome/browser/io_thread.h
+++ b/chrome/browser/io_thread.h
@@ -13,6 +13,7 @@
 #include "chrome/common/net/dns.h"
 #include "net/base/host_resolver.h"
 
+class ChromeNetLog;
 class ListValue;
 
 namespace chrome_browser_net {
@@ -27,6 +28,7 @@
 class IOThread : public BrowserProcessSubThread {
  public:
   struct Globals {
+    scoped_ptr<ChromeNetLog> net_log;
     scoped_ptr<net::NetworkChangeNotifier> network_change_notifier;
     // TODO(willchan): Stop reference counting HostResolver.  It's owned by
     // IOThread now.