Split URL_REQUEST_DELEGATE into per-delegate logs.

Before, one must guess from context which delegate was called:

t=2141 [st=  0] +REQUEST_ALIVE  [dt=301]
                 --> priority = "HIGHEST"
                 --> url = "https://example.com/"
t=2141 [st=  0]    URL_REQUEST_DELEGATE  [dt=1]
t=2142 [st=  1]   +URL_REQUEST_START_JOB  [dt=298]
                   --> load_flags = 18432 (MAIN_FRAME_DEPRECATED | MAYBE_USER_GESTURE)
                   --> method = "GET"
                   --> url = "https://example.com/"
t=2142 [st=  1]      URL_REQUEST_DELEGATE  [dt=0]
t=2142 [st=  1]      HTTP_CACHE_GET_BACKEND  [dt=0]
t=2142 [st=  1]      HTTP_CACHE_OPEN_ENTRY  [dt=0]
                     --> net_error = -2 (ERR_FAILED)

Now it is spelled out explicitly:

t=2141 [st=  0] +REQUEST_ALIVE  [dt=301]
                 --> priority = "HIGHEST"
                 --> url = "https://example.com/"
t=2141 [st=  0]    NETWORK_DELEGATE_BEFORE_URL_REQUEST  [dt=1]
t=2142 [st=  1]   +URL_REQUEST_START_JOB  [dt=298]
                   --> load_flags = 18432 (MAIN_FRAME_DEPRECATED | MAYBE_USER_GESTURE)
                   --> method = "GET"
                   --> url = "https://example.com/"
t=2142 [st=  1]      NETWORK_DELEGATE_BEFORE_START_TRANSACTION  [dt=0]
t=2142 [st=  1]      HTTP_CACHE_GET_BACKEND  [dt=0]
t=2142 [st=  1]      HTTP_CACHE_OPEN_ENTRY  [dt=0]
                     --> net_error = -2 (ERR_FAILED)

(Okay, I cheated and made the "before" example by editting the "after" one, but
whatever.)

Bug: none
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Ie5fe7b4405c2389eaece479ff1c93774fe18b8ba
Reviewed-on: https://chromium-review.googlesource.com/1096083
Reviewed-by: Matt Menke <[email protected]>
Commit-Queue: David Benjamin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#566632}
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index 377fb8e..63a0ce6 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -5950,17 +5950,21 @@
   size_t log_position = 0;
   TestNetLogEntry::List entries;
   net_log_.GetEntries(&entries);
-  for (size_t i = 0; i < 3; ++i) {
+  static const NetLogEventType kExpectedEvents[] = {
+      NetLogEventType::NETWORK_DELEGATE_BEFORE_URL_REQUEST,
+      NetLogEventType::NETWORK_DELEGATE_BEFORE_START_TRANSACTION,
+      NetLogEventType::NETWORK_DELEGATE_HEADERS_RECEIVED,
+  };
+  for (NetLogEventType event : kExpectedEvents) {
+    SCOPED_TRACE(NetLog::EventTypeToString(event));
     log_position = ExpectLogContainsSomewhereAfter(
-        entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE,
-        NetLogEventPhase::BEGIN);
+        entries, log_position + 1, event, NetLogEventPhase::BEGIN);
 
     log_position = AsyncDelegateLogger::CheckDelegateInfo(entries,
                                                           log_position + 1);
 
     ASSERT_LT(log_position, entries.size());
-    EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE,
-              entries[log_position].type);
+    EXPECT_EQ(event, entries[log_position].type);
     EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase);
   }
 
@@ -6001,39 +6005,41 @@
   size_t log_position = 0;
   TestNetLogEntry::List entries;
   net_log_.GetEntries(&entries);
