Bug 1312954 - Part 10: Add an assertion to make sure every code path of gecko uses speculativeConnect2 correctly. r?ckerschb
--- a/netwerk/base/nsIOService.cpp
+++ b/netwerk/base/nsIOService.cpp
@@ -1796,16 +1796,18 @@ nsIOService::SpeculativeConnectInternal(
// reward is slim with tcp peers closely located to the browser.
nsresult rv;
nsCOMPtr<nsIProtocolProxyService> pps =
do_GetService(NS_PROTOCOLPROXYSERVICE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIPrincipal> loadingPrincipal = aPrincipal;
+ NS_ASSERTION(aPrincipal, "We expect passing a principal here.");
+
// If the principal is given, we use this prinicpal directly. Otherwise,
// we fallback to use the system principal.
if (!aPrincipal) {
nsCOMPtr<nsIScriptSecurityManager> secMan(
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv));
NS_ENSURE_SUCCESS(rv, rv);
rv = secMan->GetSystemPrincipal(getter_AddRefs(loadingPrincipal));
NS_ENSURE_SUCCESS(rv, rv);