diff --git a/core/modules/system/lib/Drupal/system/Controller/ThemeController.php b/core/modules/system/lib/Drupal/system/Controller/ThemeController.php index 9baaf48..4b95c00 100644 --- a/core/modules/system/lib/Drupal/system/Controller/ThemeController.php +++ b/core/modules/system/lib/Drupal/system/Controller/ThemeController.php @@ -9,9 +9,10 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Extension\ThemeHandlerInterface; +use Drupal\Core\Routing\RouteBuilderInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; -use Symfony\Component\DependencyInjection\ContainerInterface; /** * Controller for theme handling. @@ -26,13 +27,23 @@ class ThemeController extends ControllerBase { protected $themeHandler; /** + * The route builder service. + * + * @var \Drupal\Core\Routing\RouteBuilderInterface + */ + protected $routeBuilder; + + /** * Constructs a new ThemeController. * * @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler * The theme handler. + * @param \Drupal\Core\Routing\RouteBuilderInterface $route_builder + * The route builder. */ - public function __construct(ThemeHandlerInterface $theme_handler) { + public function __construct(ThemeHandlerInterface $theme_handler, RouteBuilderInterface $route_builder) { $this->themeHandler = $theme_handler; + $this->routeBuilder = $route_builder; } /** @@ -40,7 +51,8 @@ public function __construct(ThemeHandlerInterface $theme_handler) { */ public static function create(ContainerInterface $container) { return new static( - $container->get('theme_handler') + $container->get('theme_handler'), + $container->get('route.builder') ); } @@ -151,7 +163,7 @@ public function setDefaultTheme(Request $request) { // Set the default theme. $config->set('default', $theme)->save(); - \Drupal::service('router.builder')->setRebuildNeeded(); + $this->routeBuilder->setRebuildNeeded(); // The status message depends on whether an admin theme is currently in // use: a value of 0 means the admin theme is set to be the default