You are here

public function CssSubscriber::scan in Advanced CSS/JS Aggregation 8.4

Same name and namespace in other branches
  1. 8.3 advagg_old_ie_compatibility/src/EventSubscriber/CssSubscriber.php \Drupal\advagg_old_ie_compatibility\EventSubscriber\CssSubscriber::scan()

Scan the asset, count the selectors and save selector count to asset array.

The counting method is very rough and may have inaccuracies - especially if there are media queries in the file. Since we only care about the maximum, this is acceptable since that reduces performance hit and an exact number is unimportant.

Parameters

\Drupal\advagg\Asset\AssetOptimizationEvent $asset: The asset optimization event.

File

advagg_old_ie_compatibility/src/EventSubscriber/CssSubscriber.php, line 24

Class

CssSubscriber
Subscribe to CSs asset optimization events and count selectors.

Namespace

Drupal\advagg_old_ie_compatibility\EventSubscriber

Code

public function scan(AssetOptimizationEvent $asset) {
  $asset_array = $asset
    ->getAsset();
  $asset_array['selectors'] = substr_count($asset
    ->getContent(), '{');
  $asset
    ->setAsset($asset_array);
}