Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / lib / Drupal / Core / Controller / TitleResolver.php
index 954835d7549a1447ba977eae6a7de006ab01c26e..85fce7732c1036c710504c34d2f4be0d5eeff06b 100644 (file)
@@ -5,6 +5,7 @@ namespace Drupal\Core\Controller;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslationInterface;
 use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface;
 use Symfony\Component\Routing\Route;
 
 /**
@@ -20,6 +21,13 @@ class TitleResolver implements TitleResolverInterface {
    */
   protected $controllerResolver;
 
+  /**
+   * The argument resolver.
+   *
+   * @var \Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface
+   */
+  protected $argumentResolver;
+
   /**
    * Constructs a TitleResolver instance.
    *
@@ -27,10 +35,13 @@ class TitleResolver implements TitleResolverInterface {
    *   The controller resolver.
    * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
    *   The translation manager.
+   * @param \Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface $argument_resolver
+   *   The argument resolver.
    */
-  public function __construct(ControllerResolverInterface $controller_resolver, TranslationInterface $string_translation) {
+  public function __construct(ControllerResolverInterface $controller_resolver, TranslationInterface $string_translation, ArgumentResolverInterface $argument_resolver) {
     $this->controllerResolver = $controller_resolver;
     $this->stringTranslation = $string_translation;
+    $this->argumentResolver = $argument_resolver;
   }
 
   /**
@@ -43,7 +54,7 @@ class TitleResolver implements TitleResolverInterface {
     // trying to use empty values.
     if ($callback = $route->getDefault('_title_callback')) {
       $callable = $this->controllerResolver->getControllerFromDefinition($callback);
-      $arguments = $this->controllerResolver->getArguments($request, $callable);
+      $arguments = $this->argumentResolver->getArguments($request, $callable);
       $route_title = call_user_func_array($callable, $arguments);
     }
     elseif ($title = $route->getDefault('_title')) {