feat(ShadowCss): Support the new deep combinator syntax >>>
fixes #990 ref http://dev.w3.org/csswg/css-scoping-1/#deep-combinator Closes #1028
This commit is contained in:

committed by
Misko Hevery

parent
eef5f7e06d
commit
ee523efcb4
@ -512,11 +512,13 @@ var _cssColonHostRe = RegExpWrapper.create('(' + _polyfillHost + _parenSuffix, '
|
|||||||
var _cssColonHostContextRe = RegExpWrapper.create('(' + _polyfillHostContext + _parenSuffix, 'im');
|
var _cssColonHostContextRe = RegExpWrapper.create('(' + _polyfillHostContext + _parenSuffix, 'im');
|
||||||
var _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
|
var _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
|
||||||
var _shadowDOMSelectorsRe = [
|
var _shadowDOMSelectorsRe = [
|
||||||
RegExpWrapper.create('/shadow/'),
|
RegExpWrapper.create('>>>'),
|
||||||
RegExpWrapper.create('/shadow-deep/'),
|
|
||||||
RegExpWrapper.create('::shadow'),
|
RegExpWrapper.create('::shadow'),
|
||||||
RegExpWrapper.create('/deep/'),
|
|
||||||
RegExpWrapper.create('::content'),
|
RegExpWrapper.create('::content'),
|
||||||
|
// Deprecated selectors
|
||||||
|
RegExpWrapper.create('/deep/'), // former >>>
|
||||||
|
RegExpWrapper.create('/shadow-deep/'), // former /deep/
|
||||||
|
RegExpWrapper.create('/shadow/'), // former ::shadow
|
||||||
];
|
];
|
||||||
var _selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$';
|
var _selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$';
|
||||||
var _polyfillHostRe = RegExpWrapper.create(_polyfillHost, 'im');
|
var _polyfillHostRe = RegExpWrapper.create(_polyfillHost, 'im');
|
||||||
|
@ -108,5 +108,10 @@ export function main() {
|
|||||||
var css = s('x /deep/ y {}', 'a');
|
var css = s('x /deep/ y {}', 'a');
|
||||||
expect(css).toEqual('x[a] y[a] {}');
|
expect(css).toEqual('x[a] y[a] {}');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should handle >>>', () => {
|
||||||
|
var css = s('x >>> y {}', 'a');
|
||||||
|
expect(css).toEqual('x[a] y[a] {}');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user