Skip to content

Commit ee523ef

Browse files
vicbmhevery
authored andcommitted
feat(ShadowCss): Support the new deep combinator syntax >>>
fixes angular#990 ref http://dev.w3.org/csswg/css-scoping-1/#deep-combinator Closes angular#1028
1 parent eef5f7e commit ee523ef

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

modules/angular2/src/core/compiler/shadow_dom_emulation/shadow_css.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -512,11 +512,13 @@ var _cssColonHostRe = RegExpWrapper.create('(' + _polyfillHost + _parenSuffix, '
512512
var _cssColonHostContextRe = RegExpWrapper.create('(' + _polyfillHostContext + _parenSuffix, 'im');
513513
var _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
514514
var _shadowDOMSelectorsRe = [
515-
RegExpWrapper.create('/shadow/'),
516-
RegExpWrapper.create('/shadow-deep/'),
515+
RegExpWrapper.create('>>>'),
517516
RegExpWrapper.create('::shadow'),
518-
RegExpWrapper.create('/deep/'),
519517
RegExpWrapper.create('::content'),
518+
// Deprecated selectors
519+
RegExpWrapper.create('/deep/'), // former >>>
520+
RegExpWrapper.create('/shadow-deep/'), // former /deep/
521+
RegExpWrapper.create('/shadow/'), // former ::shadow
520522
];
521523
var _selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$';
522524
var _polyfillHostRe = RegExpWrapper.create(_polyfillHost, 'im');

modules/angular2/test/core/compiler/shadow_dom/shadow_css_spec.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,5 +108,10 @@ export function main() {
108108
var css = s('x /deep/ y {}', 'a');
109109
expect(css).toEqual('x[a] y[a] {}');
110110
});
111+
112+
it('should handle >>>', () => {
113+
var css = s('x >>> y {}', 'a');
114+
expect(css).toEqual('x[a] y[a] {}');
115+
});
111116
});
112117
}

0 commit comments

Comments
 (0)