@@ -40,11 +40,12 @@ it('Safari Desktop', async ({ browser, browserName, platform, httpsServer, chann
4040 deviceScaleFactor : 2 ,
4141 ignoreHTTPSErrors : true ,
4242 } ) ;
43- const { actual, expected } = await checkFeatures ( 'safari-18 ' , context , httpsServer ) ;
43+ const { actual, expected } = await checkFeatures ( 'safari-26 ' , context , httpsServer ) ;
4444
45- expected . pushmanager = false ;
46- expected . devicemotion2 = false ;
47- expected . deviceorientation3 = false ;
45+ // Shipping Safari exposes `font-display` as a settable CSS property (element.style.fontDisplay === ''),
46+ // but open-source WebKit keeps it a @font-face descriptor only, so it is undefined here. No runtime
47+ // flag bridges the gap, hence the override.
48+ expected . fontdisplay = false ;
4849
4950 delete expected . webglextensions ;
5051 delete actual . webglextensions ;
@@ -96,7 +97,7 @@ it('Mobile Safari', async ({ playwright, browser, browserName, platform, httpsSe
9697 ...iPhone ,
9798 ignoreHTTPSErrors : true ,
9899 } ) ;
99- const { actual, expected } = await checkFeatures ( 'mobile-safari-18 ' , context , httpsServer ) ;
100+ const { actual, expected } = await checkFeatures ( 'mobile-safari-26 ' , context , httpsServer ) ;
100101
101102 {
102103 // All platforms.
@@ -108,6 +109,11 @@ it('Mobile Safari', async ({ playwright, browser, browserName, platform, httpsSe
108109 expected . mediasource = true ;
109110 expected . scrolltooptions = false ;
110111
112+ // Shipping Safari exposes `font-display` as a settable CSS property (element.style.fontDisplay === ''),
113+ // but open-source WebKit keeps it a @font-face descriptor only, so it is undefined here. No runtime
114+ // flag bridges the gap, hence the override.
115+ expected . fontdisplay = false ;
116+
111117 delete expected . webglextensions ;
112118 delete actual . webglextensions ;
113119 expected . audio = ! ! expected . audio ;
0 commit comments