Promise constructor should not be enumerable.
authorrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 26 Mar 2014 10:14:04 +0000 (10:14 +0000)
committerrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 26 Mar 2014 10:14:04 +0000 (10:14 +0000)
Promise should not be enumerable in the global object.

BUG=352597
R=rossberg@chromium.org
LOG=Y

Review URL: https://codereview.chromium.org/211943004

Patch from Yutaka Hirano <yhirano@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/promise.js

index 23e5125..9937f0c 100644 (file)
@@ -306,9 +306,8 @@ function PromiseOne(values) {
 //-------------------------------------------------------------------
 
 function SetUpPromise() {
-  %CheckIsBootstrapping()
-  var global_receiver = %GlobalReceiver(global);
-  global_receiver.Promise = $Promise;
+  %CheckIsBootstrapping();
+  %SetProperty(global, 'Promise', $Promise, DONT_ENUM);
   InstallFunctions($Promise, DONT_ENUM, [
     "defer", PromiseDeferred,
     "accept", PromiseResolved,