Revision: 20040
Author:   [email protected]
Date:     Tue Mar 18 15:03:35 2014 UTC
Log:      Remove Promise.cast

...as per January meeting. Renames 'cast' to 'resolve'. We rename the prior 'resolve' to 'accept', to keep the chain API usable.

[email protected]
BUG=

Review URL: https://codereview.chromium.org/200763012
http://code.google.com/p/v8/source/detail?r=20040

Modified:
 /branches/bleeding_edge/src/promise.js
 /branches/bleeding_edge/test/mjsunit/es6/promises.js
/branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast-expected.txt
 /branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast.js

=======================================
--- /branches/bleeding_edge/src/promise.js      Tue Mar 18 14:55:43 2014 UTC
+++ /branches/bleeding_edge/src/promise.js      Tue Mar 18 15:03:35 2014 UTC
@@ -261,7 +261,7 @@

 function PromiseCast(x) {
   // TODO(rossberg): cannot do better until we support @@create.
-  return IsPromise(x) ? x : this.resolve(x);
+  return IsPromise(x) ? x : new this(function(resolve) { resolve(x) });
 }

 function PromiseAll(values) {
@@ -277,7 +277,7 @@
       deferred.resolve(resolutions);
     } else {
       for (var i = 0; i < values.length; ++i) {
-        this.cast(values[i]).then(
+        this.resolve(values[i]).then(
           function(i, x) {
             resolutions[i] = x;
             if (--count === 0) deferred.resolve(resolutions);
@@ -300,7 +300,7 @@
   }
   try {
     for (var i = 0; i < values.length; ++i) {
-      this.cast(values[i]).then(
+      this.resolve(values[i]).then(
         function(x) { deferred.resolve(x) },
         function(r) { deferred.reject(r) }
       );
@@ -319,11 +319,11 @@
   global_receiver.Promise = $Promise;
   InstallFunctions($Promise, DONT_ENUM, [
     "defer", PromiseDeferred,
-    "resolve", PromiseResolved,
+    "accept", PromiseResolved,
     "reject", PromiseRejected,
     "all", PromiseAll,
     "race", PromiseOne,
-    "cast", PromiseCast
+    "resolve", PromiseCast
   ]);
   InstallFunctions($Promise.prototype, DONT_ENUM, [
     "chain", PromiseChain,
=======================================
--- /branches/bleeding_edge/test/mjsunit/es6/promises.js Tue Mar 18 14:55:43 2014 UTC +++ /branches/bleeding_edge/test/mjsunit/es6/promises.js Tue Mar 18 15:03:35 2014 UTC
@@ -25,7 +25,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

-// Flags: --harmony-promises --harmony-observation --allow-natives-syntax
+// Flags: --harmony-promises --allow-natives-syntax

 var asyncAssertsExpected = 0;

@@ -82,8 +82,8 @@
 })();

 (function() {
-  Promise.resolve(5);
-  Promise.resolve(5).chain(undefined, assertUnreachable).chain(
+  Promise.accept(5);
+  Promise.accept(5).chain(undefined, assertUnreachable).chain(
     function(x) { assertAsync(x === 5, "resolved/chain-nohandler") },
     assertUnreachable
   )
@@ -99,12 +99,12 @@
 })();

 (function() {
-  Promise.resolve(5).then(undefined, assertUnreachable).chain(
+  Promise.accept(5).then(undefined, assertUnreachable).chain(
function(x) { assertAsync(x === 5, "resolved/then-nohandler-undefined") },
     assertUnreachable
   )
   assertAsyncRan()
-  Promise.resolve(6).then(null, assertUnreachable).chain(
+  Promise.accept(6).then(null, assertUnreachable).chain(
     function(x) { assertAsync(x === 6, "resolved/then-nohandler-null") },
     assertUnreachable
   )
@@ -125,9 +125,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "resolved/chain") },
     assertUnreachable
@@ -136,9 +136,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(
     function(x) { assertAsync(x === 5, "resolved/then") },
     assertUnreachable
@@ -148,8 +148,8 @@

 (function() {
   var p1 = Promise.reject(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "rejected/chain") },
     assertUnreachable
@@ -159,8 +159,8 @@

 (function() {
   var p1 = Promise.reject(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(
     assertUnreachable,
     function(x) { assertAsync(x === 5, "rejected/then") }
@@ -169,9 +169,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(function(x) { return x }, assertUnreachable).chain(
     function(x) { assertAsync(x === p1, "resolved/chain/chain") },
     assertUnreachable
@@ -180,9 +180,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(function(x) { return x }, assertUnreachable).then(
     function(x) { assertAsync(x === 5, "resolved/chain/then") },
     assertUnreachable
@@ -191,9 +191,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(function(x) { return 6 }, assertUnreachable).chain(
     function(x) { assertAsync(x === 6, "resolved/chain/chain2") },
     assertUnreachable
@@ -202,9 +202,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(function(x) { return 6 }, assertUnreachable).then(
     function(x) { assertAsync(x === 6, "resolved/chain/then2") },
     assertUnreachable
@@ -213,9 +213,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(function(x) { return x + 1 }, assertUnreachable).chain(
     function(x) { assertAsync(x === 6, "resolved/then/chain") },
     assertUnreachable
@@ -224,9 +224,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(function(x) { return x + 1 }, assertUnreachable).then(
     function(x) { assertAsync(x === 6, "resolved/then/then") },
     assertUnreachable
@@ -235,10 +235,10 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
- p3.then(function(x){ return Promise.resolve(x+1) }, assertUnreachable).chain(
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
+ p3.then(function(x){ return Promise.accept(x+1) }, assertUnreachable).chain(
     function(x) { assertAsync(x === 6, "resolved/then/chain2") },
     assertUnreachable
   )
@@ -246,10 +246,10 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
- p3.then(function(x) { return Promise.resolve(x+1) }, assertUnreachable).then(
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
+ p3.then(function(x) { return Promise.accept(x+1) }, assertUnreachable).then(
     function(x) { assertAsync(x === 6, "resolved/then/then2") },
     assertUnreachable
   )
@@ -257,9 +257,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(function(x) { throw 6 }, assertUnreachable).chain(
     assertUnreachable,
     function(x) { assertAsync(x === 6, "resolved/chain-throw/chain") }
@@ -268,9 +268,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(function(x) { throw 6 }, assertUnreachable).then(
     assertUnreachable,
     function(x) { assertAsync(x === 6, "resolved/chain-throw/then") }
@@ -279,9 +279,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(function(x) { throw 6 }, assertUnreachable).chain(
     assertUnreachable,
     function(x) { assertAsync(x === 6, "resolved/then-throw/chain") }
@@ -290,9 +290,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(function(x) { throw 6 }, assertUnreachable).then(
     assertUnreachable,
     function(x) { assertAsync(x === 6, "resolved/then-throw/then") }
@@ -301,9 +301,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
+  var p1 = Promise.accept(5)
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "resolved/thenable/chain") },
     assertUnreachable
@@ -312,9 +312,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
+  var p1 = Promise.accept(5)
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.then(
     function(x) { assertAsync(x === 5, "resolved/thenable/then") },
     assertUnreachable
@@ -325,7 +325,7 @@
 (function() {
   var p1 = Promise.reject(5)
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "rejected/thenable/chain") },
     assertUnreachable
@@ -336,7 +336,7 @@
 (function() {
   var p1 = Promise.reject(5)
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.then(
     assertUnreachable,
     function(x) { assertAsync(x === 5, "rejected/thenable/then") }
@@ -347,8 +347,8 @@
 (function() {
   var deferred = Promise.defer()
   var p1 = deferred.promise
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "chain/resolve") },
     assertUnreachable
@@ -360,8 +360,8 @@
 (function() {
   var deferred = Promise.defer()
   var p1 = deferred.promise
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(
     function(x) { assertAsync(x === 5, "then/resolve") },
     assertUnreachable
@@ -373,8 +373,8 @@
 (function() {
   var deferred = Promise.defer()
   var p1 = deferred.promise
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "chain/reject") },
     assertUnreachable
@@ -386,8 +386,8 @@
 (function() {
   var deferred = Promise.defer()
   var p1 = deferred.promise
-  var p2 = Promise.resolve(p1)
-  var p3 = Promise.resolve(p2)
+  var p2 = Promise.accept(p1)
+  var p3 = Promise.accept(p2)
   p3.then(
     assertUnreachable,
     function(x) { assertAsync(x === 5, "then/reject") }
@@ -400,7 +400,7 @@
   var deferred = Promise.defer()
   var p1 = deferred.promise
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "chain/resolve/thenable") },
     assertUnreachable
@@ -413,7 +413,7 @@
   var deferred = Promise.defer()
   var p1 = deferred.promise
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.then(
     function(x) { assertAsync(x === 5, "then/resolve/thenable") },
     assertUnreachable
@@ -426,7 +426,7 @@
   var deferred = Promise.defer()
   var p1 = deferred.promise
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.chain(
     function(x) { assertAsync(x === p2, "chain/reject/thenable") },
     assertUnreachable
@@ -439,7 +439,7 @@
   var deferred = Promise.defer()
   var p1 = deferred.promise
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
-  var p3 = Promise.resolve(p2)
+  var p3 = Promise.accept(p2)
   p3.then(
     assertUnreachable,
     function(x) { assertAsync(x === 5, "then/reject/thenable") }
@@ -449,8 +449,8 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
   var deferred = Promise.defer()
   var p3 = deferred.promise
   p3.chain(
@@ -462,8 +462,8 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
   var deferred = Promise.defer()
   var p3 = deferred.promise
   p3.then(
@@ -475,8 +475,8 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
   var deferred = Promise.defer()
   var p3 = deferred.promise
   p3.chain(
@@ -488,8 +488,8 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
-  var p2 = Promise.resolve(p1)
+  var p1 = Promise.accept(5)
+  var p2 = Promise.accept(p1)
   var deferred = Promise.defer()
   var p3 = deferred.promise
   p3.then(
@@ -501,7 +501,7 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
+  var p1 = Promise.accept(5)
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
   var deferred = Promise.defer()
   var p3 = deferred.promise
@@ -514,7 +514,7 @@
 })();

 (function() {
-  var p1 = Promise.resolve(5)
+  var p1 = Promise.accept(5)
   var p2 = {then: function(onResolve, onReject) { onResolve(p1) }}
   var deferred = Promise.defer()
   var p3 = deferred.promise
@@ -527,7 +527,7 @@
 })();

 (function() {
-  var p1 = Promise.resolve(0)
+  var p1 = Promise.accept(0)
   var p2 = p1.chain(function(x) { return p2 }, assertUnreachable)
   p2.chain(
     assertUnreachable,
@@ -537,7 +537,7 @@
 })();

 (function() {
-  var p1 = Promise.resolve(0)
+  var p1 = Promise.accept(0)
   var p2 = p1.then(function(x) { return p2 }, assertUnreachable)
   p2.chain(
     assertUnreachable,
@@ -612,7 +612,7 @@
 (function() {
   var deferred = Promise.defer()
   var p1 = deferred.promise
-  var p2 = Promise.resolve(2)
+  var p2 = Promise.accept(2)
   var p3 = Promise.defer().promise
   Promise.all([p1, p2, p3]).chain(
     assertUnreachable,
@@ -646,9 +646,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(1)
-  var p2 = Promise.resolve(2)
-  var p3 = Promise.resolve(3)
+  var p1 = Promise.accept(1)
+  var p2 = Promise.accept(2)
+  var p3 = Promise.accept(3)
   Promise.race([p1, p2, p3]).chain(
     function(x) { assertAsync(x === 1, "resolved/one") },
     assertUnreachable
@@ -657,9 +657,9 @@
 })();

 (function() {
-  var p1 = Promise.resolve(1)
-  var p2 = Promise.resolve(2)
-  var p3 = Promise.resolve(3)
+  var p1 = Promise.accept(1)
+  var p2 = Promise.accept(2)
+  var p3 = Promise.accept(3)
   Promise.race([0, p1, p2, p3]).chain(
     function(x) { assertAsync(x === 0, "resolved-const/one") },
     assertUnreachable
@@ -694,7 +694,7 @@
 (function() {
   var deferred = Promise.defer()
   var p1 = deferred.promise
-  var p2 = Promise.resolve(2)
+  var p2 = Promise.accept(2)
   var p3 = Promise.defer().promise
   Promise.race([p1, p2, p3]).chain(
     function(x) { assertAsync(x === 2, "resolved/one") },
@@ -789,11 +789,11 @@
   assertTrue(log === "dncncnx6", "subclass/chain")

   log = ""
-  Promise.all([11, Promise.resolve(12), 13, MyPromise.resolve(14), 15, 16])
+  Promise.all([11, Promise.accept(12), 13, MyPromise.accept(14), 15, 16])
   assertTrue(log === "nx14cn", "subclass/all/arg")

   log = ""
- MyPromise.all([21, Promise.resolve(22), 23, MyPromise.resolve(24), 25, 26])
+  MyPromise.all([21, Promise.accept(22), 23, MyPromise.accept(24), 25, 26])
assertTrue(log === "nx24nnx21cnnx23cncnnx25cnnx26cn", "subclass/all/self")
 })();

=======================================
--- /branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast-expected.txt Mon Mar 10 12:30:47 2014 UTC +++ /branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast-expected.txt Tue Mar 18 15:03:35 2014 UTC
@@ -1,4 +1,4 @@
-Test Promise.cast
+Test Promise.resolve as cast

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

=======================================
--- /branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast.js Mon Mar 10 12:30:47 2014 UTC +++ /branches/bleeding_edge/test/webkit/fast/js/Promise-static-cast.js Tue Mar 18 15:03:35 2014 UTC
@@ -23,23 +23,23 @@

 // Flags: --harmony
 'use strict';
-description('Test Promise.cast');
+description('Test Promise.resolve as cast');

 var result = undefined;
 var result2 = undefined;

 var resolve;
 var value = new Promise(function (r) { resolve = r;} );
-var promise = Promise.cast(value);
+var promise = Promise.resolve(value);

-// If [[IsPromise]] is true, Promise.cast simply returns argument.
+// If [[IsPromise]] is true, Promise.resolve simply returns argument.
 shouldBe('promise', 'value');

 promise.then(function(res) {
   result = res;
   shouldBeEqualToString('result', 'hello');

-  return Promise.cast(42).then(function (res) {
+  return Promise.resolve(42).then(function (res) {
       result2 = res;
       shouldBe('result2', '42');
   });

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to