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

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

Issue 1221483002: New tabCapture.captureOffscreenTab API, initially for Presentation API 1UA mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revived and refreshed after API proposal process. Moar tests. Created 5 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Use the <code>chrome.tabCapture</code> API to interact with tab media 5 // Use the <code>chrome.tabCapture</code> API to interact with tab media
6 // streams. 6 // streams.
7 namespace tabCapture { 7 namespace tabCapture {
8 8
9 enum TabCaptureState { 9 enum TabCaptureState {
10 pending, 10 pending,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 static void capture(CaptureOptions options, 59 static void capture(CaptureOptions options,
60 GetTabMediaCallback callback); 60 GetTabMediaCallback callback);
61 61
62 // Returns a list of tabs that have requested capture or are being 62 // Returns a list of tabs that have requested capture or are being
63 // captured, i.e. status != stopped and status != error. 63 // captured, i.e. status != stopped and status != error.
64 // This allows extensions to inform the user that there is an existing 64 // This allows extensions to inform the user that there is an existing
65 // tab capture that would prevent a new tab capture from succeeding (or 65 // tab capture that would prevent a new tab capture from succeeding (or
66 // to prevent redundant requests for the same tab). 66 // to prevent redundant requests for the same tab).
67 // |callback| : Callback invoked with CaptureInfo[] for captured tabs. 67 // |callback| : Callback invoked with CaptureInfo[] for captured tabs.
68 static void getCapturedTabs(GetCapturedTabsCallback callback); 68 static void getCapturedTabs(GetCapturedTabsCallback callback);
69
70 // Locates, or creates on-demand, an off-screen tab identified by a
71 // |startUrl| and |id|. When created, the off-screen tab is automatically
not at google - send to devlin 2015/09/25 16:56:03 Where does the id come from?
miu 2015/09/25 17:35:32 This is explained a few sentences later in this pa
not at google - send to devlin 2015/09/25 17:42:04 Yeah I didn't read on, but my follow-up was, it do
miu 2015/09/25 18:47:54 See line 268 in tab_capture_api.cc. It is passed
not at google - send to devlin 2015/09/25 19:13:24 ok, 3rd question: can the API generate one itself?
miu 2015/09/25 21:59:17 As I was answering your question, I'm now thinking
not at google - send to devlin 2015/09/25 22:29:55 Yes I'd like to avoid having an ID here. If you wa
miu 2015/09/26 20:40:14 Done. However, I forgot to mention there is a sec
not at google - send to devlin 2015/09/30 01:32:11 I'll reply there.
miu 2015/09/30 19:46:38 Didn't see a comment there. Does that mean this i
72 // navigated to the given |startUrl|. Then, capture is started and a
73 // MediaStream is returned via |callback|. |id| can be any client-provided
74 // string. It is used only to disambiguate off-screen tabs with the same
75 // |startUrl|.
76 //
77 // Off-screen tabs are isolated from the user's normal browser experience.
78 // They do not show up in the browser window or tab strip, nor are they
79 // visible to extensions (e.g., via the chrome.tabs.* APIs).
80 //
81 // An off-screen tab remains alive until one of three events occurs: 1. All
82 // MediaStreams providing its captured content are closed; 2. the page
83 // self-closes (e.g., via window.close()); 3. the extension that called
84 // captureOffscreenTab() is unloaded.
85 //
86 // Sandboxing: The off-screen tab does not have any access whatsoever to the
87 // local user profile (including cookies, HTTP auth, etc.). Instead, it is
88 // provided its own dedicated, non-shared off-the-record profile. Also, it
not at google - send to devlin 2015/09/25 22:29:55 Can we say "sandboxed" instead of "off-the-record"
miu 2015/09/26 20:40:14 Done.
89 // cannot access any interactive resources such as keyboard/mouse input,
90 // media recording devices (e.g., web cams), copy/paste to/from the system
91 // clipboard, etc.
92 //
93 // Note: This is a new API, currently only available via whitelisting, and
not at google - send to devlin 2015/09/25 22:29:55 whitelisting? This is dev channel now right? The d
miu 2015/09/26 20:40:14 I wasn't sure we were ready for dev-channel yet, g
not at google - send to devlin 2015/09/30 01:32:11 Makes sense. Just double checking.
94 // may change without notice.
95 //
96 // |options| : Constraints for the capture and returned MediaStream.
97 // |callback| : <code>null</code> on error.
98 static void captureOffscreenTab(DOMString startUrl,
99 DOMString id,
100 CaptureOptions options,
101 GetTabMediaCallback callback);
69 }; 102 };
70 103
71 interface Events { 104 interface Events {
72 // Event fired when the capture status of a tab changes. 105 // Event fired when the capture status of a tab changes.
73 // This allows extension authors to keep track of the capture status of 106 // This allows extension authors to keep track of the capture status of
74 // tabs to keep UI elements like page actions in sync. 107 // tabs to keep UI elements like page actions in sync.
75 // |info| : CaptureInfo with new capture status for the tab. 108 // |info| : CaptureInfo with new capture status for the tab.
76 static void onStatusChanged(CaptureInfo info); 109 static void onStatusChanged(CaptureInfo info);
77 }; 110 };
78 111
79 }; 112 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698