From 8b0e0442bb9bd2dc20431d5ceacc0d7ceac938e1 Mon Sep 17 00:00:00 2001 From: "rossberg@chromium.org" Date: Tue, 11 Mar 2014 10:41:18 +0000 Subject: [PATCH] PromiseCoerce should ignore primitive values. PromiseCource(x) should return "not a thenable" if Type(x) is not Object even if x.then exists. BUG=347095 LOG=Y R=rossberg@chromium.org Review URL: https://codereview.chromium.org/194403002 Patch from Yutaka Hirano . git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/promise.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/promise.js b/src/promise.js index 2c36d4d..fb33beb 100644 --- a/src/promise.js +++ b/src/promise.js @@ -217,7 +217,7 @@ function PromiseThen(onResolve, onReject) { PromiseCoerce.table = new $WeakMap; function PromiseCoerce(constructor, x) { - if (!(IsPromise(x) || IS_NULL_OR_UNDEFINED(x))) { + if (!IsPromise(x) && IS_SPEC_OBJECT(x)) { var then = x.then; if (typeof then === 'function') { if (PromiseCoerce.table.has(x)) { -- 2.7.4