Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: tools/dom/templates/html/impl/impl_Navigator.darttemplate

Issue 11871018: Revert "Fixing up Navigator.getUserMedia." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/dom/templates/html/impl/impl_MediaStream.darttemplate ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 part of $LIBRARYNAME;
6 $ANNOTATIONS
7 class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
8
9 $if DART2JS
10 @DomName('Navigator.language')
11 String get language => JS('String', '#.language || #.userLanguage', this,
12 this);
13 $endif
14
15 /**
16 * Gets a stream (video and or audio) from the local computer.
17 *
18 * Use [MediaStream.supported] to check if this is supported by the current
19 * platform.
20 *
21 * Example use:
22 *
23 * window.navigator.getUserMedia(audio:true, video: true).then((stream) {
24 * var video = new VideoElement()
25 * ..autoplay = true
26 * ..src = Url.createObjectUrl(stream);
27 * document.body.append(video);
28 * });
29 *
30 * See also:
31 * * [MediaStream.supported]
32 */
33 @DomName('Navigator.webkitGetUserMedia')
34 @SupportedBrowser(SupportedBrowser.CHROME)
35 @Experimental()
36 Future<LocalMediaStream> getUserMedia({bool audio=false, bool video=false}) {
37 var completer = new Completer<LocalMediaStream>();
38 var options = {
39 'audio': audio,
40 'video': video
41 };
42 $if DART2JS
43 _ensureGetUserMedia();
44 this._getUserMedia(convertDartToNative_Dictionary(options),
45 (stream) {
46 completer.complete(stream);
47 },
48 (error) {
49 completer.completeError(error);
50 });
51 $else
52 this._getUserMedia(options,
53 (stream) {
54 completer.complete(stream);
55 },
56 (error) {
57 completer.completeError(error);
58 });
59 $endif
60 return completer.future;
61 }
62
63 $if DART2JS
64 _ensureGetUserMedia() {
65 if (JS('bool', '!(#.getUserMedia)', this)) {
66 JS('void', '#.getUserMedia = '
67 '(#.getUserMedia || #.webkitGetUserMedia || #.mozGetUserMedia ||'
68 '#.msGetUserMedia)', this, this, this, this, this);
69 }
70 }
71
72 @JSName('getUserMedia')
73 void _getUserMedia(options, _NavigatorUserMediaSuccessCallback success,
74 _NavigatorUserMediaErrorCallback error) native;
75 $endif
76
77 $!MEMBERS
78 }
OLDNEW
« no previous file with comments | « tools/dom/templates/html/impl/impl_MediaStream.darttemplate ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698