| Index: LayoutTests/fast/js/Promise-then-callback-receiver.html | 
| diff --git a/LayoutTests/fast/js/Promise-then-callback-receiver.html b/LayoutTests/fast/js/Promise-then-callback-receiver.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..bc4f9a759059018625b6741185781bf496418da8 | 
| --- /dev/null | 
| +++ b/LayoutTests/fast/js/Promise-then-callback-receiver.html | 
| @@ -0,0 +1,61 @@ | 
| +<!DOCTYPE html> | 
| +<html> | 
| +<head> | 
| +<script src="resources/js-test-pre.js"></script> | 
| +</head> | 
| +<body> | 
| +<div id="description"></div> | 
| +<div id="console"></div> | 
| +<script> | 
| +window.jsTestIsAsync = true; | 
| + | 
| +description('Test Promise.'); | 
| + | 
| +var thisInOnFulfilledSloppy; | 
| +var thisInOnRejectedSloppy; | 
| + | 
| +var thisInOnFulfilledStrict; | 
| +var thisInOnRejectedStrict; | 
| + | 
| +Promise.resolve().then(function () { | 
| +  return Promise.resolve(42).then(function () { | 
| +    testPassed('fulfilled'); | 
| +    window.thisInOnFulfilledSloppy = this; | 
| +    shouldBe('thisInOnFulfilledSloppy', 'window'); | 
| +  }, function () { | 
| +    testFailed('rejected'); | 
| +  }); | 
| +}).then(function () { | 
| +  return Promise.reject(42).then(function () { | 
| +    testFailed('fulfilled'); | 
| +  }, function () { | 
| +    testPassed('rejected'); | 
| +    window.thisInOnRejectedSloppy = this; | 
| +    shouldBe('thisInOnRejectedSloppy', 'window'); | 
| +  }); | 
| +}).then(function () { | 
| +  return Promise.resolve(42).then(function () { | 
| +    'use strict'; | 
| +    testPassed('fulfilled'); | 
| +    window.thisInOnFulfilledStrict = this; | 
| +    shouldBe('thisInOnFulfilledStrict', 'undefined'); | 
| +  }, function () { | 
| +    'use strict'; | 
| +    testFailed('rejected'); | 
| +  }); | 
| +}).then(function () { | 
| +  return Promise.reject(42).then(function () { | 
| +    'use strict'; | 
| +    testFailed('fulfilled'); | 
| +  }, function () { | 
| +    'use strict'; | 
| +    testPassed('rejected'); | 
| +    window.thisInOnRejectedStrict = this; | 
| +    shouldBe('thisInOnRejectedStrict', 'undefined'); | 
| +  }); | 
| +}).then(finishJSTest, finishJSTest); | 
| + | 
| +</script> | 
| +<script src="resources/js-test-post.js"></script> | 
| +</body> | 
| +</html> | 
|  |