From 41ff2d0fb8710e82e7444e6fce2d3c42eacd5659 Mon Sep 17 00:00:00 2001
From: Susanne Moog <look@susi.dev>
Date: Wed, 26 Feb 2020 17:22:01 +0100
Subject: [PATCH] [BUGFIX] Cleanup AssetCollector

Optimize loop for rendering.

Resolves: #90544
Releases: master
Change-Id: I9775ac3e1d2f500f35c926dc3bfdc06df96c6b7c
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63440
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Daniel Goerz <daniel.goerz@posteo.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
---
 typo3/sysext/core/Classes/Page/AssetRenderer.php | 9 ++++-----
 typo3/sysext/core/Classes/Page/PageRenderer.php  | 1 +
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/typo3/sysext/core/Classes/Page/AssetRenderer.php b/typo3/sysext/core/Classes/Page/AssetRenderer.php
index 6f9717f59ff5..61efd7a22d84 100644
--- a/typo3/sysext/core/Classes/Page/AssetRenderer.php
+++ b/typo3/sysext/core/Classes/Page/AssetRenderer.php
@@ -75,13 +75,12 @@ class AssetRenderer
     {
         $results = [];
         foreach ($assets as $assetData) {
+            if (($assetData['options']['priority'] ?? false) !== $priority) {
+                continue;
+            }
             $attributes = $assetData['attributes'];
             $attributesString = count($attributes) ? ' ' . GeneralUtility::implodeAttributes($attributes, true) : '';
-            $code = str_replace(['%attributes%', '%source%'], [$attributesString, $assetData['source']], $template);
-            $hasPriority = $assetData['options']['priority'] ?? false;
-            if ($hasPriority === $priority) {
-                $results[] = $code;
-            }
+            $results[] = str_replace(['%attributes%', '%source%'], [$attributesString, $assetData['source']], $template);
         }
         return implode(LF, $results);
     }
diff --git a/typo3/sysext/core/Classes/Page/PageRenderer.php b/typo3/sysext/core/Classes/Page/PageRenderer.php
index 58637e6c5a8c..dc6110724e87 100644
--- a/typo3/sysext/core/Classes/Page/PageRenderer.php
+++ b/typo3/sysext/core/Classes/Page/PageRenderer.php
@@ -1801,6 +1801,7 @@ class PageRenderer implements SingletonInterface
         $jsFiles .= $assetRenderer->renderJavaScript(true);
         $jsFooterFiles .= $assetRenderer->renderJavaScript();
         $cssInline .= $assetRenderer->renderInlineStyleSheets(true);
+        // append inline CSS to footer (as there is no cssFooterInline)
         $jsFooterFiles .= $assetRenderer->renderInlineStyleSheets();
         $cssLibs .= $assetRenderer->renderStyleSheets(true, $this->endingSlash);
         $cssFiles .= $assetRenderer->renderStyleSheets(false, $this->endingSlash);
-- 
GitLab