@@ -403,8 +403,8 @@ export class ShadowCss {
403403 }
404404
405405 _makeScopeMatcher ( scopeSelector : string ) : RegExp {
406- var lre = RegExpWrapper . create ( '\\[' ) ;
407- var rre = RegExpWrapper . create ( '\\]' ) ;
406+ var lre = / \[ / g ;
407+ var rre = / \] / g ;
408408 scopeSelector = StringWrapper . replaceAll ( scopeSelector , lre , '\\[' ) ;
409409 scopeSelector = StringWrapper . replaceAll ( scopeSelector , rre , '\\]' ) ;
410410 return RegExpWrapper . create ( '^(' + scopeSelector + ')' + _selectorReSuffix , 'm' ) ;
@@ -429,7 +429,7 @@ export class ShadowCss {
429429 // return a selector with [name] suffix on each simple selector
430430 // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name]
431431 _applyStrictSelectorScope ( selector : string , scopeSelector : string ) : string {
432- var isRe = RegExpWrapper . create ( '\\ [is=([^\\ ]]*)\\]' ) ;
432+ var isRe = / \ [i s = ( [ ^ \] ] * ) \] / g ;
433433 scopeSelector = StringWrapper . replaceAllMapped ( scopeSelector , isRe , ( m ) => m [ 1 ] ) ;
434434 var splits = [ ' ' , '>' , '+' , '~' ] , scoped = selector , attrName = '[' + scopeSelector + ']' ;
435435 for ( var i = 0 ; i < splits . length ; i ++ ) {
@@ -440,7 +440,7 @@ export class ShadowCss {
440440 var t = StringWrapper . replaceAll ( p . trim ( ) , _polyfillHostRe , '' ) ;
441441 if ( t . length > 0 && ! ListWrapper . contains ( splits , t ) &&
442442 ! StringWrapper . contains ( t , attrName ) ) {
443- var re = RegExpWrapper . create ( '( [^:]*)(:*)(.*)' ) ;
443+ var re = / ( [ ^ : ] * ) ( : * ) ( .* ) / g ;
444444 var m = RegExpWrapper . firstMatch ( re , t ) ;
445445 if ( isPresent ( m ) ) {
446446 p = m [ 1 ] + attrName + m [ 2 ] + m [ 3 ] ;
@@ -463,10 +463,10 @@ export class ShadowCss {
463463 // TODO(sorvell): Safari cssom incorrectly removes quotes from the content
464464 // property. (https://bugs.webkit.org/show_bug.cgi?id=118045)
465465 // don't replace attr rules
466- var attrRe = RegExpWrapper . create ( '[\ '"]+|attr' ) ;
466+ var attrRe = / [ ' " ] + | a t t r / g ;
467467 if ( rule . style . content . length > 0 &&
468468 ! isPresent ( RegExpWrapper . firstMatch ( attrRe , rule . style . content ) ) ) {
469- var contentRe = RegExpWrapper . create ( ' content:[^;]*;' ) ;
469+ var contentRe = / c o n t e n t : [ ^ ; ] * ; / g ;
470470 cssText =
471471 StringWrapper . replaceAll ( cssText , contentRe , 'content: \'' + rule . style . content + '\';' ) ;
472472 }
@@ -487,13 +487,11 @@ export class ShadowCss {
487487 return cssText ;
488488 }
489489}
490-
491- var _cssContentNextSelectorRe = RegExpWrapper . create (
492- 'polyfill-next-selector[^}]*content:[\\s]*?[\'"](.*?)[\'"][;\\s]*}([^{]*?){' , 'im' ) ;
493- var _cssContentRuleRe =
494- RegExpWrapper . create ( '(polyfill-rule)[^}]*(content:[\\s]*[\'"](.*?)[\'"])[;\\s]*[^}]*}' , 'im' ) ;
495- var _cssContentUnscopedRuleRe = RegExpWrapper . create (
496- '(polyfill-unscoped-rule)[^}]*(content:[\\s]*[\'"](.*?)[\'"])[;\\s]*[^}]*}' , 'im' ) ;
490+ var _cssContentNextSelectorRe =
491+ / p o l y f i l l - n e x t - s e l e c t o r [ ^ } ] * c o n t e n t : [ \s ] * ?[ ' " ] ( .* ?) [ ' " ] [ ; \s ] * } ( [ ^ { ] * ?) { / gim;
492+ var _cssContentRuleRe = / ( p o l y f i l l - r u l e ) [ ^ } ] * ( c o n t e n t : [ \s ] * [ ' " ] ( .* ?) [ ' " ] ) [ ; \s ] * [ ^ } ] * } / gim;
493+ var _cssContentUnscopedRuleRe =
494+ / ( p o l y f i l l - u n s c o p e d - r u l e ) [ ^ } ] * ( c o n t e n t : [ \s ] * [ ' " ] ( .* ?) [ ' " ] ) [ ; \s ] * [ ^ } ] * } / gim;
497495var _polyfillHost = '-shadowcsshost' ;
498496// note: :host-context pre-processed to -shadowcsshostcontext.
499497var _polyfillHostContext = '-shadowcsscontext' ;
@@ -504,18 +502,21 @@ var _cssColonHostRe = RegExpWrapper.create('(' + _polyfillHost + _parenSuffix, '
504502var _cssColonHostContextRe = RegExpWrapper . create ( '(' + _polyfillHostContext + _parenSuffix , 'im' ) ;
505503var _polyfillHostNoCombinator = _polyfillHost + '-no-combinator' ;
506504var _shadowDOMSelectorsRe = [
507- RegExpWrapper . create ( ' >>>' ) ,
508- RegExpWrapper . create ( ' ::shadow' ) ,
509- RegExpWrapper . create ( ' ::content' ) ,
505+ / > > > / g ,
506+ / : : s h a d o w / g ,
507+ / : : c o n t e n t / g ,
510508 // Deprecated selectors
511- RegExpWrapper . create ( '/deep/' ) , // former >>>
512- RegExpWrapper . create ( '/shadow-deep/' ) , // former /deep/
513- RegExpWrapper . create ( '/shadow/' ) , // former ::shadow
509+ // TODO(vicb): see https://github.com/angular/clang-format/issues/16
510+ // clang-format off
511+ / \/ d e e p \/ / g, // former >>>
512+ / \/ s h a d o w - d e e p \/ / g, // former /deep/
513+ / \/ s h a d o w \/ / g, // former ::shadow
514+ // clanf-format on
514515] ;
515516var _selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$' ;
516517var _polyfillHostRe = RegExpWrapper . create ( _polyfillHost , 'im' ) ;
517- var _colonHostRe = RegExpWrapper . create ( ' :host' , 'im' ) ;
518- var _colonHostContextRe = RegExpWrapper . create ( ' :host-context' , 'im' ) ;
518+ var _colonHostRe = / : h o s t / gim ;
519+ var _colonHostContextRe = / : h o s t - c o n t e x t / gim ;
519520
520521function _cssToRules ( cssText : string ) {
521522 return DOM . cssToRules ( cssText ) ;
0 commit comments