only in patch2: unchanged: --- a/core/modules/menu_ui/src/Plugin/Menu/LocalAction/MenuLinkAdd.php +++ b/core/modules/menu_ui/src/Plugin/Menu/LocalAction/MenuLinkAdd.php @@ -6,6 +6,7 @@ use Drupal\Core\Routing\RedirectDestinationInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Routing\RouteProviderInterface; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -33,9 +34,11 @@ class MenuLinkAdd extends LocalActionDefault { * The route provider to load routes by name. * @param \Drupal\Core\Routing\RedirectDestinationInterface $redirect_destination * The redirect destination. + * @param \Symfony\Component\HttpFoundation\Request $request + * The current request. */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, RouteProviderInterface $route_provider, RedirectDestinationInterface $redirect_destination) { - parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider); + public function __construct(array $configuration, $plugin_id, $plugin_definition, RouteProviderInterface $route_provider, RedirectDestinationInterface $redirect_destination, Request $request) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider, $request); $this->redirectDestination = $redirect_destination; } @@ -49,7 +52,8 @@ public static function create(ContainerInterface $container, array $configuratio $plugin_id, $plugin_definition, $container->get('router.route_provider'), - $container->get('redirect.destination') + $container->get('redirect.destination'), + $container->get('request_stack')->getCurrentRequest(), ); } only in patch2: unchanged: --- a/core/modules/system/tests/modules/menu_test/src/Plugin/Menu/LocalAction/TestLocalActionWithConfig.php +++ b/core/modules/system/tests/modules/menu_test/src/Plugin/Menu/LocalAction/TestLocalActionWithConfig.php @@ -38,9 +38,11 @@ public function getTitle(Request $request = NULL) { * The route provider to load routes by name. * @param \Drupal\Core\Config\Config $config * The 'menu_test.links.action' config. + * @param \Symfony\Component\HttpFoundation\Request $request + * The current request. */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, RouteProviderInterface $route_provider, Config $config) { - parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider); + public function __construct(array $configuration, $plugin_id, $plugin_definition, RouteProviderInterface $route_provider, Config $config, Request $request) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider, $request); $this->config = $config; } @@ -54,7 +56,8 @@ public static function create(ContainerInterface $container, array $configuratio $plugin_id, $plugin_definition, $container->get('router.route_provider'), - $container->get('config.factory')->get('menu_test.links.action') + $container->get('config.factory')->get('menu_test.links.action'), + $container->get('request_stack')->getCurrentRequest() ); } only in patch2: unchanged: --- a/core/tests/Drupal/Tests/Core/Menu/LocalActionDefaultTest.php +++ b/core/tests/Drupal/Tests/Core/Menu/LocalActionDefaultTest.php @@ -57,6 +57,13 @@ class LocalActionDefaultTest extends UnitTestCase { */ protected $routeProvider; + /** + * The current request. + * + * @var \Symfony\Component\HttpFoundation\Request + */ + protected $request; + /** * {@inheritdoc} */ @@ -65,13 +72,14 @@ protected function setUp(): void { $this->stringTranslation = $this->createMock('Drupal\Core\StringTranslation\TranslationInterface'); $this->routeProvider = $this->createMock('Drupal\Core\Routing\RouteProviderInterface'); + $this->request = new Request(); } /** * Setups the local action default. */ protected function setupLocalActionDefault() { - $this->localActionDefault = new LocalActionDefault($this->config, $this->pluginId, $this->pluginDefinition, $this->routeProvider); + $this->localActionDefault = new LocalActionDefault($this->config, $this->pluginId, $this->pluginDefinition, $this->routeProvider, $this->request); } /**