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

Side by Side Diff: chrome/common/extensions/api/webrtc_audio_private.idl

Issue 880393002: Fix webrtcAudioPrivate API to handle requests from <webview>s. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update test Created 5 years, 10 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // The <code>chrome.webrtcAudioPrivate</code> API allows enumeration 5 // The <code>chrome.webrtcAudioPrivate</code> API allows enumeration
6 // of audio output (sink) devices as well as getting and setting the 6 // of audio output (sink) devices as well as getting and setting the
7 // active device for a given tab. 7 // active device for a given requesting process.
8 // 8 //
9 // Note that device IDs as used in this API are opaque (i.e. they are 9 // Note that device IDs as used in this API are opaque (i.e. they are
10 // not the hardware identifier of the device) and while they are 10 // not the hardware identifier of the device) and while they are
11 // unique and persistent across sessions, they are valid only to the 11 // unique and persistent across sessions, they are valid only to the
12 // extension calling this API (i.e. they cannot be shared between 12 // extension calling this API (i.e. they cannot be shared between
13 // extensions). 13 // extensions).
14 // 14 //
15 // See http://goo.gl/8rOmgk for further documentation of this API. 15 // See http://goo.gl/8rOmgk for further documentation of this API.
16 16
17 namespace webrtcAudioPrivate { 17 namespace webrtcAudioPrivate {
(...skipping 16 matching lines...) Expand all
34 boolean isReady; 34 boolean isReady;
35 // True if this device is the default audio sink device on the 35 // True if this device is the default audio sink device on the
36 // machine. 36 // machine.
37 boolean isDefault; 37 boolean isDefault;
38 }; 38 };
39 39
40 callback GetSinksCallback = void(SinkInfo[] sinkInfo); 40 callback GetSinksCallback = void(SinkInfo[] sinkInfo);
41 callback SinkIdCallback = void(DOMString sinkId); 41 callback SinkIdCallback = void(DOMString sinkId);
42 callback CompletionCallback = void(); 42 callback CompletionCallback = void();
43 43
44 dictionary RequestInfo {
45 // The tab identifier from the chrome.tabs API, if the request is from a
46 // tab.
47 long? tabId;
48 // The guest process id for the requester, if the request is from a
49 // webview.
50 long? guestProcessId;
51 };
52
44 interface Functions { 53 interface Functions {
45 // Retrieves a list of available audio sink devices. 54 // Retrieves a list of available audio sink devices.
46 static void getSinks(GetSinksCallback callback); 55 static void getSinks(GetSinksCallback callback);
47 56
48 // Retrieves the currently active audio sink for the given tab. 57 // Retrieves the currently active audio sink for the given requesting
49 static void getActiveSink(long tabId, 58 // process.
59 static void getActiveSink(RequestInfo request,
50 SinkIdCallback callback); 60 SinkIdCallback callback);
51 61
52 // Sets the active audio sink device for the specified tab. 62 // Sets the active audio sink device for the specified requesting process.
53 static void setActiveSink(long tabId, 63 static void setActiveSink(RequestInfo request,
54 DOMString sinkId, 64 DOMString sinkId,
55 optional CompletionCallback callback); 65 optional CompletionCallback callback);
56 66
57 // Given a security origin and an input device ID valid for that 67 // Given a security origin and an input device ID valid for that
58 // security origin, retrieve an audio sink ID valid for the 68 // security origin, retrieve an audio sink ID valid for the
59 // extension, or the empty string if there is no associated audio 69 // extension, or the empty string if there is no associated audio
60 // sink. 70 // sink.
61 // 71 //
62 // The associated sink ID can be used as a sink ID for 72 // The associated sink ID can be used as a sink ID for
63 // setActiveSink. It is valid irrespective of which tab you are 73 // setActiveSink. It is valid irrespective of which process you are
64 // setting the active sink for. 74 // setting the active sink for.
65 static void getAssociatedSink(DOMString securityOrigin, 75 static void getAssociatedSink(DOMString securityOrigin,
66 DOMString sourceIdInOrigin, 76 DOMString sourceIdInOrigin,
67 SinkIdCallback cb); 77 SinkIdCallback cb);
68 }; 78 };
69 79
70 interface Events { 80 interface Events {
71 // Fired when audio sink devices are added or removed. 81 // Fired when audio sink devices are added or removed.
72 static void onSinksChanged(); 82 static void onSinksChanged();
73 }; 83 };
74 }; 84 };
OLDNEW
« no previous file with comments | « chrome/browser/resources/hangout_services/thunk.js ('k') | content/browser/renderer_host/media/audio_renderer_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698