Bug 863246 - Use system principal to load debugger scripts r=billm,bkelly

MozReview-Commit-ID: DPvbR1As2UV

--HG--
extra : rebase_source : c185be0d4d2180dd3dd7d0fbcfdd1035f3b4ddf3
This commit is contained in:
Chung-Sheng Fu 2017-08-07 15:55:39 +08:00
parent e5b80e9a8f
commit da32016d76

View File

@ -894,10 +894,19 @@ private:
{
AssertIsOnMainThread();
MOZ_ASSERT(aIndex < mLoadInfos.Length());
MOZ_ASSERT_IF(IsMainWorkerScript(), mWorkerScriptType != DebuggerScript);
WorkerPrivate* parentWorker = mWorkerPrivate->GetParent();
nsIPrincipal* principal = mWorkerPrivate->GetPrincipal();
// For JavaScript debugging, the devtools server must run on the same
// thread as the debuggee, indicating the worker uses content principal.
// However, in Bug 863246, web content will no longer be able to load
// resource:// URIs by default, so we need system principal to load
// debugger scripts.
nsIPrincipal* principal = (mWorkerScriptType == DebuggerScript) ?
nsContentUtils::GetSystemPrincipal() :
mWorkerPrivate->GetPrincipal();
nsCOMPtr<nsILoadGroup> loadGroup = mWorkerPrivate->GetLoadGroup();
MOZ_DIAGNOSTIC_ASSERT(principal);