зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset a28aa86d1ffe (bug 1354349)
This commit is contained in:
Родитель
e773668920
Коммит
1c4a806242
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче