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));
}
}