-  // The NetworkDelegate logged information in OnBeforeURLRequest,
-  // OnBeforeStartTransaction, and OnHeadersReceived.
-  for (size_t i = 0; i < 3; ++i) {
+  static const NetLogEventType kExpectedEvents[] = {
+      NetLogEventType::NETWORK_DELEGATE_BEFORE_URL_REQUEST,
+      NetLogEventType::NETWORK_DELEGATE_BEFORE_START_TRANSACTION,
+      NetLogEventType::NETWORK_DELEGATE_HEADERS_RECEIVED,
+  };
+  for (NetLogEventType event : kExpectedEvents) {
+    SCOPED_TRACE(NetLog::EventTypeToString(event));
     log_position = ExpectLogContainsSomewhereAfter(
-        entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE,
-        NetLogEventPhase::BEGIN);
+        entries, log_position + 1, event, NetLogEventPhase::BEGIN);
 
-    log_position = AsyncDelegateLogger::CheckDelegateInfo(entries,
-                                                          log_position + 1);
+    log_position =
+        AsyncDelegateLogger::CheckDelegateInfo(entries, log_position + 1);
 
     ASSERT_LT(log_position, entries.size());
-    EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE,
-              entries[log_position].type);
+    EXPECT_EQ(event, entries[log_position].type);
     EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase);
   }
 
   // The URLRequest::Delegate then gets informed about the redirect.
   log_position = ExpectLogContainsSomewhereAfter(
-      entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE,
+      entries, log_position + 1,
+      NetLogEventType::URL_REQUEST_DELEGATE_RECEIVED_REDIRECT,
       NetLogEventPhase::BEGIN);
 
   // The NetworkDelegate logged information in the same three events as before.
-  for (size_t i = 0; i < 3; ++i) {
+  for (NetLogEventType event : kExpectedEvents) {
+    SCOPED_TRACE(NetLog::EventTypeToString(event));
     log_position = ExpectLogContainsSomewhereAfter(
-        entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE,
-        NetLogEventPhase::BEGIN);
+        entries, log_position + 1, event, NetLogEventPhase::BEGIN);
 
     log_position = AsyncDelegateLogger::CheckDelegateInfo(entries,
                                                           log_position + 1);
 
     ASSERT_LT(log_position, entries.size());
-    EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE,
-              entries[log_position].type);
+    EXPECT_EQ(event, entries[log_position].type);
     EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase);
   }
 
@@ -6074,21 +6080,24 @@
   size_t log_position = 0;
   TestNetLogEntry::List entries;
   net_log_.GetEntries(&entries);
-  // The NetworkDelegate should have logged information in OnBeforeURLRequest,
-  // OnBeforeStartTransaction, OnHeadersReceived, OnAuthRequired, and then again
-  // in
-  // OnBeforeURLRequest and OnBeforeStartTransaction.
-  for (size_t i = 0; i < 6; ++i) {
+  static const NetLogEventType kExpectedEvents[] = {
+      NetLogEventType::NETWORK_DELEGATE_BEFORE_URL_REQUEST,
+      NetLogEventType::NETWORK_DELEGATE_BEFORE_START_TRANSACTION,
+      NetLogEventType::NETWORK_DELEGATE_HEADERS_RECEIVED,
+      NetLogEventType::NETWORK_DELEGATE_AUTH_REQUIRED,
+      NetLogEventType::NETWORK_DELEGATE_BEFORE_START_TRANSACTION,
+      NetLogEventType::NETWORK_DELEGATE_HEADERS_RECEIVED,
+  };
+  for (NetLogEventType event : kExpectedEvents) {
+    SCOPED_TRACE(NetLog::EventTypeToString(event));
     log_position = ExpectLogContainsSomewhereAfter(
-        entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE,
-        NetLogEventPhase::BEGIN);
+        entries, log_position + 1, event, NetLogEventPhase::BEGIN);
 
-    log_position = AsyncDelegateLogger::CheckDelegateInfo(entries,
-                                                          log_position + 1);
+    log_position =
+        AsyncDelegateLogger::CheckDelegateInfo(entries, log_position + 1);
 
     ASSERT_LT(log_position, entries.size());
-    EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE,
-              entries[log_position].type);
+    EXPECT_EQ(event, entries[log_position].type);
     EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase);
   }
 
@@ -6136,21 +6145,26 @@
 
   // The delegate info should only have been logged on header complete.  Other
   // times it should silently be ignored.
+  EXPECT_FALSE(LogContainsEntryWithTypeAfter(
+      entries, 0, NetLogEventType::NETWORK_DELEGATE_BEFORE_URL_REQUEST));
   log_position = ExpectLogContainsSomewhereAfter(
-      entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE,
+      entries, log_position + 1,
+      NetLogEventType::URL_REQUEST_DELEGATE_RESPONSE_STARTED,
       NetLogEventPhase::BEGIN);
 
-  log_position = AsyncDelegateLogger::CheckDelegateInfo(entries,
-                                                        log_position + 1);
+  log_position =
+      AsyncDelegateLogger::CheckDelegateInfo(entries, log_position + 1);
 
   ASSERT_LT(log_position, entries.size());
