blob: 7cd8490a7348d16de5feb300061709d7f10f6a9b [file] [log] [blame]
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* This view displays a summary of the state of each QUIC session, and
* has links to display them in the events tab.
*/
var QuicView = (function() {
'use strict';
// We inherit from DivView.
var superClass = DivView;
/**
* @constructor
*/
function QuicView() {
assertFirstConstructorCall(QuicView);
// Call superclass's constructor.
superClass.call(this, QuicView.MAIN_BOX_ID);
g_browser.addQuicInfoObserver(this, true);
}
QuicView.TAB_ID = 'tab-handle-quic';
QuicView.TAB_NAME = 'QUIC';
QuicView.TAB_HASH = '#quic';
// IDs for special HTML elements in quic_view.html
QuicView.MAIN_BOX_ID = 'quic-view-tab-content';
cr.addSingletonGetter(QuicView);
QuicView.prototype = {
// Inherit the superclass's methods.
__proto__: superClass.prototype,
onLoadLogFinish: function(data) {
return this.onQuicInfoChanged(data.quicInfo);
},
/**
* If there are any sessions, display a single table with
* information on each QUIC session. Otherwise, displays "None".
*/
onQuicInfoChanged: function(quicInfo) {
if (!quicInfo)
return false;
var input = new JsEvalContext(quicInfo);
jstProcess(input, $(QuicView.MAIN_BOX_ID));
return true;
},
};
return QuicView;
})();