]> source.dussan.org Git - nextcloud-server.git/commitdiff
Don't setup the filesystem to check for a favicon we don't use anyway 29214/head
authorJoas Schilling <coding@schilljs.com>
Wed, 13 Oct 2021 13:45:42 +0000 (15:45 +0200)
committerJoas Schilling <coding@schilljs.com>
Wed, 13 Oct 2021 13:45:42 +0000 (15:45 +0200)
Signed-off-by: Joas Schilling <coding@schilljs.com>
apps/theming/lib/ThemingDefaults.php

index 1f44c2371827137c5cba1f86cc8ff9488072dcca..3bfccda4a432238f1c21b4068aea676a9e75fe7b 100644 (file)
@@ -43,6 +43,7 @@ namespace OCA\Theming;
 use OCP\App\AppPathNotFoundException;
 use OCP\App\IAppManager;
 use OCP\Files\NotFoundException;
+use OCP\Files\SimpleFS\ISimpleFile;
 use OCP\ICacheFactory;
 use OCP\IConfig;
 use OCP\IL10N;
@@ -363,17 +364,11 @@ class ThemingDefaults extends \OC_Defaults {
                }
                $cacheBusterValue = $this->config->getAppValue('theming', 'cachebuster', '0');
 
-               try {
-                       $customFavicon = $this->imageManager->getImage('favicon');
-               } catch (NotFoundException $e) {
-                       $customFavicon = null;
-               }
-
                $route = false;
-               if ($image === 'favicon.ico' && ($customFavicon !== null || $this->imageManager->shouldReplaceIcons())) {
+               if ($image === 'favicon.ico' && ($this->imageManager->shouldReplaceIcons() || $this->getCustomFavicon() !== null)) {
                        $route = $this->urlGenerator->linkToRoute('theming.Icon.getFavicon', ['app' => $app]);
                }
-               if (($image === 'favicon-touch.png' || $image === 'favicon-fb.png') && ($customFavicon !== null || $this->imageManager->shouldReplaceIcons())) {
+               if (($image === 'favicon-touch.png' || $image === 'favicon-fb.png') && ($this->imageManager->shouldReplaceIcons() || $this->getCustomFavicon() !== null)) {
                        $route = $this->urlGenerator->linkToRoute('theming.Icon.getTouchIcon', ['app' => $app]);
                }
                if ($image === 'manifest.json') {
@@ -397,6 +392,14 @@ class ThemingDefaults extends \OC_Defaults {
                return false;
        }
 
+       protected function getCustomFavicon(): ?ISimpleFile {
+               try {
+                       return $this->imageManager->getImage('favicon');
+               } catch (NotFoundException $e) {
+                       return null;
+               }
+       }
+
        /**
         * Increases the cache buster key
         */