You are here

protected function BlockAccessControlHandler::mergeCacheabilityFromConditions in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/block/src/BlockAccessControlHandler.php \Drupal\block\BlockAccessControlHandler::mergeCacheabilityFromConditions()
  2. 9 core/modules/block/src/BlockAccessControlHandler.php \Drupal\block\BlockAccessControlHandler::mergeCacheabilityFromConditions()

Merges cacheable metadata from conditions onto the access result object.

Parameters

\Drupal\Core\Access\AccessResult $access: The access result object.

\Drupal\Core\Condition\ConditionInterface[] $conditions: List of visibility conditions.

1 call to BlockAccessControlHandler::mergeCacheabilityFromConditions()
BlockAccessControlHandler::checkAccess in core/modules/block/src/BlockAccessControlHandler.php
Performs access checks.

File

core/modules/block/src/BlockAccessControlHandler.php, line 160

Class

BlockAccessControlHandler
Defines the access control handler for the block entity type.

Namespace

Drupal\block

Code

protected function mergeCacheabilityFromConditions(AccessResult $access, array $conditions) {
  foreach ($conditions as $condition) {
    if ($condition instanceof CacheableDependencyInterface) {
      $access
        ->addCacheTags($condition
        ->getCacheTags());
      $access
        ->addCacheContexts($condition
        ->getCacheContexts());
      $access
        ->setCacheMaxAge(Cache::mergeMaxAges($access
        ->getCacheMaxAge(), $condition
        ->getCacheMaxAge()));
    }
  }
}