From c78f69d921600bfb6caf14b592d8370487d88274 Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Mon, 3 May 2021 11:51:09 +0300 Subject: [PATCH] add a workaround of WebKit ~ iOS 10.3 Safari `Promise` instantiation bug, close #932 --- CHANGELOG.md | 2 +- packages/core-js/internals/microtask.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4565068f0691..8132be5344cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ## Changelog ##### Unreleased -- Nothing +- Added a workaround of WebKit ~ iOS 10.3 Safari `Promise` instantiation bug, [#932](https://github.com/zloirock/core-js/issues/932) ##### 3.11.1 - 2021.04.28 - Made `instanceof Promise` and `.constructor === Promise` work with polyfilled `Promise` for all native promise-based APIs diff --git a/packages/core-js/internals/microtask.js b/packages/core-js/internals/microtask.js index b7c1e6ef4eda..6c3a51fdb474 100644 --- a/packages/core-js/internals/microtask.js +++ b/packages/core-js/internals/microtask.js @@ -47,6 +47,8 @@ if (!queueMicrotask) { } else if (Promise && Promise.resolve) { // Promise.resolve without an argument throws an error in LG WebOS 2 promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; then = promise.then; notify = function () { then.call(promise, flush);