Page MenuHomeWickedGov Phorge

TemplateStylesFontFaceAtRuleSanitizer.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

TemplateStylesFontFaceAtRuleSanitizer.php

<?php
namespace MediaWiki\Extension\TemplateStyles;
/**
* @file
* @license GPL-2.0-or-later
*/
use Wikimedia\CSS\Grammar\Alternative;
use Wikimedia\CSS\Grammar\Juxtaposition;
use Wikimedia\CSS\Grammar\MatcherFactory;
use Wikimedia\CSS\Grammar\Quantifier;
use Wikimedia\CSS\Grammar\TokenMatcher;
use Wikimedia\CSS\Objects\Token;
use Wikimedia\CSS\Sanitizer\FontFaceAtRuleSanitizer;
/**
* Extend the standard `@font-face` matcher to require a prefix on families.
*/
class TemplateStylesFontFaceAtRuleSanitizer extends FontFaceAtRuleSanitizer {
/**
* @param MatcherFactory $matcherFactory
*/
public function __construct( MatcherFactory $matcherFactory ) {
parent::__construct( $matcherFactory );
// Only allow the font-family if it begins with "TemplateStyles"
$this->propertySanitizer->setKnownProperties( [
'font-family' => new Alternative( [
new TokenMatcher( Token::T_STRING, static function ( Token $t ) {
return substr( $t->value(), 0, 14 ) === 'TemplateStyles';
} ),
new Juxtaposition( [
new TokenMatcher( Token::T_IDENT, static function ( Token $t ) {
return substr( $t->value(), 0, 14 ) === 'TemplateStyles';
} ),
Quantifier::star( $matcherFactory->ident() ),
] ),
] ),
] + $this->propertySanitizer->getKnownProperties() );
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, May 16, 20:54 (1 d, 12 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
b4/0c/134ced8c700d82f40b85dc8a6cd4
Default Alt Text
TemplateStylesFontFaceAtRuleSanitizer.php (1 KB)

Event Timeline