TmpNSRect := FWebBrowser.FWebView_Cocoa.bounds;
TmpNSSize := FWebBrowser.FWebView_Cocoa.bounds.size;
TmpNSBitmapRep := FWebBrowser.FWebView_Cocoa.bitmapImageRepForCachingDisplayInRect(TmpNSRect);
TmpNSBitmapRep.setSize(TmpNSSize);
FWebBrowser.FWebView_Cocoa.cacheDisplayInRect_toBitmapImageRep(TmpNSRect, TmpNSBitmapRep);
TmpNSData := TmpNSBitmapRep.representationUsingType_properties(NSBMPFileType, nil);
TmpMemStream := TmsOverlayFixedMemoryStream.Create; // dummy stream that does no allocation/deallocation
TmpMemStream.SetPointer(TmpNSDataRef.Bytes, TmpNSData.Length);
Result := TBitmap.Create;
Result.LoadFromStream(TmpMemStream);