From 9b6d04adaa6debad5772b616743fa4a55d385b47 Mon Sep 17 00:00:00 2001 From: Tonya Mork Date: Thu, 7 Sep 2023 17:28:59 +0000 Subject: [PATCH] Fonts: Removes static instance in wp_print_font_faces(). The static instance of `WP_Font_Face` is not needed. It was an unnecessary carryover from the experimental Fonts API (which was not introduced into Core). Whereas the Fonts API needed to persist its data (i.e. to maintain the registered and enqueued fonts throughout the web request), Font Face does not have data to persist. Font Face processes the fonts it receives when `WP_Font_Face::generate_and_print( $fonts )` is invoked. Thus, a singleton is not needed. Removing the static reduces the amount of the code in the function and eliminates running its tests in separate processes to ensure a different instance is always used. References: * [https://github.com/WordPress/gutenberg/pull/54228 Gutenberg PR 54228]. Follow-up to [56500]. Props hellofromTonya, costdev. Fixes #59165. git-svn-id: https://develop.svn.wordpress.org/trunk@56540 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/fonts.php | 6 +----- tests/phpunit/tests/fonts/font-face/wpPrintFontFaces.php | 8 +------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/wp-includes/fonts.php b/src/wp-includes/fonts.php index b628db18cf..306364bdc8 100644 --- a/src/wp-includes/fonts.php +++ b/src/wp-includes/fonts.php @@ -39,7 +39,6 @@ * } */ function wp_print_font_faces( $fonts = array() ) { - static $wp_font_face = null; if ( empty( $fonts ) ) { $fonts = WP_Font_Face_Resolver::get_fonts_from_theme_json(); @@ -49,9 +48,6 @@ function wp_print_font_faces( $fonts = array() ) { return; } - if ( null === $wp_font_face ) { - $wp_font_face = new WP_Font_Face(); - } - + $wp_font_face = new WP_Font_Face(); $wp_font_face->generate_and_print( $fonts ); } diff --git a/tests/phpunit/tests/fonts/font-face/wpPrintFontFaces.php b/tests/phpunit/tests/fonts/font-face/wpPrintFontFaces.php index aa8d9b1d2f..9cc67fb39a 100644 --- a/tests/phpunit/tests/fonts/font-face/wpPrintFontFaces.php +++ b/tests/phpunit/tests/fonts/font-face/wpPrintFontFaces.php @@ -6,17 +6,11 @@ * @subpackage Fonts * * @since 6.4.0 - */ -require_once __DIR__ . '/base.php'; - -/** + * * @group fonts * @group fontface * * @covers wp_print_font_faces - * - * @runTestsInSeparateProcesses - * @preserveGlobalState disabled */ class Tests_Fonts_WpPrintFontFaces extends WP_Font_Face_UnitTestCase { const FONTS_THEME = 'fonts-block-theme';