dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.07k stars 1.56k forks source link

Object and Embed elements are JS functions in Firefox and Chrome 47, so dart2js does not find interceptors for them #25155

Open alan-knight opened 8 years ago

alan-knight commented 8 years ago

Same root cause as https://github.com/dart-lang/sdk/issues/23466 but more general. @rakudrama

alan-knight commented 8 years ago

Note: tests that fail because of this are marked Pass, RuntimeError while we have some bots on 46 and others on 47. This should be fixed once they're all updated.

alan-knight commented 8 years ago

All the bots are on 47 now and the tests are properly marked RuntimeError.

mit-mit commented 8 years ago

@alan-knight what else remains here? I noted the bug is not assigned to anyone.

whesse commented 8 years ago

This high priority bug should be assigned to someone on the dart2js html library team, or it shouldn't be high priority.

alan-knight commented 8 years ago

The high priority original problem now has a workaround, so we can probably remove this from high priority.

mit-mit commented 8 years ago

Moving to 1.15

denisoby commented 8 years ago

@alan-knight could you give the link or example of this workaround?

alan-knight commented 8 years ago

As I remember, the issue was setting some content through Angular, so it was going through setting innerHtml, which meant that it was getting touched by Dart code, although it didn't need to be. So there are a few possible workarounds. One is don't use that element :-). Another is that if it's in static HTML and you're not programmatically manipulating it through Dart it shouldn't be a problem. I think that even if you go through setting innerHtml/appendHtml/etc, if it's HTML that you control and you can use NodeTreeSanitizer.trusted, then that should work. And I guess the last-ditch workaround is write a fragment of JS to do the work you need to do on that element and invoke it from Dart.

DisDis commented 8 years ago

possible duplicate https://github.com/dart-lang/sdk/issues/25785 ?

alan-knight commented 8 years ago

Yes, I think that's the same underlying issue.

mit-mit commented 8 years ago

Clearing out 1.15 milestone as the last full push to dev has happened. If any changes are required before 1.15 is shipped, please file a merge request