Merge pull request #12891 from nextcloud/theming-caching

more caching for theming
This commit is contained in:
Roeland Jago Douma 2018-12-07 10:09:31 +01:00 committed by GitHub
commit 2bbfeea659
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View file

@ -58,6 +58,9 @@ class IconsCacher {
private $iconList = 'icons-list.template';
private $cachedCss;
private $cachedList;
/**
* @param ILogger $logger
* @param Factory $appDataFactory
@ -137,6 +140,8 @@ class IconsCacher {
$cachedVarsCssFile->putContent($data);
$list = ":root {\n$list\n}";
$cachedFile->putContent($list);
$this->cachedList = null;
$this->cachedCss = null;
}
return preg_replace($this->iconVarRE, '', $css);
@ -204,7 +209,10 @@ class IconsCacher {
*/
public function getCachedCSS() {
try {
return $this->folder->getFile($this->fileName);
if (!$this->cachedCss) {
$this->cachedCss = $this->folder->getFile($this->fileName);
}
return $this->cachedCss;
} catch (NotFoundException $e) {
return false;
}
@ -216,7 +224,10 @@ class IconsCacher {
*/
public function getCachedList() {
try {
return $this->folder->getFile($this->iconList);
if (!$this->cachedList) {
$this->cachedList = $this->folder->getFile($this->iconList);
}
return $this->cachedList;
} catch (NotFoundException $e) {
return false;
}

View file

@ -144,7 +144,7 @@ class IconsCacherTest extends \Test\TestCase {
";
$iconsFile = $this->createMock(ISimpleFile::class);
$this->folder->expects($this->exactly(6))
$this->folder->expects($this->exactly(4))
->method('getFile')
->willReturn($iconsFile);