Conversation
…eChannel in favor of MutationObserver. This forces falling back to setTimeout in IE < 11, and Safari < 6 (see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver#Browser_compatibility).
when.js
Outdated
There was a problem hiding this comment.
So this works multiple times? The 'x' attribute doesn't have to change its value?
There was a problem hiding this comment.
Apparently, yeah. I've run some tests in Chrome and it works. I plan to let Travis run the full gamut of tests on all platforms when this lands in dev as well. Also, this is how RSVP implements it
…hat it is still a problem, we can add it back easily enough. The webkit ticket appears to have been closed quite a while ago: Jan 2013.
|
Ok, I slimmed the MO branch down by removing the unload workaround. |
|
A couple nice benefits of this approach:
One obvious downside:
|
|
Combination of IE10 mobile + setTimeout concerns me. |
|
Merging after more discussion with @unscriptable, and in light of the fact that |
Switch to MutationObserver to workaround IE10 setImmediate/MessageChannel/postMessage bug
|
All green on Travis and Saucelabs tests. At least we know we haven't broken the world :) |
|
👍 |
This drops
setImmediateandMessageChannelsupport, relying primarily onprocess.nextTickfor all Node versions, and addingMutationObserversupport as the "fast" browser scheduler. Vert.x support is unchanged, and everything falls back tosetTimeoutwhen no fast option is detected.Definitely looking for feedback.
Fix #197