• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4
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 */
9var QuicView = (function() {
10  'use strict';
11
12  // We inherit from DivView.
13  var superClass = DivView;
14
15  /**
16   * @constructor
17   */
18  function QuicView() {
19    assertFirstConstructorCall(QuicView);
20
21    // Call superclass's constructor.
22    superClass.call(this, QuicView.MAIN_BOX_ID);
23
24    g_browser.addQuicInfoObserver(this, true);
25  }
26
27  QuicView.TAB_ID = 'tab-handle-quic';
28  QuicView.TAB_NAME = 'QUIC';
29  QuicView.TAB_HASH = '#quic';
30
31  // IDs for special HTML elements in quic_view.html
32  QuicView.MAIN_BOX_ID = 'quic-view-tab-content';
33
34  cr.addSingletonGetter(QuicView);
35
36  QuicView.prototype = {
37    // Inherit the superclass's methods.
38    __proto__: superClass.prototype,
39
40    onLoadLogFinish: function(data) {
41      return this.onQuicInfoChanged(data.quicInfo);
42    },
43
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  };
56
57  return QuicView;
58})();
59