Bug 1247464 - Run CSP report URIs through the URL classifier. r?ckerschb draft
authorFrancois Marier <francois@mozilla.com>
Thu, 11 Feb 2016 17:36:13 -0800
changeset 330599 3279b4b1241ae49b5e32315f7080f280b023a5af
parent 330467 576a6dcde5b68c2ea45324ed5ce1dabb7d833d09
child 514195 0c7eec0332776085ab97711bd542207017139795
push id10779
push userfmarier@mozilla.com
push dateFri, 12 Feb 2016 01:37:40 +0000
reviewersckerschb
bugs1247464
milestone47.0a1
Bug 1247464 - Run CSP report URIs through the URL classifier. r?ckerschb MozReview-Commit-ID: ERoZAbw1nbf
dom/security/nsCSPContext.cpp
--- a/dom/security/nsCSPContext.cpp
+++ b/dom/security/nsCSPContext.cpp
@@ -846,29 +846,36 @@ nsCSPContext::SendReports(nsISupports* a
       CSPCONTEXTLOG(("Could not create nsIURI for report URI %s",
                      reportURICstring.get()));
       logToConsole(MOZ_UTF16("triedToSendReport"), params, ArrayLength(params),
                    aSourceFile, aScriptSample, aLineNum, 0, nsIScriptError::errorFlag);
       continue; // don't return yet, there may be more URIs
     }
 
     // try to create a new channel for every report-uri
+    nsLoadFlags loadFlags = nsIRequest::LOAD_NORMAL | nsIChannel::LOAD_CLASSIFY_URI;
     if (doc) {
       rv = NS_NewChannel(getter_AddRefs(reportChannel),
                          reportURI,
                          doc,
                          nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
-                         nsIContentPolicy::TYPE_CSP_REPORT);
+                         nsIContentPolicy::TYPE_CSP_REPORT,
+                         nullptr, // aLoadGroup
+                         nullptr, // aCallbacks
+                         loadFlags);
     }
     else {
       rv = NS_NewChannel(getter_AddRefs(reportChannel),
                          reportURI,
                          mLoadingPrincipal,
                          nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
-                         nsIContentPolicy::TYPE_CSP_REPORT);
+                         nsIContentPolicy::TYPE_CSP_REPORT,
+                         nullptr, // aLoadGroup
+                         nullptr, // aCallbacks
+                         loadFlags);
     }
 
     if (NS_FAILED(rv)) {
       CSPCONTEXTLOG(("Could not create new channel for report URI %s",
                      reportURICstring.get()));
       continue; // don't return yet, there may be more URIs
     }