Index: LayoutTests/webmidi/requestmidiaccess-in-detached-frame.html |
diff --git a/LayoutTests/webmidi/requestmidiaccess-fail.html b/LayoutTests/webmidi/requestmidiaccess-in-detached-frame.html |
similarity index 50% |
copy from LayoutTests/webmidi/requestmidiaccess-fail.html |
copy to LayoutTests/webmidi/requestmidiaccess-in-detached-frame.html |
index 1baaedc91786a059725b7dedbe3d573359556086..47273b629dac451a1062547b7038f139afb51278 100644 |
--- a/LayoutTests/webmidi/requestmidiaccess-fail.html |
+++ b/LayoutTests/webmidi/requestmidiaccess-in-detached-frame.html |
@@ -5,25 +5,27 @@ |
</head> |
<body> |
<script> |
-description("Tests navigator.requestMIDIAccess failure."); |
+description("Tests navigator.requestMIDIAccess fails in a detached frame."); |
-function successCallback(access) { |
+window.jsTestIsAsync = true; |
+iframe = document.createElement('iframe'); |
+document.body.appendChild(iframe); |
+contentNavigator = iframe.contentWindow.navigator; |
+document.body.removeChild(iframe); |
+ |
+// set testRunner configuration so that requestMIDIAccess returns "InvalidStateError". |
+contentNavigator.requestMIDIAccess().then(function() { |
testFailed("requestMIDIAccess() does not fail unexpectedly."); |
finishJSTest(); |
-} |
- |
-function errorCallback(error) { |
+}, function() { |
errorName = error.name; |
shouldBe("errorName", "'InvalidStateError'"); |
testPassed("requestMIDIAccess() fail as expected."); |
finishJSTest(); |
-} |
- |
-window.jsTestIsAsync = true; |
- |
-// set testRunner configuration so that requestMIDIAccess returns "InvalidStateError". |
-testRunner.setMIDIAccessorResult(false); |
-shouldNotThrow("navigator.requestMIDIAccess().then(successCallback, errorCallback)"); |
+}); |
+// FIXME: errorCallback should be called, but due to the Blink Promise impelementation the |
+// returned Promise never be resolved nor rejected. |
+finishJSTest(); |
</script> |
</body> |