protected function CssOptimizer::optimizeFile in Advanced CSS/JS Aggregation 8.4
Same name and namespace in other branches
- 8.3 src/Asset/CssOptimizer.php \Drupal\advagg\Asset\CssOptimizer::optimizeFile()
Perform any in-place optimization & pass to event for further optimization.
Parameters
array $asset: Core single asset definition array.
array $data: An array of extra file information (hashes, modification time etc).
Return value
bool|string False if contents unchanged or the new file path if optimized.
Overrides AssetOptimizer::optimizeFile
File
- src/
Asset/ CssOptimizer.php, line 84
Class
- CssOptimizer
- The CSS Optimizer.
Namespace
Drupal\advagg\AssetCode
protected function optimizeFile(array &$asset, array $data) {
$contents = $this
->updateUrls($data['contents'], $asset['data']);
if ($this->config
->get('css.combine_media') && $asset['media'] !== 'all') {
$contents = "@media {$asset['media']}{{$contents}}";
$asset['media'] = 'all';
}
$asset_event = new AssetOptimizationEvent($contents, $asset, $data);
$this->eventDispatcher
->dispatch(AssetOptimizationEvent::CSS, $asset_event);
$contents = $asset_event
->getContent();
$asset = $asset_event
->getAsset();
// If file contents are unaltered return FALSE.
if ($contents === $data['contents'] && !$this->gZip) {
return FALSE;
}
return $this
->writeFile($contents, $data['cid']);
}