Bug 1344374 - remove now-meaningless nsIRequest::INHIBIT_PIPELINE r=hurley
authorPatrick McManus <mcmanus@ducksong.com>
Fri, 03 Mar 2017 16:46:53 -0500
changeset 394976 9ca662a5712f945bf489e95fd460575a0e63ab26
parent 394975 e3e83bf54936a3bb7220b0b189709e0f2fedf43b
child 394977 c9b87d42837f3489398ce5dbd581e9a7ddb5c6b8
push id1468
push userasasaki@mozilla.com
push dateMon, 05 Jun 2017 19:31:07 +0000
treeherdermozilla-release@0641fc6ee9d1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewershurley
bugs1344374
milestone54.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1344374 - remove now-meaningless nsIRequest::INHIBIT_PIPELINE r=hurley
dom/html/HTMLMediaElement.cpp
dom/xhr/XMLHttpRequestMainThread.cpp
netwerk/base/nsIRequest.idl
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -6439,23 +6439,16 @@ nsresult HTMLMediaElement::GetBuffered(n
   return NS_OK;
 }
 
 void HTMLMediaElement::SetRequestHeaders(nsIHttpChannel* aChannel)
 {
   // Send Accept header for video and audio types only (Bug 489071)
   SetAcceptHeader(aChannel);
 
-  // Media elements are likely candidates for HTTP Pipeline head of line
-  // blocking problems, so disable pipelines.
-  nsLoadFlags loadflags;
-  aChannel->GetLoadFlags(&loadflags);
-  loadflags |= nsIRequest::INHIBIT_PIPELINE;
-  aChannel->SetLoadFlags(loadflags);
-
   // Apache doesn't send Content-Length when gzip transfer encoding is used,
   // which prevents us from estimating the video length (if explicit Content-Duration
   // and a length spec in the container are not present either) and from seeking.
   // So, disable the standard "Accept-Encoding: gzip,deflate" that we usually send.
   // See bug 614760.
   aChannel->SetRequestHeader(NS_LITERAL_CSTRING("Accept-Encoding"),
                              EmptyCString(), false);
 
--- a/dom/xhr/XMLHttpRequestMainThread.cpp
+++ b/dom/xhr/XMLHttpRequestMainThread.cpp
@@ -2638,20 +2638,16 @@ XMLHttpRequestMainThread::InitiateFetch(
   // Not doing this for privileged system XHRs since those don't use CORS.
   if (!IsSystemXHR() && !mIsAnon && mFlagACwithCredentials) {
     nsCOMPtr<nsILoadInfo> loadInfo = mChannel->GetLoadInfo();
     if (loadInfo) {
       static_cast<net::LoadInfo*>(loadInfo.get())->SetIncludeCookiesSecFlag();
     }
   }
 
-  // Blocking gets are common enough out of XHR that we should mark
-  // the channel slow by default for pipeline purposes
-  AddLoadFlags(mChannel, nsIRequest::INHIBIT_PIPELINE);
-
   // We never let XHR be blocked by head CSS/JS loads to avoid potential
   // deadlock where server generation of CSS/JS requires an XHR signal.
   nsCOMPtr<nsIClassOfService> cos(do_QueryInterface(mChannel));
   if (cos) {
     cos->AddClassFlags(nsIClassOfService::Unblocked);
   }
 
   // Disable Necko-internal response timeouts.
--- a/netwerk/base/nsIRequest.idl
+++ b/netwerk/base/nsIRequest.idl
@@ -124,23 +124,16 @@ interface nsIRequest : nsISupports
      */
     const unsigned long LOAD_BACKGROUND = 1 << 0;
 
     /**************************************************************************
      * The following flags control the flow of data into the cache.
      */
 
     /**
-     *  This flag prevents loading of the request with an HTTP pipeline.
-     *  Generally this is because the resource is expected to take a
-     *  while to load and may cause head of line blocking problems.
-     */
-    const unsigned long INHIBIT_PIPELINE = 1 << 6;
-
-    /**
      * This flag prevents caching of any kind.  It does not, however, prevent
      * cached content from being used to satisfy this request.
      */
     const unsigned long INHIBIT_CACHING = 1 << 7;
 
     /**
      * This flag prevents caching on disk (or other persistent media), which
      * may be needed to preserve privacy.