Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / resources / net_internals / quic_view.js
blob7cd8490a7348d16de5feb300061709d7f10f6a9b
1 // Copyright (c) 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.
5 /**
6  * This view displays a summary of the state of each QUIC session, and
7  * has links to display them in the events tab.
8  */
9 var QuicView = (function() {
10   'use strict';
12   // We inherit from DivView.
13   var superClass = DivView;
15   /**
16    * @constructor
17    */
18   function QuicView() {
19     assertFirstConstructorCall(QuicView);
21     // Call superclass's constructor.
22     superClass.call(this, QuicView.MAIN_BOX_ID);
24     g_browser.addQuicInfoObserver(this, true);
25   }
27   QuicView.TAB_ID = 'tab-handle-quic';
28   QuicView.TAB_NAME = 'QUIC';
29   QuicView.TAB_HASH = '#quic';
31   // IDs for special HTML elements in quic_view.html
32   QuicView.MAIN_BOX_ID = 'quic-view-tab-content';
34   cr.addSingletonGetter(QuicView);
36   QuicView.prototype = {
37     // Inherit the superclass's methods.
38     __proto__: superClass.prototype,
40     onLoadLogFinish: function(data) {
41       return this.onQuicInfoChanged(data.quicInfo);
42     },
44     /**
45      * If there are any sessions, display a single table with
46      * information on each QUIC session.  Otherwise, displays "None".
47      */
48     onQuicInfoChanged: function(quicInfo) {
49       if (!quicInfo)
50         return false;
51       var input = new JsEvalContext(quicInfo);
52       jstProcess(input, $(QuicView.MAIN_BOX_ID));
53       return true;
54     },
55   };
57   return QuicView;
58 })();