-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
Copy pathdeprecation_report.html
114 lines (95 loc) · 2.64 KB
/
deprecation_report.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE html>
<html lang="en">
<head>
<title>ReportingObserver demo: Deprecation report</title>
<meta charset="utf-8">
<style>
video {
display: block;
border: 2px solid black;
margin: 0 auto;
}
</style>
</head>
<body>
<video controls>
<p>Video not supported in your browser.</p>
</video>
<button>Show reports</button>
<div class="output"></div>
<script>
// Get reference to button
const reportBtn = document.querySelector('button');
// Set up function to display reports
function displayReports(reports) {
const outputElem = document.querySelector('.output');
const list = document.createElement('ul');
outputElem.appendChild(list);
for(let i = 0; i < reports.length; i++) {
let listItem = document.createElement('li');
let textNode = document.createTextNode('Report ' + (i + 1) + ', type: ' + reports[i].type);
listItem.appendChild(textNode);
let innerList = document.createElement('ul');
listItem.appendChild(innerList);
list.appendChild(listItem);
for (let key in reports[i].body) {
let innerListItem = document.createElement('li');
let keyValue = reports[i].body[key];
innerListItem.textContent = key + ': ' + keyValue;
innerList.appendChild(innerListItem);
}
}
}
// Set up reporting observer
let options = {
types: ['deprecation'],
buffered: true
}
let observer = new ReportingObserver(function(reports, observer) {
reportBtn.onclick = () => displayReports(reports);
}, options);
// try to use old-style getUserMedia
const videoElem = document.querySelector('video');
const constraints = {
audio: true,
video: {
width: 480,
height: 320
}
}
observer.observe();
if(navigator.mozGetUserMedia) {
navigator.mozGetUserMedia(
constraints,
success,
failure);
} else {
navigator.getUserMedia(
constraints,
success,
failure);
}
let takenRecords = observer.takeRecords();
console.log(takenRecords);
if(navigator.mozGetUserMedia) {
navigator.mozGetUserMedia(
constraints,
success,
failure);
} else {
navigator.getUserMedia(
constraints,
success,
failure);
}
// observer.disconnect();
function success(stream) {
videoElem.srcObject = stream;
videoElem.onloadedmetadata = () => videoElem.play();
}
function failure(e) {
console.log('The following gUM error occured: ' + e)
}
</script>
</body>
</html>