Как запросить элементы в теневом DOM извне в Dart?

Как я могу выбрать узлы в теневом DOM? Рассмотрим следующий пример:

структура "незатененного" DOM

<app-element>
  #shadow-root
    <h2></h2>
    <content>
      #outside shadow
      <h2></h2>
    </content>
    <ui-button>
      #shadow-root
        <h2></h2>
  </ui-button>
</app-element>

index.html

<body>
<app-element>
  <!-- OK: querySelect('app-element').querySelect('h2') -->
  <!-- OK: querySelect('app-element h2') -->
  <!-- There is no problem to select it -->
  <h2>app-element > content > h2</h2>
</app-element>
</body>

templates.html

<polymer-element name="ui-button" noscript>
  <template>
    <!-- FAIL: querySelect('app-element::shadow ui-button::shadow h2') -->
    <h2>app-element > ui-button > h2</h2>
  </template>
</polymer-element>

<polymer-element name="app-element" noscript>
  <template>
    <!-- FAIL: querySelect('app-element::shadow').querySelect('h2') -->
    <!-- FAIL: querySelect('app-element::shadow h2') -->
    <!-- FAIL: querySelect('app-element').shadowRoot.querySelect('h2') -->
    <h2>app-element > h2</h2>
    <content></content>
    <ui-button></ui-button>
  </template>
</polymer-element>

В комментариях, таких как «OK: querySelect ()», я показываю селекторы, которые я пытался запустить из-за пределов теневого DOM.

Я уже прочитал следующую статью:http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/?redirect_from_locale=ru и исходя из того, что было сказано в статье, запрос выглядит так:document.querySelector('app-element::shadow h2'); в JS должно работать как положено. Однако в Dart это не работает.

Что я не прав?

Ответы на вопрос(2)

Ваш ответ на вопрос