diff --git a/inc/Engine/Common/PerformanceHints/ServiceProvider.php b/inc/Engine/Common/PerformanceHints/ServiceProvider.php index 1330e11e3a..7621867d0c 100644 --- a/inc/Engine/Common/PerformanceHints/ServiceProvider.php +++ b/inc/Engine/Common/PerformanceHints/ServiceProvider.php @@ -74,6 +74,7 @@ public function register(): void { $factory_array = [ $this->getContainer()->get( 'atf_factory' ), $this->getContainer()->get( 'lrc_factory' ), + $this->getContainer()->get( 'preload_fonts_factory' ), ]; foreach ( $factory_array as $factory ) { diff --git a/inc/Engine/Media/PreloadFonts/Factory.php b/inc/Engine/Media/PreloadFonts/Factory.php new file mode 100644 index 0000000000..1f5636fcb5 --- /dev/null +++ b/inc/Engine/Media/PreloadFonts/Factory.php @@ -0,0 +1,116 @@ +context = $context; + $this->table = $table; + $this->queries = $queries; + $this->ajax_controller = $ajax_controller; + $this->frontend_controller = $frontend_controller; + } + + /** + * Ajax controller object. + * + * @return AjaxControllerInterface + */ + public function get_ajax_controller(): AjaxControllerInterface { + return $this->ajax_controller; + } + + /** + * Frontend controller object. + * + * @return FrontendControllerInterface + */ + public function get_frontend_controller(): FrontendControllerInterface { + return $this->frontend_controller; + } + + /** + * Provides a Table object. + * + * @return TableInterface + */ + public function table(): TableInterface { + return $this->table; + } + + /** + * Provide Queries object. + * + * @return QueriesInterface + */ + public function queries(): QueriesInterface { + return $this->queries; + } + + /** + * Provide context interface. + * + * @return ContextInterface + */ + public function get_context(): ContextInterface { + return $this->context; + } +} diff --git a/inc/Engine/Media/PreloadFonts/ServiceProvider.php b/inc/Engine/Media/PreloadFonts/ServiceProvider.php index 3b316d97e1..ae716f868b 100644 --- a/inc/Engine/Media/PreloadFonts/ServiceProvider.php +++ b/inc/Engine/Media/PreloadFonts/ServiceProvider.php @@ -63,5 +63,16 @@ public function register(): void { ); $this->getContainer()->addShared( 'preload_fonts_frontend_subscriber', FrontendSubscriber::class ); + + $this->getContainer()->addShared( 'preload_fonts_factory', Factory::class ) + ->addArguments( + [ + $this->getContainer()->get( 'preload_fonts_ajax_controller' ), + '', + $this->getContainer()->get( 'preload_fonts_table' ), + $this->getContainer()->get( 'preload_fonts_query' ), + $this->getContainer()->get( 'preload_fonts_context' ), + ] + ); } }