summaryrefslogtreecommitdiffstats
path: root/b2g/chrome/content/test/mochitest/test_recordingStatus_kill_content_process.html
diff options
context:
space:
mode:
Diffstat (limited to 'b2g/chrome/content/test/mochitest/test_recordingStatus_kill_content_process.html')
-rw-r--r--b2g/chrome/content/test/mochitest/test_recordingStatus_kill_content_process.html72
1 files changed, 72 insertions, 0 deletions
diff --git a/b2g/chrome/content/test/mochitest/test_recordingStatus_kill_content_process.html b/b2g/chrome/content/test/mochitest/test_recordingStatus_kill_content_process.html
new file mode 100644
index 000000000..239c2c2d5
--- /dev/null
+++ b/b2g/chrome/content/test/mochitest/test_recordingStatus_kill_content_process.html
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Test for Recording Status after process shutdown</title>
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="text/javascript;version=1.7" src="RecordingStatusHelper.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<pre id="test">
+<script class="testbody" type="text/javascript;version=1.7">
+SimpleTest.waitForExplicitFinish();
+
+function test() {
+ let localStreams = [];
+ TestInit().then(function(eventHelper) {
+ /* step 1: load iframe whilch creates audio stream
+ * expect: see one mozChromeEvent for audio recording start.
+ */
+ let eventDeferred = expectEvent({ active: true,
+ isAudio: true,
+ isVideo: false
+ }, eventHelper);
+
+ let gumDeferred = expectStream({ audio: true,
+ fake: true
+ }, function(stream) { localStreams.push(stream); });
+
+ return expectAll([eventDeferred, gumDeferred]);
+ }).then(function([eventHelper]) {
+ /* step 2: create video stream
+ * expect: see one mozChromeEvent for audio recording start.
+ */
+ let eventDeferred = expectEvent({ active: true,
+ isAudio: true,
+ isVideo: true
+ }, eventHelper);
+
+ let gumDeferred = expectStream({ video: true,
+ fake: true
+ }, function(stream) { localStreams.push(stream); });
+
+ return expectAll([eventDeferred, gumDeferred]);
+ }).then(function([eventHelper]) {
+ /* step 3: close the audio stream
+ * expect: see one mozChromeEvent for recording stop.
+ */
+ let eventDeferred = expectEvent({ active: false,
+ isAudio: false,
+ isVideo: false
+ }, eventHelper);
+
+ eventHelper.fakeShutdown();
+ info('simulate content process been killed');
+ return eventDeferred;
+ }).then(function(eventHelper) {
+ eventHelper.finish();
+ SimpleTest.finish();
+ });
+}
+
+SpecialPowers.pushPrefEnv({
+ "set": [
+ ['media.navigator.permission.disabled', true]
+ ]
+}, test);
+
+</script>
+</pre>
+</body>
+</html>