diff --git a/core/core.services.yml b/core/core.services.yml index 2799eaf..922a110 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -580,7 +580,7 @@ services: - { name: event_subscriber } arguments: ['@html_fragment_renderer', '@html_page_renderer'] render_array_renderer: - class: Drupal\Core\Page\RenderHtmlFragmentConverter + class: Drupal\Core\Page\RenderHtmlRenderer arguments: ['@url_generator'] html_fragment_renderer: class: Drupal\Core\Page\DefaultHtmlFragmentRenderer @@ -678,7 +678,7 @@ services: arguments: ['@config.manager', '@config.storage', '@config.storage.snapshot'] exception_controller: class: Drupal\Core\Controller\ExceptionController - arguments: ['@content_negotiation', '@title_resolver', '@html_page_renderer', '@html_fragment_renderer', '@string_translation'] + arguments: ['@content_negotiation', '@title_resolver', '@html_page_renderer', '@html_fragment_renderer', '@string_translation', '@render_array_renderer'] calls: - [setContainer, ['@service_container']] exception_listener: diff --git a/core/lib/Drupal/Core/Controller/ExceptionController.php b/core/lib/Drupal/Core/Controller/ExceptionController.php index db4807b..01a4253 100644 --- a/core/lib/Drupal/Core/Controller/ExceptionController.php +++ b/core/lib/Drupal/Core/Controller/ExceptionController.php @@ -10,7 +10,7 @@ use Drupal\Core\Page\DefaultHtmlPageRenderer; use Drupal\Core\Page\HtmlFragmentRendererInterface; use Drupal\Core\Page\HtmlPageRendererInterface; -use Drupal\Core\Page\RenderHtmlFragmentConverter; +use Drupal\Core\Page\RenderHtmlRenderer; use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Request; @@ -74,10 +74,10 @@ class ExceptionController extends HtmlControllerBase implements ContainerAwareIn * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation * The url generator. * @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator - * @param \Drupal\Core\Page\RenderHtmlFragmentConverter + * @param \Drupal\Core\Page\RenderHtmlRenderer * The render array converter. */ - public function __construct(ContentNegotiation $negotiation, TitleResolverInterface $title_resolver, HtmlPageRendererInterface $renderer, HtmlFragmentRendererInterface $fragment_renderer, TranslationInterface $string_translation, RenderHtmlFragmentConverter $render_converter) { + public function __construct(ContentNegotiation $negotiation, TitleResolverInterface $title_resolver, HtmlPageRendererInterface $renderer, HtmlFragmentRendererInterface $fragment_renderer, TranslationInterface $string_translation, RenderHtmlRenderer $render_converter) { parent::__construct($title_resolver, $render_converter); $this->negotiation = $negotiation; $this->htmlPageRenderer = $renderer; diff --git a/core/lib/Drupal/Core/Controller/HtmlControllerBase.php b/core/lib/Drupal/Core/Controller/HtmlControllerBase.php index 484d041..9bab08e 100644 --- a/core/lib/Drupal/Core/Controller/HtmlControllerBase.php +++ b/core/lib/Drupal/Core/Controller/HtmlControllerBase.php @@ -8,7 +8,7 @@ namespace Drupal\Core\Controller; use Drupal\Core\Page\HtmlFragment; -use Drupal\Core\Page\RenderHtmlFragmentConverter; +use Drupal\Core\Page\RenderHtmlRenderer; use Drupal\Core\Utility\Title; use Symfony\Cmf\Component\Routing\RouteObjectInterface; use Symfony\Component\HttpFoundation\Request; @@ -29,7 +29,7 @@ class HtmlControllerBase { /** * The render array converter. * - * @var \Drupal\Core\Page\RenderHtmlFragmentConverter + * @var \Drupal\Core\Page\RenderHtmlRenderer */ protected $renderConverter; @@ -40,10 +40,10 @@ class HtmlControllerBase { * The title resolver. * @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator * The url generator. - * @param \Drupal\Core\Page\RenderHtmlFragmentConverter + * @param \Drupal\Core\Page\RenderHtmlRenderer * The render array converter. */ - public function __construct(TitleResolverInterface $title_resolver, RenderHtmlFragmentConverter $render_converter) { + public function __construct(TitleResolverInterface $title_resolver, RenderHtmlRenderer $render_converter) { $this->titleResolver = $title_resolver; $this->renderConverter = $render_converter; } diff --git a/core/lib/Drupal/Core/Controller/HtmlPageController.php b/core/lib/Drupal/Core/Controller/HtmlPageController.php index 10034b5..8cbbf60 100644 --- a/core/lib/Drupal/Core/Controller/HtmlPageController.php +++ b/core/lib/Drupal/Core/Controller/HtmlPageController.php @@ -7,7 +7,7 @@ namespace Drupal\Core\Controller; -use Drupal\Core\Page\RenderHtmlFragmentConverter; +use Drupal\Core\Page\RenderHtmlRenderer; use Drupal\Core\Routing\UrlGeneratorInterface; use Symfony\Component\HttpFoundation\Request; @@ -32,10 +32,10 @@ class HtmlPageController extends HtmlControllerBase { * The title resolver. * @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator * The url generator. - * @param \Drupal\Core\Page\RenderHtmlFragmentConverter + * @param \Drupal\Core\Page\RenderHtmlRenderer * The render array converter. */ - public function __construct(ControllerResolverInterface $controller_resolver, TitleResolverInterface $title_resolver, RenderHtmlFragmentConverter $render_converter) { + public function __construct(ControllerResolverInterface $controller_resolver, TitleResolverInterface $title_resolver, RenderHtmlRenderer $render_converter) { parent::__construct($title_resolver, $render_converter); $this->controllerResolver = $controller_resolver; diff --git a/core/lib/Drupal/Core/Page/RenderHtmlFragmentConverter.php b/core/lib/Drupal/Core/Page/RenderHtmlRenderer.php similarity index 83% rename from core/lib/Drupal/Core/Page/RenderHtmlFragmentConverter.php rename to core/lib/Drupal/Core/Page/RenderHtmlRenderer.php index 3f79159..294c128 100644 --- a/core/lib/Drupal/Core/Page/RenderHtmlFragmentConverter.php +++ b/core/lib/Drupal/Core/Page/RenderHtmlRenderer.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\Core\Page\RenderHtmlFragmentConverter. + * Contains \Drupal\Core\Page\RenderHtmlRenderer. */ namespace Drupal\Core\Page; @@ -10,7 +10,7 @@ use Drupal\Core\Routing\UrlGeneratorInterface; use Drupal\Core\Utility\Title; -class RenderHtmlFragmentConverter { +class RenderHtmlRenderer { /** * @var \Drupal\Core\Routing\UrlGeneratorInterface @@ -18,7 +18,7 @@ class RenderHtmlFragmentConverter { protected $urlGenerator; /** - * Constructs a new RenderHtmlFragmentConverter. + * Constructs a new RenderHtmlRenderer. * * @param UrlGeneratorInterface $generator * The URL Generator service. @@ -30,12 +30,13 @@ public function __construct(UrlGeneratorInterface $generator) { /** * Converts a render array into a corresponding HtmlFragment object. * - * @param array $render_array - * The render array to convert. + * @param array|string $render_array + * The render array to convert. A string may also be passed, in which case + * it will be treated as a a render array with just a #markup property. * @return HtmlFragment * The equivalent HtmlFragment object. */ - public function render(array $render_array) { + public function render($render_array) { if (!is_array($render_array)) { $render_array = array( 'main' => array( @@ -48,8 +49,6 @@ public function render(array $render_array) { $cache = !empty($render_array['#cache']['tags']) ? ['tags' => $render_array['#cache']['tags']] : []; $fragment = new HtmlFragment($content, $cache); - - // A title defined in the return always wins. if (isset($render_array['#title'])) { $fragment->setTitle($render_array['#title'], Title::FILTER_XSS_ADMIN);