Bug 1897574 [Linux] Update MIME type conversions for D&D r=emilio

Fix wrong conversion orders introduced in Bug 1896863 where convert to/from is swapped.

Differential Revision: https://phabricator.services.mozilla.com/D210942
This commit is contained in:
stransky 2024-05-21 12:37:58 +00:00
parent c9faed31ae
commit 53e03a2808

View file

@ -1243,31 +1243,37 @@ nsDragService::IsDataFlavorSupported(const char* aDataFlavor, bool* _retval) {
*_retval = true;
return NS_OK;
}
if (requestedFlavor == sTextUriListTypeAtom &&
(IsDragFlavorAvailable(sURLMimeAtom) ||
IsDragFlavorAvailable(sFileMimeAtom))) {
// Check for file/url conversion from uri list
if ((requestedFlavor == sURLMimeAtom || requestedFlavor == sFileMimeAtom) &&
IsDragFlavorAvailable(sTextUriListTypeAtom)) {
LOGDRAGSERVICE(" %s supported with conversion from %s", aDataFlavor,
gTextUriListType);
*_retval = true;
return NS_OK;
}
// check for automatic _NETSCAPE_URL -> text/x-moz-url mapping
if (requestedFlavor == sMozUrlTypeAtom &&
IsDragFlavorAvailable(sURLMimeAtom)) {
if (requestedFlavor == sURLMimeAtom &&
IsDragFlavorAvailable(sMozUrlTypeAtom)) {
LOGDRAGSERVICE(" %s supported with conversion from %s", aDataFlavor,
gMozUrlType);
*_retval = true;
return NS_OK;
}
// check for file portal
// If we're asked for kURLMime/kFileMime we can convert gPortalFile
// or gPortalFileTransfer to it.
if ((requestedFlavor == sPortalFileAtom ||
requestedFlavor == sPortalFileTransferAtom) &&
(IsDragFlavorAvailable(sURLMimeAtom) ||
IsDragFlavorAvailable(sFileMimeAtom))) {
// If we're asked for kURLMime/kFileMime we can get it from PortalFile
// or PortalFileTransfer flavors.
if ((requestedFlavor == sURLMimeAtom || requestedFlavor == sFileMimeAtom) &&
(IsDragFlavorAvailable(sPortalFileAtom) ||
IsDragFlavorAvailable(sPortalFileTransferAtom))) {
LOGDRAGSERVICE(" %s supported with conversion from %s/%s", aDataFlavor,
gPortalFile, gPortalFileTransfer);
*_retval = true;
return NS_OK;
}
if (*_retval) {
LOGDRAGSERVICE(" %s supported with conversion", aDataFlavor);
}
if (!*_retval) {
LOGDRAGSERVICE(" %s is not supported", aDataFlavor);
}
return NS_OK;
}