-  EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, entries[log_position].type);
+  EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE_RESPONSE_STARTED,
+            entries[log_position].type);
   EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase);
 
   EXPECT_FALSE(LogContainsEntryWithTypeAfter(entries, log_position + 1,
                                              NetLogEventType::DELEGATE_INFO));
   EXPECT_FALSE(LogContainsEntryWithTypeAfter(
-      entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE));
+      entries, log_position + 1,
+      NetLogEventType::URL_REQUEST_DELEGATE_RESPONSE_STARTED));
 }
 #endif  // !defined(OS_IOS)
 
@@ -6184,24 +6198,25 @@
   // Delegate info should only have been logged in OnReceivedRedirect and
   // OnResponseStarted.
   size_t log_position = 0;
-  for (int i = 0; i < 2; ++i) {
-    log_position = ExpectLogContainsSomewhereAfter(
-        entries, log_position, NetLogEventType::URL_REQUEST_DELEGATE,
-        NetLogEventPhase::BEGIN);
+  static const NetLogEventType kExpectedEvents[] = {
+      NetLogEventType::URL_REQUEST_DELEGATE_RECEIVED_REDIRECT,
+      NetLogEventType::URL_REQUEST_DELEGATE_RESPONSE_STARTED,
+  };
+  for (NetLogEventType event : kExpectedEvents) {
+    SCOPED_TRACE(NetLog::EventTypeToString(event));
+    log_position = ExpectLogContainsSomewhereAfter(entries, log_position, event,
+                                                   NetLogEventPhase::BEGIN);
 
-    log_position = AsyncDelegateLogger::CheckDelegateInfo(entries,
-                                                          log_position + 1);
+    log_position =
+        AsyncDelegateLogger::CheckDelegateInfo(entries, log_position + 1);
 
     ASSERT_LT(log_position, entries.size());
-    EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE,
-              entries[log_position].type);
+    EXPECT_EQ(event, entries[log_position].type);
     EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase);
   }
 
   EXPECT_FALSE(LogContainsEntryWithTypeAfter(entries, log_position + 1,
                                              NetLogEventType::DELEGATE_INFO));
-  EXPECT_FALSE(LogContainsEntryWithTypeAfter(
-      entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE));
 }
 
 // Tests handling of delegate info from a URLRequest::Delegate in the case of
@@ -6215,9 +6230,8 @@
     AsyncLoggingUrlRequestDelegate::CANCEL_ON_READ_COMPLETED,
   };
 
-  for (size_t test_case = 0; test_case < arraysize(kCancelStages);
-       ++test_case) {
-    AsyncLoggingUrlRequestDelegate request_delegate(kCancelStages[test_case]);
+  for (auto cancel_stage : kCancelStages) {
+    AsyncLoggingUrlRequestDelegate request_delegate(cancel_stage);
     TestNetLog net_log;
     TestURLRequestContext context(true);
     context.set_network_delegate(NULL);
@@ -6246,24 +6260,25 @@
     // OnResponseStarted delegate call is after cancellation, but logging is
     // still currently supported in that call.
     size_t log_position = 0;
-    for (int i = 0; i < 2; ++i) {
+    static const NetLogEventType kExpectedEvents[] = {
+        NetLogEventType::URL_REQUEST_DELEGATE_RECEIVED_REDIRECT,
+        NetLogEventType::URL_REQUEST_DELEGATE_RESPONSE_STARTED,
+    };
+    for (NetLogEventType event : kExpectedEvents) {
+      SCOPED_TRACE(NetLog::EventTypeToString(event));
       log_position = ExpectLogContainsSomewhereAfter(
-          entries, log_position, NetLogEventType::URL_REQUEST_DELEGATE,
-          NetLogEventPhase::BEGIN);
+          entries, log_position, event, NetLogEventPhase::BEGIN);
 
-      log_position = AsyncDelegateLogger::CheckDelegateInfo(entries,
-                                                            log_position + 1);
+      log_position =
+          AsyncDelegateLogger::CheckDelegateInfo(entries, log_position + 1);
 
       ASSERT_LT(log_position, entries.size());
-      EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE,
-                entries[log_position].type);
+      EXPECT_EQ(event, entries[log_position].type);
       EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase);
     }
 
     EXPECT_FALSE(LogContainsEntryWithTypeAfter(entries, log_position + 1,
                                                NetLogEventType::DELEGATE_INFO));
-    EXPECT_FALSE(LogContainsEntryWithTypeAfter(
-        entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE));
   }
 }