3 namespace Drupal\Core\Cache\Context;
5 use Drupal\Core\Cache\CacheableMetadata;
6 use Drupal\Core\Theme\ThemeManagerInterface;
9 * Defines the ThemeCacheContext service, for "per theme" caching.
11 * Cache context ID: 'theme'.
13 class ThemeCacheContext implements CacheContextInterface {
18 * @var \Drupal\Core\Theme\ThemeManagerInterface
20 protected $themeManager;
23 * Constructs a new ThemeCacheContext service.
25 * @param \Drupal\Core\Theme\ThemeManagerInterface $theme_manager
28 public function __construct(ThemeManagerInterface $theme_manager) {
29 $this->themeManager = $theme_manager;
35 public static function getLabel() {
42 public function getContext() {
43 return $this->themeManager->getActiveTheme()->getName() ?: 'stark';
49 public function getCacheableMetadata() {
50 return new CacheableMetadata();