Commit 8b0e0442 authored by rossberg@chromium.org's avatar rossberg@chromium.org

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 <yhirano@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 819d9f62
......@@ -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)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment