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 3 // found in the LICENSE file. 4 5 // Use the <code>chrome.webrtcLoggingPrivate</code> API to control diagnostic 6 // WebRTC logging. 7 [nodoc] namespace webrtcLoggingPrivate { 8 dictionary MetaDataEntry { 9 // The meta data entry key. 10 DOMString key; 11 12 // The meta data entry value. 13 DOMString value; 14 }; 15 16 dictionary UploadResult { 17 // The report ID for the uploaded log. Will be empty if not successful. 18 DOMString reportId; 19 }; 20 21 callback GenericDoneCallback = void (); 22 callback UploadDoneCallback = void (UploadResult result); 23 24 interface Functions { 25 // For all functions, |tabId| determines which render process to apply 26 // the operation on. |tabId| is the identifier from the chrome.tabs API. 27 // |securityOrigin| is the security origin for the tab identified by |tabId| 28 // and is used for verifying that the tab is the correct one and has not 29 // been navigated away from. 30 31 // Sets additional custom meta data that will be uploaded along with the 32 // log. |metaData| is a dictionary of the metadata (key, value). 33 static void setMetaData(long tabId, 34 DOMString securityOrigin, 35 MetaDataEntry[] metaData, 36 GenericDoneCallback callback); 37 38 // Starts logging. If logging has already been started for this render 39 // process, the call will be ignored. |appSessionId| is the unique session 40 // ID which will be added to the log. 41 static void start(long tabId, 42 DOMString securityOrigin, 43 GenericDoneCallback callback); 44 45 // Sets whether the log should be uploaded automatically for the case when 46 // the render process goes away (tab is closed or crashes) and stop has not 47 // been called before that. If |shouldUpload| is true it will be uploaded, 48 // otherwise it will be discarded. The default setting is to discard it. 49 static void setUploadOnRenderClose(long tabId, 50 DOMString securityOrigin, 51 boolean shouldUpload); 52 53 // Stops logging. After stop has finished, either upload() or discard() 54 // should be called, otherwise the log will be kept in memory until the 55 // render process is closed or logging restarted. 56 static void stop(long tabId, 57 DOMString securityOrigin, 58 GenericDoneCallback callback); 59 60 // Uploads the log. Logging must be stopped before this function is called. 61 static void upload(long tabId, 62 DOMString securityOrigin, 63 UploadDoneCallback callback); 64 65 // Discards the log. Logging must be stopped before this function is called. 66 static void discard(long tabId, 67 DOMString securityOrigin, 68 GenericDoneCallback callback); 69 }; 70 }; 71