function DumpCreator(containerElement) {
    /**
     * The root element of the dump creation UI.
     * @type {Element}
     * @private
     */
    this.root_ = document.createElement('details');

    this.root_.className = 'peer-connection-dump-root';
    containerElement.appendChild(this.root_);
    var summary = document.createElement('summary');
    this.root_.appendChild(summary);
    summary.textContent = 'Create Dump';
    var content = document.createElement('div');
    this.root_.appendChild(content);

    content.innerHTML = '<div><a><button>' +
        'Download the PeerConnection updates and stats data' +
        '</button></a></div>' +
        '<p><label><input type=checkbox>' +
        'Enable diagnostic audio recordings</label></p>' +
        '<p class=audio-diagnostic-dumps-info>A diagnostic audio recording is' +
        ' used for analyzing audio problems. It consists of several files and' +
        ' contains the audio played out to the speaker (output) and captured' +
        ' from the microphone (input). The data is saved locally.' +
        ' Checking this box will enable recordings of all ongoing input and' +
        ' output audio streams (including non-WebRTC streams) and for future' +
        ' audio streams. When the box is unchecked or this page is closed,' +
        ' all ongoing recordings will be stopped and this recording' +
        ' functionality disabled. Recording audio from multiple tabs is' +
        ' supported as well as multiple recordings from the same tab.</p>' +
        '<p>When enabling, select a base filename to which the following' +
        ' suffixes will be added:</p>' +
        '<p><div>&lt;base filename&gt;.&lt;render process ID&gt;' +
        '.aec_dump.&lt;AEC dump recording ID&gt;</div>' +
        '<div>&lt;base filename&gt;.input.&lt;stream recording ID&gt;.wav' +
        '</div><div>' +
        '&lt;base filename&gt;.output.&lt;stream recording ID&gt;.wav' +
        '</div></p>' +
        '<p class=audio-diagnostic-dumps-info>It is recommended to choose a' +
        ' new base filename each time the feature is enabled to avoid ending' +
        ' up with partially overwritten or unusable audio files.</p>' +
        '<p><label><input type=checkbox disabled=true>' +
        'Enable diagnostic packet and event recording' +
        '<label name="placeholder_for_warning"/></label></p>' +
        '<p class=audio-diagnostic-dumps-info>A diagnostic packet and event' +
        ' recording can be used for analyzing various issues related to' +
        ' thread starvation, jitter buffers or bandwidth estimation. Two' +
        ' types of data are logged. First, incoming and outgoing RTP headers' +
        ' and RTCP packets are logged. These do not include any audio or' +
        ' video information, nor any other types of personally identifiable' +
        ' information (so no IP addresses or URLs). Checking this box will' +
        ' enable the recording for ongoing WebRTC calls and for future' +
        ' WebRTC calls. When the box is unchecked or this page is closed,' +
        ' all ongoing recordings will be stopped and this recording' +
        ' functionality will be disabled for future WebRTC calls. Recording' +
        ' in multiple tabs or multiple recordings in the same tab will cause' +
        ' multiple log files to be created. When enabling, a filename for the' +
        ' recording can be entered. The entered filename is used as a' +
        ' base, to which the following suffixes will be appended.</p>' +
        ' <p>&lt;base filename&gt;_&lt;date&gt;_&lt;timestamp&gt;_&lt;render ' +
        'process ID&gt;_&lt;recording ID&gt;</p>' +
        '<p class=audio-diagnostic-dumps-info>If a file with the same name' +
        ' already exists, it will be overwritten. No more than 5 logfiles ' +
        ' will be created, and each of them is limited to 60MB of storage. ' +
        ' On Android these limits are 3 files of at most 10MB each. ' +
        ' When the limit is reached, the checkbox must be unchecked and ' +
        ' rechecked to resume logging.</p>';
    content.getElementsByTagName('a')[0].addEventListener(
        'click', this.onDownloadData_.bind(this));
    content.getElementsByTagName('input')[0].addEventListener(
        'click', this.onAudioDebugRecordingsChanged_.bind(this));
    content.getElementsByTagName('input')[1].addEventListener(
        'click', this.onEventLogRecordingsChanged_.bind(this));
  }
/**
   * @param {Element} containerElement The parent element of the dump creation
   *     UI.
   * @constructor
   */
@param {Element} containerElement The parent element of the dump creation
UI.
@constructor
@param { Element } containerElement The parent element of the dump creation UI . @constructor
function DumpCreator(containerElement) {
    this.root_ = document.createElement('details');
    this.root_.className = 'peer-connection-dump-root';
    containerElement.appendChild(this.root_);
    var summary = document.createElement('summary');
    this.root_.appendChild(summary);
    summary.textContent = 'Create Dump';
    var content = document.createElement('div');
    this.root_.appendChild(content);
    content.innerHTML = '<div><a><button>' +
        'Download the PeerConnection updates and stats data' +
        '</button></a></div>' +
        '<p><label><input type=checkbox>' +
        'Enable diagnostic audio recordings</label></p>' +
        '<p class=audio-diagnostic-dumps-info>A diagnostic audio recording is' +
        ' used for analyzing audio problems. It consists of several files and' +
        ' contains the audio played out to the speaker (output) and captured' +
        ' from the microphone (input). The data is saved locally.' +
        ' Checking this box will enable recordings of all ongoing input and' +
        ' output audio streams (including non-WebRTC streams) and for future' +
        ' audio streams. When the box is unchecked or this page is closed,' +
        ' all ongoing recordings will be stopped and this recording' +
        ' functionality disabled. Recording audio from multiple tabs is' +
        ' supported as well as multiple recordings from the same tab.</p>' +
        '<p>When enabling, select a base filename to which the following' +
        ' suffixes will be added:</p>' +
        '<p><div>&lt;base filename&gt;.&lt;render process ID&gt;' +
        '.aec_dump.&lt;AEC dump recording ID&gt;</div>' +
        '<div>&lt;base filename&gt;.input.&lt;stream recording ID&gt;.wav' +
        '</div><div>' +
        '&lt;base filename&gt;.output.&lt;stream recording ID&gt;.wav' +
        '</div></p>' +
        '<p class=audio-diagnostic-dumps-info>It is recommended to choose a' +
        ' new base filename each time the feature is enabled to avoid ending' +
        ' up with partially overwritten or unusable audio files.</p>' +
        '<p><label><input type=checkbox disabled=true>' +
        'Enable diagnostic packet and event recording' +
        '<label name="placeholder_for_warning"/></label></p>' +
        '<p class=audio-diagnostic-dumps-info>A diagnostic packet and event' +
        ' recording can be used for analyzing various issues related to' +
        ' thread starvation, jitter buffers or bandwidth estimation. Two' +
        ' types of data are logged. First, incoming and outgoing RTP headers' +
        ' and RTCP packets are logged. These do not include any audio or' +
        ' video information, nor any other types of personally identifiable' +
        ' information (so no IP addresses or URLs). Checking this box will' +
        ' enable the recording for ongoing WebRTC calls and for future' +
        ' WebRTC calls. When the box is unchecked or this page is closed,' +
        ' all ongoing recordings will be stopped and this recording' +
        ' functionality will be disabled for future WebRTC calls. Recording' +
        ' in multiple tabs or multiple recordings in the same tab will cause' +
        ' multiple log files to be created. When enabling, a filename for the' +
        ' recording can be entered. The entered filename is used as a' +
        ' base, to which the following suffixes will be appended.</p>' +
        ' <p>&lt;base filename&gt;_&lt;date&gt;_&lt;timestamp&gt;_&lt;render ' +
        'process ID&gt;_&lt;recording ID&gt;</p>' +
        '<p class=audio-diagnostic-dumps-info>If a file with the same name' +
        ' already exists, it will be overwritten. No more than 5 logfiles ' +
        ' will be created, and each of them is limited to 60MB of storage. ' +
        ' On Android these limits are 3 files of at most 10MB each. ' +
        ' When the limit is reached, the checkbox must be unchecked and ' +
        ' rechecked to resume logging.</p>';
    content.getElementsByTagName('a')[0].addEventListener(
        'click', this.onDownloadData_.bind(this));
    content.getElementsByTagName('input')[0].addEventListener(
        'click', this.onAudioDebugRecordingsChanged_.bind(this));
    content.getElementsByTagName('input')[1].addEventListener(
        'click', this.onEventLogRecordingsChanged_.bind(this));
  }
