Backed out changeset a28aa86d1ffe (bug 1354349)

This commit is contained in:
Carsten "Tomcat" Book 2017-04-18 08:51:03 +02:00
Родитель e773668920
Коммит 1c4a806242
1 изменённых файлов: 20 добавлений и 3 удалений

Просмотреть файл

@ -5035,10 +5035,27 @@ ContentParent::TransmitPermissionsFor(nsIChannel* aChannel)
{
MOZ_ASSERT(aChannel);
#ifdef MOZ_PERMISSIONS
// Check if this channel is going to be used to create a document. If it has
// LOAD_DOCUMENT_URI set it is trivially creating a document. If
// LOAD_HTML_OBJECT_DATA is set it may or may not be used to create a
// document, depending on its MIME type.
nsLoadFlags loadFlags;
nsresult rv = aChannel->GetLoadFlags(&loadFlags);
NS_ENSURE_SUCCESS(rv, rv);
nsresult rv;
if (!aChannel->IsDocument()) {
return NS_OK;
if (!(loadFlags & nsIChannel::LOAD_DOCUMENT_URI)) {
if (loadFlags & nsIRequest::LOAD_HTML_OBJECT_DATA) {
nsAutoCString mimeType;
aChannel->GetContentType(mimeType);
if (nsContentUtils::HtmlObjectContentTypeForMIMEType(mimeType, nullptr) !=
nsIObjectLoadingContent::TYPE_DOCUMENT) {
// The MIME type would not cause the creation of a document
return NS_OK;
}
} else {
// neither flag was set
return NS_OK;
}
}
// Get the principal for the channel result, so that we can get the permission