Bug 1348044 - Mark the channel as UrgentStart for top level document loading. r=smaug

The urgent-start classification will tell the network requests scheduler to perform it with the highest priority and also ignoring any parallelism or overall connection limits. Doing this for top level document load could increase the responsiveness to users.
This commit is contained in:
Kershaw Chang
2017-04-26 04:27:00 -04:00
parent df74f8d0ac
commit b60aef8b87

View File

@@ -199,6 +199,7 @@
#include "nsDocShellTransferableHooks.h"
#include "nsICommandManager.h"
#include "nsIDOMNode.h"
#include "nsIClassOfService.h"
#include "nsIDocShellTreeOwner.h"
#include "nsIHttpChannel.h"
#include "nsIIDNService.h"
@@ -11345,6 +11346,17 @@ nsDocShell::DoURILoad(nsIURI* aURI,
}
}
// Mark the http channel as UrgentStart for top level document loading
// in active tab.
if (mIsActive || (mLoadType & (LOAD_CMD_NORMAL | LOAD_CMD_HISTORY))) {
if (httpChannel && isTopLevelDoc) {
nsCOMPtr<nsIClassOfService> cos(do_QueryInterface(channel));
if (cos) {
cos->AddClassFlags(nsIClassOfService::UrgentStart);
}
}
}
rv = DoChannelLoad(channel, uriLoader, aBypassClassifier);
//