diff --git a/core/core.services.yml b/core/core.services.yml index c07c2f8..6ac5a73 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -636,7 +636,7 @@ services: - { name: event_subscriber } controller.page: class: Drupal\Core\Controller\HtmlPageController - arguments: ['@controller_resolver', '@title_resolver', '@render_array_renderer'] + arguments: ['@controller_resolver', '@title_resolver', '@render_html_renderer'] controller.ajax: class: Drupal\Core\Controller\AjaxController arguments: ['@controller_resolver', '@ajax_response_renderer'] @@ -662,7 +662,7 @@ services: tags: - { name: event_subscriber } arguments: ['@html_fragment_renderer', '@html_page_renderer'] - render_array_renderer: + render_html_renderer: class: Drupal\Core\Page\RenderHtmlRenderer arguments: ['@url_generator'] html_fragment_renderer: diff --git a/core/lib/Drupal/Core/Controller/HtmlControllerBase.php b/core/lib/Drupal/Core/Controller/HtmlControllerBase.php index 1050ebf..277a3a4 100644 --- a/core/lib/Drupal/Core/Controller/HtmlControllerBase.php +++ b/core/lib/Drupal/Core/Controller/HtmlControllerBase.php @@ -27,23 +27,23 @@ class HtmlControllerBase { protected $titleResolver; /** - * The render array converter. + * The render array to HTML fragment converter. * * @var \Drupal\Core\Page\RenderHtmlRendererInterface */ - protected $renderConverter; + protected $renderHtmlRenderer; /** * Constructs a new HtmlControllerBase object. * * @param \Drupal\Core\Controller\TitleResolverInterface $title_resolver * The title resolver. - * @param \Drupal\Core\Page\RenderHtmlRendererInterface $render_converter - * The render array converter. + * @param \Drupal\Core\Page\RenderHtmlRendererInterface $render_html_renderer + * The render html renderer. */ - public function __construct(TitleResolverInterface $title_resolver, RenderHtmlRendererInterface $render_converter) { + public function __construct(TitleResolverInterface $title_resolver, RenderHtmlRendererInterface $render_html_renderer) { $this->titleResolver = $title_resolver; - $this->renderConverter = $render_converter; + $this->renderHtmlRenderer = $render_html_renderer; } /** @@ -67,7 +67,7 @@ protected function createHtmlFragment($page_content, Request $request) { $page_content = ['#markup' => $page_content]; } - $fragment = $this->renderConverter->render($page_content); + $fragment = $this->renderHtmlRenderer->render($page_content); if (!$fragment->getTitle() && $route = $request->attributes->get(RouteObjectInterface::ROUTE_OBJECT)) { $fragment->setTitle($this->titleResolver->getTitle($request, $route), Title::PASS_THROUGH); diff --git a/core/lib/Drupal/Core/Controller/HtmlPageController.php b/core/lib/Drupal/Core/Controller/HtmlPageController.php index 216356d..83d5658 100644 --- a/core/lib/Drupal/Core/Controller/HtmlPageController.php +++ b/core/lib/Drupal/Core/Controller/HtmlPageController.php @@ -7,9 +7,7 @@ namespace Drupal\Core\Controller; -use Drupal\Core\Page\RenderHtmlRenderer; use Drupal\Core\Page\RenderHtmlRendererInterface; -use Drupal\Core\Routing\UrlGeneratorInterface; use Symfony\Component\HttpFoundation\Request; /** @@ -31,11 +29,11 @@ class HtmlPageController extends HtmlControllerBase { * The controller resolver. * @param \Drupal\Core\Controller\TitleResolverInterface $title_resolver * The title resolver. - * @param \Drupal\Core\Page\RenderHtmlRendererInterface - * The render array converter. + * @param \Drupal\Core\Page\RenderHtmlRendererInterface $render_html_renderer + * The render html renderer. */ - public function __construct(ControllerResolverInterface $controller_resolver, TitleResolverInterface $title_resolver, RenderHtmlRendererInterface $render_converter) { - parent::__construct($title_resolver, $render_converter); + public function __construct(ControllerResolverInterface $controller_resolver, TitleResolverInterface $title_resolver, RenderHtmlRendererInterface $render_html_renderer) { + parent::__construct($title_resolver, $render_html_renderer); $this->controllerResolver = $controller_resolver; } diff --git a/core/lib/Drupal/Core/Page/RenderHtmlRenderer.php b/core/lib/Drupal/Core/Page/RenderHtmlRenderer.php index e4ecd8d..f3c166c 100644 --- a/core/lib/Drupal/Core/Page/RenderHtmlRenderer.php +++ b/core/lib/Drupal/Core/Page/RenderHtmlRenderer.php @@ -11,12 +11,15 @@ use Drupal\Core\Utility\Title; /** - * Default render array renderer. + * Provides an implementation for an render array to HTML fragment renderer. + * + * This renderer takes into account the cache information, the attached assets + * as well as the title and HTML HEAD elements. */ class RenderHtmlRenderer implements RenderHtmlRendererInterface { /** - * Url generator service. + * The URL generator. * * @var \Drupal\Core\Routing\UrlGeneratorInterface */ @@ -25,18 +28,17 @@ class RenderHtmlRenderer implements RenderHtmlRendererInterface { /** * Constructs a new RenderHtmlRenderer. * - * @param \Drupal\Core\Routing\UrlGeneratorInterface $generator - * The URL generator service. + * @param \Drupal\Core\Routing\UrlGeneratorInterface $url_generator + * The URL generator. */ - public function __construct(UrlGeneratorInterface $generator) { - $this->urlGenerator = $generator; + public function __construct(UrlGeneratorInterface $url_generator) { + $this->urlGenerator = $url_generator; } /** * {@inheritdoc} */ public function render(array $render_array) { - $content = $this->drupalRender($render_array); if (!empty($render_array)) { drupal_process_attached($render_array); @@ -55,6 +57,7 @@ public function render(array $render_array) { 'drupal_add_html_head_link' => [], ]; + // Add feed links from the page content. foreach ($attached['drupal_add_feed'] as $feed) { $fragment->addLinkElement(new FeedLinkElement($feed[1], $this->urlGenerator->generateFromPath($feed[0]))); diff --git a/core/lib/Drupal/Core/Page/RenderHtmlRendererInterface.php b/core/lib/Drupal/Core/Page/RenderHtmlRendererInterface.php index 0b40451..95fabae 100644 --- a/core/lib/Drupal/Core/Page/RenderHtmlRendererInterface.php +++ b/core/lib/Drupal/Core/Page/RenderHtmlRendererInterface.php @@ -8,7 +8,7 @@ namespace Drupal\Core\Page; /** - * Interface for HTML Render Array Renderers. + * Interface for a render array to HTML fragment renderer. * * An HTML Fragment Renderer is responsible for translating a Drupal render * array into an HtmlFragmentInterface object. @@ -21,7 +21,7 @@ * @param array $render_array * The render array to convert. * - * @return \Drupal\Core\Page\HtmlFragmentInterface + * @return \Drupal\Core\Page\HtmlFragment * The equivalent HtmlFragment object. */ public function render(array $render_array);