Bug 1629533: Fix an issue that prevented some icons from drawing in the macOS share menu. r=mstange

Differential Revision: https://phabricator.services.mozilla.com/D71871
This commit is contained in:
Stephen A Pohl 2020-05-01 22:30:46 +00:00
Родитель d20e015fa0
Коммит 5a60bc58b1
1 изменённых файлов: 4 добавлений и 4 удалений

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

@ -78,12 +78,12 @@ NSString* const openSharingSubpaneProtocolValue = @"com.apple.share-services";
@end
static NSString* NSImageToBase64(const NSImage* aImage) {
NSRect rect = NSMakeRect(0, 0, aImage.size.width, aImage.size.height);
NSImageRep* bestRep = [aImage bestRepresentationForRect:rect context:nil hints:nil];
NSData* tiffData = [NSBitmapImageRep TIFFRepresentationOfImageRepsInArray:@[ bestRep ]];
NSBitmapImageRep* bitmapRep = [NSBitmapImageRep imageRepWithData:tiffData];
CGImageRef cgRef = [aImage CGImageForProposedRect:nil context:nil hints:nil];
NSBitmapImageRep* bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage:cgRef];
[bitmapRep setSize:[aImage size]];
NSData* imageData = [bitmapRep representationUsingType:NSPNGFileType properties:@{}];
NSString* base64Encoded = [imageData base64EncodedStringWithOptions:0];
[bitmapRep release];
return [NSString stringWithFormat:@"data:image/png;base64,%@", base64Encoded];
}