if (!window.WeakMap || !window.Promise) { window.unsupportedBrowser = true; } else { // Some implementations of `WeakMap.prototype.has` do not accept false // values and Ember's `isClassicDecorator` sometimes does that (it only // checks for `null` and `undefined`). try { new WeakMap().has(0); } catch (err) { window.unsupportedBrowser = true; } }