| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <title>Shadowing then()</title> |
| </head> |
| <body> |
| <!-- |
| This test verifies that the implementation of navigator.getUserMedia does not use public promise APIs. |
| --> |
| <p id="output"></p> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| function endTest(testStatus) { |
| document.getElementById("output").textContent = testStatus; |
| testRunner.notifyDone(); |
| } |
| |
| // Shadow Promise.prototype.then |
| Promise.prototype.then = (function () { |
| const realThen = Promise.prototype.then; |
| return function () { |
| endTest("FAIL: Executed shadowed, public .then()"); |
| } |
| })(); |
| |
| function gotUserMedia(mediaStream) { |
| endTest("FAIL: Got user media"); |
| } |
| |
| function userMediaError(error) { |
| endTest("PASS"); |
| } |
| |
| var options = { audio: false, video: false }; |
| navigator.getUserMedia(options, gotUserMedia, userMediaError); |
| |
| </script> |
| </body> |
| </html> |