diff -u b/core/modules/system/lib/Drupal/system/Controller/SystemController.php b/core/modules/system/lib/Drupal/system/Controller/SystemController.php --- b/core/modules/system/lib/Drupal/system/Controller/SystemController.php +++ b/core/modules/system/lib/Drupal/system/Controller/SystemController.php @@ -10,8 +10,8 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\Core\Entity\Query\QueryFactory; +use Drupal\Core\Form\FormBuilder; use Drupal\Core\Theme\ThemeAccessCheck; -use Drupal\system\Form\ThemeAdminForm; use Drupal\Core\Access\CsrfTokenGenerator; use Drupal\system\SystemManager; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -51,6 +51,13 @@ protected $themeAccess; /** + * The form builder service. + * + * @var \Drupal\Core\Form\FormBuilder + */ + protected $formBuilder; + + /** * Constructs a new SystemController. * * @param \Drupal\system\SystemManager $systemManager @@ -61,12 +68,15 @@ * The token generator service. * @param \Drupal\Core\Theme\ThemeAccessCheck $theme_access * The theme access checker service. + * @param \Drupal\Core\Form\FormBuilder $form_builder + * The form builder service. */ - public function __construct(SystemManager $systemManager, QueryFactory $queryFactory, CsrfTokenGenerator $token_generator, ThemeAccessCheck $theme_access) { + public function __construct(SystemManager $systemManager, QueryFactory $queryFactory, CsrfTokenGenerator $token_generator, ThemeAccessCheck $theme_access, FormBuilder $form_builder) { $this->systemManager = $systemManager; $this->queryFactory = $queryFactory; $this->tokenGenerator = $token_generator; $this->themeAccess = $theme_access; + $this->formBuilder = $form_builder; } /** @@ -77,7 +87,8 @@ $container->get('system.manager'), $container->get('entity.query'), $container->get('csrf_token'), - $container->get('access_check.theme') + $container->get('access_check.theme'), + $container->get('form_builder') ); } @@ -314,7 +325,7 @@ '#theme_groups' => $theme_groups, '#theme_group_titles' => $theme_group_titles, ); - $build[] = \Drupal::formBuilder()->getForm(new ThemeAdminForm(), $admin_theme_options); + $build[] = $this->formBuilder->getForm('Drupal\system\Form\ThemeAdminForm', $admin_theme_options); return $build; }