Index: netlog_viewer/quic_view.js |
diff --git a/netlog_viewer/quic_view.js b/netlog_viewer/quic_view.js |
index 4eba9f21bfc6509b47e21e420dbed001a8d9dc61..2cb87de71cadf74afc5b3aa86266d572135942a2 100644 |
--- a/netlog_viewer/quic_view.js |
+++ b/netlog_viewer/quic_view.js |
@@ -30,6 +30,43 @@ var QuicView = (function() { |
// IDs for special HTML elements in quic_view.html |
QuicView.MAIN_BOX_ID = 'quic-view-tab-content'; |
+ QuicView.STATUS_QUIC_ENABLED = 'quic-view-quic-enabled'; |
+ QuicView.STATUS_ORIGINS_TO_FORCE_QUIC_ON = |
+ 'quic-view-origins-to-force-quic-on'; |
+ QuicView.STATUS_CONNECTION_OPTIONS = |
+ 'quic-view-connection-options'; |
+ QuicView.STATUS_CONSISTENT_PORT_SELECTION_ENABLED = |
+ 'quic-view-port-selection-enabled'; |
+ QuicView.STATUS_LOAD_SERVER_INFO_TIMEOUT_MULTIPLIER = |
+ 'quic-view-server-info-timeout-mult'; |
+ QuicView.STATUS_ENABLE_CONNECTION_RACING = |
+ 'quic-view-enable-connection-racing'; |
+ QuicView.STATUS_DISABLE_DISK_CACHE = |
+ 'quic-view-disable-disk-cache'; |
+ QuicView.STATUS_PREFER_AES = |
+ 'quic-view-prefer-aes'; |
+ QuicView.STATUS_MAX_NUM_OF_LOSSY_CONNECTIONS = |
+ 'quic-view-max-num-lossy-connections'; |
+ QuicView.STATUS_PACKET_LOSS_THRESHOLD = |
+ 'quic-view-packet-loss-threshold'; |
+ QuicView.STATUS_DELAY_TCP_RACE = 'quic-view-delay-tcp-race'; |
+ QuicView.STATUS_STORE_SERVER_CONFIGS_IN_PROPERITES_FILE = |
+ 'quic-view-configs-in-file'; |
+ QuicView.STATUS_IDLE_CONNECTION_TIMEOUT_IN_SECS = |
+ 'quic-view-connection-timeout-in-secs'; |
+ QuicView.STATUS_DISABLE_PRECONNECT_IF_ORTT = |
+ 'quic-view-disable-preconnect-if-ortt'; |
+ QuicView.STATUS_DISABLE_QUIC_ON_TIMEOUT_WITH_OPEN_STREAMS = |
+ 'quic-view-disable-quic-on-timeout-with-open-streams'; |
+ QuicView.STATUS_DYNAMICALLY_DISABLED_BULLET_POINT = |
+ 'quic-view-dynamically-disabled-bullet-point'; |
+ QuicView.STATUS_DYNAMICALLY_DISABLED_SPAN = |
+ 'quic-view-dynamically-disabled-span'; |
+ QuicView.SESSION_INFO_CONTENT_ID = |
+ 'quic-view-session-info-content'; |
+ QuicView.SESSION_INFO_NO_CONTENT_ID = |
+ 'quic-view-session-info-no-content'; |
+ QuicView.SESSION_INFO_TBODY_ID = 'quic-view-session-info-tbody'; |
cr.addSingletonGetter(QuicView); |
@@ -48,9 +85,99 @@ var QuicView = (function() { |
onQuicInfoChanged: function(quicInfo) { |
if (!quicInfo) |
return false; |
- // TODO(rayraymond): Update DOM without use of jstemplate. |
- // var input = new JsEvalContext(quicInfo); |
- // jstProcess(input, $(QuicView.MAIN_BOX_ID)); |
+ |
+ $(QuicView.STATUS_QUIC_ENABLED).textContent = |
+ !!quicInfo.quic_enabled; |
+ |
+ $(QuicView.STATUS_ORIGINS_TO_FORCE_QUIC_ON).textContent = |
+ quicInfo.origins_to_force_quic_on; |
+ |
+ $(QuicView.STATUS_CONNECTION_OPTIONS).textContent = |
+ quicInfo.connection_options; |
+ |
+ $(QuicView.STATUS_CONSISTENT_PORT_SELECTION_ENABLED). |
+ textContent = !!quicInfo.enable_quic_port_selection; |
+ |
+ $(QuicView.STATUS_LOAD_SERVER_INFO_TIMEOUT_MULTIPLIER). |
+ textContent = quicInfo.load_server_info_timeout_srtt_multiplier; |
+ |
+ $(QuicView.STATUS_ENABLE_CONNECTION_RACING).textContent = |
+ !!quicInfo.enable_connection_racing; |
+ |
+ $(QuicView.STATUS_DISABLE_DISK_CACHE).textContent = |
+ !!quicInfo.disable_disk_cache; |
+ |
+ $(QuicView.STATUS_PREFER_AES).textContent = |
+ !!quicInfo.prefer_aes; |
+ |
+ $(QuicView.STATUS_MAX_NUM_OF_LOSSY_CONNECTIONS).textContent = |
+ quicInfo.max_number_of_lossy_connections; |
+ |
+ $(QuicView.STATUS_PACKET_LOSS_THRESHOLD).textContent = |
+ quicInfo.packet_loss_threshold; |
+ |
+ $(QuicView.STATUS_DELAY_TCP_RACE).textContent = |
+ !!quicInfo.delay_tcp_race; |
+ |
+ $(QuicView.STATUS_STORE_SERVER_CONFIGS_IN_PROPERITES_FILE). |
+ textContent = !!quicInfo.store_server_configs_in_properties; |
+ |
+ $(QuicView.STATUS_IDLE_CONNECTION_TIMEOUT_IN_SECS).textContent = |
+ quicInfo.idle_connection_timeout_seconds; |
+ |
+ $(QuicView.STATUS_DISABLE_PRECONNECT_IF_ORTT).textContent = |
+ quicInfo.disable_preconnect_if_0rtt; |
+ |
+ $(QuicView.STATUS_DISABLE_QUIC_ON_TIMEOUT_WITH_OPEN_STREAMS). |
+ textContent = |
+ quicInfo.disable_quic_on_timeout_with_open_streams; |
+ |
+ setNodeDisplay($(QuicView.STATUS_DYNAMICALLY_DISABLED_BULLET_POINT), |
+ quicInfo.disabled_reason && quicInfo.disabled_reason.length > 0); |
+ if (quicInfo.disabled_reason && |
+ quicInfo.disabled_reason.length > 0) { |
+ $(QuicView.STATUS_DYNAMICALLY_DISABLED_SPAN).textContent = |
+ 'QUIC dynamically disabled: ' + quicInfo.disabled_reason; |
+ } |
+ |
+ var sessions = quicInfo.sessions; |
+ |
+ var hasSessions = sessions && sessions.length > 0; |
+ |
+ setNodeDisplay($(QuicView.SESSION_INFO_CONTENT_ID), hasSessions); |
+ setNodeDisplay($(QuicView.SESSION_INFO_NO_CONTENT_ID), !hasSessions); |
+ |
+ var tbody = $(QuicView.SESSION_INFO_TBODY_ID); |
+ tbody.innerHTML = ''; |
+ |
+ // Fill in the sessions info table. |
+ for (var i = 0; i < sessions.length; ++i) { |
+ var q = sessions[i]; |
+ var tr = addNode(tbody, 'tr'); |
+ |
+ addNodeWithText(tr, 'td', q.aliases ? q.aliases.join(' ') : ''); |
+ addNodeWithText(tr, 'td', !!q.secure); |
+ addNodeWithText(tr, 'td', q.version); |
+ addNodeWithText(tr, 'td', q.peer_address); |
+ |
+ var connectionUIDCell = addNode(tr, 'td'); |
+ var a = addNode(connectionUIDCell, 'a'); |
+ a.href = '#events&q=type:QUIC_SESSION%20' + q.connection_id; |
+ a.textContent = q.connection_id; |
+ |
+ addNodeWithText(tr, 'td', q.open_streams); |
+ |
+ addNodeWithText(tr, 'td', |
+ q.active_streams && q.active_streams.length > 0 ? |
+ q.active_streams.join(', ') : 'None'); |
+ |
+ addNodeWithText(tr, 'td', q.total_streams); |
+ addNodeWithText(tr, 'td', q.packets_sent); |
+ addNodeWithText(tr, 'td', q.packets_lost); |
+ addNodeWithText(tr, 'td', q.packets_received); |
+ addNodeWithText(tr, 'td', q.connected); |
+ } |
+ |
return true; |
}, |
}; |