function DumpCreator ( containerElement ) { this . root_ = document . createElement ( 'details' ) ; this . root_ . className = 'peer-connection-dump-root' ; containerElement . appendChild ( this . root_ ) ; var summary = document . createElement ( 'summary' ) ; this . root_ . appendChild ( summary ) ; summary . textContent = 'Create Dump' ; var content = document . createElement ( 'div' ) ; this . root_ . appendChild ( content ) ; content . innerHTML = '<div><a><button>' + 'Download the PeerConnection updates and stats data' + '</button></a></div>' + '<p><label><input type=checkbox>' + 'Enable diagnostic audio recordings</label></p>' + '<p class=audio-diagnostic-dumps-info>A diagnostic audio recording is' + ' used for analyzing audio problems. It consists of several files and' + ' contains the audio played out to the speaker (output) and captured' + ' from the microphone (input). The data is saved locally.' + ' Checking this box will enable recordings of all ongoing input and' + ' output audio streams (including non-WebRTC streams) and for future' + ' audio streams. When the box is unchecked or this page is closed,' + ' all ongoing recordings will be stopped and this recording' + ' functionality disabled. Recording audio from multiple tabs is' + ' supported as well as multiple recordings from the same tab.</p>' + '<p>When enabling, select a base filename to which the following' + ' suffixes will be added:</p>' + '<p><div>&lt;base filename&gt;.&lt;render process ID&gt;' + '.aec_dump.&lt;AEC dump recording ID&gt;</div>' + '<div>&lt;base filename&gt;.input.&lt;stream recording ID&gt;.wav' + '</div><div>' + '&lt;base filename&gt;.output.&lt;stream recording ID&gt;.wav' + '</div></p>' + '<p class=audio-diagnostic-dumps-info>It is recommended to choose a' + ' new base filename each time the feature is enabled to avoid ending' + ' up with partially overwritten or unusable audio files.</p>' + '<p><label><input type=checkbox disabled=true>' + 'Enable diagnostic packet and event recording' + '<label name="placeholder_for_warning"/></label></p>' + '<p class=audio-diagnostic-dumps-info>A diagnostic packet and event' + ' recording can be used for analyzing various issues related to' + ' thread starvation, jitter buffers or bandwidth estimation. Two' + ' types of data are logged. First, incoming and outgoing RTP headers' + ' and RTCP packets are logged. These do not include any audio or' + ' video information, nor any other types of personally identifiable' + ' information (so no IP addresses or URLs). Checking this box will' + ' enable the recording for ongoing WebRTC calls and for future' + ' WebRTC calls. When the box is unchecked or this page is closed,' + ' all ongoing recordings will be stopped and this recording' + ' functionality will be disabled for future WebRTC calls. Recording' + ' in multiple tabs or multiple recordings in the same tab will cause' + ' multiple log files to be created. When enabling, a filename for the' + ' recording can be entered. The entered filename is used as a' + ' base, to which the following suffixes will be appended.</p>' + ' <p>&lt;base filename&gt;_&lt;date&gt;_&lt;timestamp&gt;_&lt;render ' + 'process ID&gt;_&lt;recording ID&gt;</p>' + '<p class=audio-diagnostic-dumps-info>If a file with the same name' + ' already exists, it will be overwritten. No more than 5 logfiles ' + ' will be created, and each of them is limited to 60MB of storage. ' + ' On Android these limits are 3 files of at most 10MB each. ' + ' When the limit is reached, the checkbox must be unchecked and ' + ' rechecked to resume logging.</p>' ; content . getElementsByTagName ( 'a' ) [ 0 ] . addEventListener ( 'click' , this . onDownloadData_ . bind ( this ) ) ; content . getElementsByTagName ( 'input' ) [ 0 ] . addEventListener ( 'click' , this . onAudioDebugRecordingsChanged_ . bind ( this ) ) ; content . getElementsByTagName ( 'input' ) [ 1 ] . addEventListener ( 'click' , this . onEventLogRecordingsChanged_ . bind ( this ) ) ; }
@param {Element} containerElement The parent element of the dump creation
     UI.
@param { Element } containerElement The parent element of the dump creation UI .
/**
     * The root element of the dump creation UI.
     * @type {Element}
     * @private
     */