{"action":"closed","issue":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/17990","labels_url":"https://api.github.com/repos/dart-lang/sdk/issues/17990/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/sdk/issues/17990/comments","events_url":"https://api.github.com/repos/dart-lang/sdk/issues/17990/events","html_url":"https://github.com/dart-lang/sdk/issues/17990","id":84574575,"number":17990,"title":"Shadow DOM polyfill eats transitionend events","user":{"login":"jbdeboer","id":502633,"avatar_url":"https://avatars.githubusercontent.com/u/502633?v=3","gravatar_id":"","url":"https://api.github.com/users/jbdeboer","html_url":"https://github.com/jbdeboer","followers_url":"https://api.github.com/users/jbdeboer/followers","following_url":"https://api.github.com/users/jbdeboer/following{/other_user}","gists_url":"https://api.github.com/users/jbdeboer/gists{/gist_id}","starred_url":"https://api.github.com/users/jbdeboer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbdeboer/subscriptions","organizations_url":"https://api.github.com/users/jbdeboer/orgs","repos_url":"https://api.github.com/users/jbdeboer/repos","events_url":"https://api.github.com/users/jbdeboer/events{/privacy}","received_events_url":"https://api.github.com/users/jbdeboer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dart-lang/sdk/labels/Area-Pkg","name":"Area-Pkg","color":"ededed"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/NeedsInfo","name":"NeedsInfo","color":"ededed"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/Pkg-Polymer","name":"Pkg-Polymer","color":"ededed"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/PolymerMilestone-Later","name":"PolymerMilestone-Later","color":"ededed"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/Priority-Low","name":"Priority-Low","color":"ededed"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/Type-Defect","name":"Type-Defect","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2014-04-02T21:55:48Z","updated_at":"2015-06-05T23:04:37Z","closed_at":"2015-06-05T23:04:37Z","body":"Dart VM version: 1.3.0-dev.4.1 (Sun Mar 16 11:47:03 2014) on &quot;linux_x64&quot;\n\nConsider the following program:\n\ntransitionend.html:\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;=\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- &lt;script src=&quot;packages/shadow_dom/shadow_dom.debug.js&quot;&gt;&lt;/script&gt; --&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;script type=&quot;application/dart&quot; src=&quot;transitionend.dart&quot;&gt;&lt;/script&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;script type=&quot;text/javascript&quot; src=&quot;packages/browser/dart.js&quot;&gt;&lt;/script&gt;\n&lt;/head&gt;\n&lt;/html&gt;\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;=\n\ntransitionend.dart:\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;=\nimport 'dart:html';\n\nmain() {\n&nbsp;&nbsp;print(&quot;Demo of the transitionend bug&quot;);\n\n&nbsp;&nbsp;var elt = new DivElement();\n&nbsp;&nbsp;elt.onTransitionEnd.listen((event) {\n&nbsp;&nbsp;&nbsp;&nbsp;print(&quot;Saw an onTransitionEnd event&quot;);\n&nbsp;&nbsp;});\n\n&nbsp;&nbsp;elt.dispatchEvent(new Event.eventType(&quot;MouseEvent&quot;, &quot;transitionend&quot;));\n&nbsp;&nbsp;print(&quot;We should have seen the event by now&quot;);\n}\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;\n\nIn Dartium and Chrome+dart2js, this prints:\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;==\nDemo of the transitionend bug\nSaw an onTransitionEnd event \nWe should have seen the event by now\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;==\n\nHowever, if you include the shadow DOM polyfill by uncommenting the shadow_dom.debug.js script tag,\nin Chrome+dart2js, that prints:\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;=\nDemo of the transitionend bug\nWe should have seen the event by now\n&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;&equals;=\n\ne.g., the onTransitionEnd stream listener never gets called."}}