| Index: third_party/pkg/angular/lib/introspection.dart
|
| diff --git a/third_party/pkg/angular/lib/introspection.dart b/third_party/pkg/angular/lib/introspection.dart
|
| index 11b1944ae9387db2b350a976bb33b7ebca962cc7..04a20246fca4cb9bf98395c29e519edef1803747 100644
|
| --- a/third_party/pkg/angular/lib/introspection.dart
|
| +++ b/third_party/pkg/angular/lib/introspection.dart
|
| @@ -46,6 +46,9 @@ Scope ngScope(dom.Node node) => ngProbe(node).scope;
|
| List<dom.Element> ngQuery(dom.Node element, String selector, [String containsText]) {
|
| var list = [];
|
| var children = [element];
|
| + if ((element is dom.Element) && element.shadowRoot != null) {
|
| + children.add(element.shadowRoot);
|
| + }
|
| while (!children.isEmpty) {
|
| var child = children.removeAt(0);
|
| child.querySelectorAll(selector).forEach((e) {
|
| @@ -71,15 +74,15 @@ List<Object> ngDirectives(dom.Node node) {
|
| }
|
|
|
| _publishToJavaScript() {
|
| - js.context.ngProbe = (dom.Node node) => _jsProbe(ngProbe(node));
|
| - js.context.ngInjector = (dom.Node node) => _jsInjector(ngInjector(node));
|
| - js.context.ngScope = (dom.Node node) => _jsScope(ngScope(node));
|
| - js.context.ngQuery = (dom.Node node, String selector, [String containsText]) =>
|
| - new JsArray.from(ngQuery(node, selector, containsText));
|
| + js.context['ngProbe'] = (dom.Node node) => _jsProbe(ngProbe(node));
|
| + js.context['ngInjector'] = (dom.Node node) => _jsInjector(ngInjector(node));
|
| + js.context['ngScope'] = (dom.Node node) => _jsScope(ngScope(node));
|
| + js.context['ngQuery'] = (dom.Node node, String selector, [String containsText]) =>
|
| + new js.JsArray.from(ngQuery(node, selector, containsText));
|
| }
|
|
|
| -JsObject _jsProbe(ElementProbe probe) {
|
| - return new JsObject.jsify({
|
| +js.JsObject _jsProbe(ElementProbe probe) {
|
| + return new js.JsObject.jsify({
|
| "element": probe.element,
|
| "injector": _jsInjector(probe.injector),
|
| "scope": _jsScope(probe.scope),
|
| @@ -87,14 +90,14 @@ JsObject _jsProbe(ElementProbe probe) {
|
| })..['_dart_'] = probe;
|
| }
|
|
|
| -JsObject _jsInjector(Injector injector) {
|
| - return new JsObject.jsify({
|
| +js.JsObject _jsInjector(Injector injector) {
|
| + return new js.JsObject.jsify({
|
| "get": injector.get
|
| })..['_dart_'] = injector;
|
| }
|
|
|
| -JsObject _jsScope(Scope scope) {
|
| - return new JsObject.jsify({
|
| +js.JsObject _jsScope(Scope scope) {
|
| + return new js.JsObject.jsify({
|
| "\$apply": scope.$apply,
|
| "\$digest": scope.$digest,
|
| "get": (name) => scope[name],
|
|
|