NaCl: Update revision in DEPS, r12770 -> r12773
[chromium-blink-merge.git] / chrome / browser / resources / net_export / net_export.js
blob799a643edf073fb329be4a4f83f0996abc99be54
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 * Main entry point called once the page has loaded.
7 */
8 function onLoad() {
9 NetExportView.getInstance();
12 document.addEventListener('DOMContentLoaded', onLoad);
14 /**
15 * This class handles the presentation of our profiler view. Used as a
16 * singleton.
18 var NetExportView = (function() {
19 'use strict';
21 /**
22 * Delay in milliseconds between updates of certain browser information.
24 /** @const */ var POLL_INTERVAL_MS = 5000;
26 // --------------------------------------------------------------------------
27 // Important IDs in the HTML document
28 // --------------------------------------------------------------------------
30 /** @const */ var START_DATA_BUTTON_ID = 'export-view-start-data';
31 /** @const */ var STOP_DATA_BUTTON_ID = 'export-view-stop-data';
32 /** @const */ var SEND_DATA_BUTTON_ID = 'export-view-send-data';
33 /** @const */ var FILE_PATH_TEXT_ID = 'export-view-file-path-text';
35 // --------------------------------------------------------------------------
37 /**
38 * @constructor
40 function NetExportView() {
41 $(START_DATA_BUTTON_ID).onclick = this.onStartData_.bind(this);
42 $(STOP_DATA_BUTTON_ID).onclick = this.onStopData_.bind(this);
43 $(SEND_DATA_BUTTON_ID).onclick = this.onSendData_.bind(this);
45 window.setInterval(function() { chrome.send('getExportNetLogInfo'); },
46 POLL_INTERVAL_MS);
48 chrome.send('getExportNetLogInfo');
51 cr.addSingletonGetter(NetExportView);
53 NetExportView.prototype = {
54 /**
55 * Starts saving NetLog data to a file.
57 onStartData_: function() {
58 chrome.send('startNetLog');
61 /**
62 * Stops saving NetLog data to a file.
64 onStopData_: function() {
65 chrome.send('stopNetLog');
68 /**
69 * Sends NetLog data via email from browser.
71 onSendData_: function() {
72 chrome.send('sendNetLog');
75 /**
76 * Enable or disable START_DATA_BUTTON_ID, STOP_DATA_BUTTON_ID and
77 * SEND_DATA_BUTTON_ID buttons. Displays the path name of the file where
78 * NetLog data is collected.
80 onExportNetLogInfoChanged: function(exportNetLogInfo) {
81 if (exportNetLogInfo.file) {
82 var message = '';
83 if (exportNetLogInfo.state == 'ALLOW_STOP')
84 message = 'NetLog data is collected in: ';
85 else if (exportNetLogInfo.state == 'ALLOW_START_SEND')
86 message = 'NetLog data to send is in: ';
87 $(FILE_PATH_TEXT_ID).textContent = message + exportNetLogInfo.file;
88 } else {
89 $(FILE_PATH_TEXT_ID).textContent = '';
92 $(START_DATA_BUTTON_ID).disabled = true;
93 $(STOP_DATA_BUTTON_ID).disabled = true;
94 $(SEND_DATA_BUTTON_ID).disabled = true;
95 if (exportNetLogInfo.state == 'ALLOW_START') {
96 $(START_DATA_BUTTON_ID).disabled = false;
97 } else if (exportNetLogInfo.state == 'ALLOW_STOP') {
98 $(STOP_DATA_BUTTON_ID).disabled = false;
99 } else if (exportNetLogInfo.state == 'ALLOW_START_SEND') {
100 $(START_DATA_BUTTON_ID).disabled = false;
101 $(SEND_DATA_BUTTON_ID).disabled = false;
102 } else if (exportNetLogInfo.state == 'UNINITIALIZED') {
103 $(FILE_PATH_TEXT_ID).textContent =
104 'Unable to initialize NetLog data file.';
109 return NetExportView;
110 })();