4444 title : "Page Embedded Permission Control" ,
4545 href : "https://github.com/WICG/PEPC" ,
4646 } ,
47+ "usermedia-legacy-origin-trial" : {
48+ title : "Trial for UserMediaElement" ,
49+ href : "https://developer.chrome.com/origintrials/#/view_trial/3736298840857247745" ,
50+ } ,
4751 } ,
4852 } ;
4953 </ script >
@@ -90,100 +94,91 @@ <h1>Differences between Chrome's [[[usermedia-mvp]]] and
9094 in several phases.
9195 </ p >
9296 < p >
93- With the initial public release we will support the MVP API ([[[#mvp]]]).
97+ The initial public release ("MVP") will support the API specified in
98+ [[[mediacapture-extensions#media-capture-html-elements]]].
9499 The older API shape ([[[#original-pepc]]]) will be supported behind an
95- origin trial, to allow origin trial participants to transition on their
96- own timeline.
100+ origin trial ([[[usermedia-legacy-origin-trial]]]),
101+ to allow origin trial participants to transition on their
102+ own timeline. The current plan is to end the
103+ [[[usermedia-legacy-origin-trial]]] on November 3rd, 2026.
97104 </ p >
98105 < dl >
99- < dt > soon — Standardized API </ dt >
106+ < dt > soon — Post-MVP </ dt >
100107 < dd >
101- The API as described in
102- [[[mediacapture-extensions#the-usermedia-html-element]]], including
103- <usermedia>, <camera>, and <microphone>.
108+ We expect future developments of the API to be first specified
109+ in [[mediacapture-extensions]].
104110 </ dd >
105- < dt > M151 & later — <usermedia> element MVP</ dt >
111+ < dt > M153 & later — <usermedia>, <camera>, and
112+ <microphone> elements.
106113 < dd >
107- The first publicly available version. It is based on the
108- [[mediacapture-extensions]], but only implements a subset of the
109- specification.
110- This API is described in [[[#mvp]]].
114+ The first publicly available version implements
115+ [[[mediacapture-extensions#the-usermedia-html-element]]].
116+ Behaviours not covered by the current version of the spec, like
117+ what happens when the element is activated while a stream is playing
118+ ("second click"), are postponed to any post-MVP versions.
111119 </ dd >
112- < dt > M144 - M150 — <usermedia> element [[[origin-trials|origin trial]]]</ dt >
120+ < dt > M144 - M152 — <usermedia> element
121+ [[[origin-trials|origin trial]]]</ dt >
113122 < dd >
114123 The original implementation, based on the original
115124 [[[pepc#page-embedded-permission-control-pepc]]] design, described
116125 in [[[#original-pepc]]].
117126 This API was available originally behind an origin trial.
118- For a limited time, it will continue to be available behind the
119- origin trial, concurrently with the MVP, as a
127+ For a limited time it will continue to be available behind the
128+ [[[usermedia-legacy-origin-trial]]] origin trial, concurrently with
129+ the MVP, as an
120130 [[[origin-trials#deprecation_trials|reverse origin trial]]].
121131 </ dd >
122- < dt > pre M144 — <permission> element [[[origin-trials|origin trial]]]</ dt >
132+ < dt > pre M144 — <permission> element
133+ [[[origin-trials|origin trial]]]</ dt >
123134 < dd >
124- [[[pepc]]]'s <permission> element is the ancestor of
125- <usermedia>. It is no longer supported.
135+ [[[pepc]]]'s < a data-link-type =element " href=https://wicg.github.io/PEPC/permission-element.html#the-permission-element> permission</ a >
136+ element is the ancestor of
137+ < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-usermedia > usermedia</ a > .
138+ It is no longer supported.
126139 </ dd >
127140 </ dl >
128141 </ section >
129142 < section id ="mvp ">
130- < h1 > MVP API </ h1 >
143+ < h1 > First public version / MVP, M153 </ h1 >
131144
132145 < p >
133146 The [[usermedia-mvp|MVP]]'s
134147 < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-usermedia > usermedia</ a > element uses the following
135- [=element interface=]. Note that it is a strict subset of the interface
136- speciefied in [[[mediacapture-extensions#the-usermedia-html-element]]].
148+ [=element interface=].
149+ < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-camera > camera</ a >
150+ and < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-microphone > microphone</ a >
151+ element are analogous. These elements and their interfaces are fully
152+ specified in
153+ [[[mediacapture-extensions#the-usermedia-html-element]]].
137154 </ p >
138155
139156 < pre >
140157 [Exposed=Window]
141158 interface HTMLUserMediaElement : HTMLElement {
142159 [HTMLConstructor] constructor();
143160
161+ readonly attribute MediaStream? stream;
144162 readonly attribute DOMException? error;
163+ undefined setConstraints(optional HTMLMediaStreamConstraints constraints = {});
164+
145165 attribute EventHandler onstream;
146166 attribute EventHandler oncancel;
147167 attribute EventHandler onerror;
148168 };
149169 </ pre >
150170
151171 < p >
152- < a data-link-type =attribute href =https://w3c.github.io/mediacapture-extensions/#dom-htmlusermediaelement-stream > stream</ a > ,
153- < a data-link-type =attribute href =https://w3c.github.io/mediacapture-extensions/#dom-htmlusermediaelement-error > error</ a > ,
154- < a data-link-type =attribute href =https://w3c.github.io/mediacapture-extensions/#dom-htmlusermediaelement-onstream > onstream</ a > ,
155- < a data-link-type =attribute href =https://w3c.github.io/mediacapture-extensions/#dom-htmlusermediaelement-oncancel > oncancel</ a > , and
156- < a data-link-type =attribute href =https://w3c.github.io/mediacapture-extensions/#dom-htmlusermediaelement-onerror > onerror</ a >
157- attributes work as in [[mediacapture-extensions]]'s
158- < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-usermedia > usermedia</ a > element.
159- </ p >
160-
161- < p >
162- The [=EventTarget/activation behavior=] is as follows:
172+ The main differences to the legacy API are:
163173 </ p >
164-
165174 < ul >
166- < li >
167- Activation of < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-usermedia > usermedia</ a >
168- will call directly into the [[permissions|Permissions API]], rather than
169- letting {{MediaDevices/getUserMedia()}} handle it. This should be
170- functionally identical, but may show a different prompt text.
171- </ li >
172- < li >
173- "Second" activation — activation while a stream is active —
174- of < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-usermedia > usermedia</ a >
175- will have no special effect, other than firing the [[DOM]]
176- < a data-dfn-type =event > click</ a >
177- event. [[mediacapture-extensions]] presently leaves this aspect
178- unspecified.
179- </ li >
175+ < li > Eliminate the < code > type</ code > and < code > isTypeSupported</ code >
176+ attributes, and instead have three different element types.</ li >
177+ < li > The < code > stream</ code > is now directly accessible as an
178+ attribute.</ li >
179+ < li > The "blocker" logic still exists, but is not exposed to the
180+ developer.</ li >
180181 </ ul >
181-
182- < p >
183- The < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-camera > camera</ a > and
184- < a data-link-type =element href =https://w3c.github.io/mediacapture-extensions/#dfn-microphone > microphone</ a >
185- elements are expected to follow shortly.
186- </ p >
187182 </ section >
188183 < section id ="original-pepc ">
189184 < h1 > Legacy PEPC API</ h1 >
@@ -207,7 +202,6 @@ <h1>Legacy PEPC API</h1>
207202 interface HTMLUserMediaElement : HTMLElement {
208203 [HTMLConstructor] constructor();
209204
210- readonly attribute MediaStream? stream;
211205 undefined setConstraints(MediaStreamConstraints constraints);
212206 readonly attribute DOMException? error;
213207
0 commit comments