It looks to me like the test displays a network error page, which should trigger an auto-reload, and waits for that reload to succeed.
At that point, the renderer process (NetErrorHelperCore, specifically) starts a 5 second timer to try and reload the page again, but the test interrupts it with a manual reload (Which should interrupt the timer, and show yet another error page). It looks like the ui_test_utils::NavigateToURLBlockUntilNavigationsComplete call on line 1107 is somehow wait until that 5 second timer has completed, and the second auto-reload attempt has completed (and failed).
I am a bit confused as to why kRequestsToFail is 3, and not 2, since I count only two failing requests.
Talked to khorimoto about this. The issue is likely that the feature in question is issuing network requests to a google URL by default. All hostnames are mapped to localhost in tests, so we're trying to establish an HTTPS connection to localhost, which we probably shouldn't be doing. In addition, that particular test is intercepting requests without checking the hostname. We could modify the test, but I actually think we want to not be sending out extra network requests to localhost, and hope they don't do anything weird, in browser tests.
Comment 1 by khorimoto@chromium.org
, Oct 12