Index: chrome/browser/resources/net_export/net_export.js |
=================================================================== |
--- chrome/browser/resources/net_export/net_export.js (revision 0) |
+++ chrome/browser/resources/net_export/net_export.js (revision 0) |
@@ -0,0 +1,110 @@ |
+// 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. |
+ |
+/** |
+ * Main entry point called once the page has loaded. |
+ */ |
+function onLoad() { |
+ NetExportView.getInstance(); |
+} |
+ |
+document.addEventListener('DOMContentLoaded', onLoad); |
+ |
+/** |
+ * This class handles the presentation of our profiler view. Used as a |
+ * singleton. |
+ */ |
+var NetExportView = (function() { |
+ 'use strict'; |
+ |
+ /** |
+ * Delay in milliseconds between updates of certain browser information. |
+ */ |
+ /** @const */ var POLL_INTERVAL_MS = 5000; |
+ |
+ // -------------------------------------------------------------------------- |
+ // Important IDs in the HTML document |
+ // -------------------------------------------------------------------------- |
+ |
+ /** @const */ var START_DATA_BUTTON_ID = 'export-view-start-data'; |
+ /** @const */ var STOP_DATA_BUTTON_ID = 'export-view-stop-data'; |
+ /** @const */ var SEND_DATA_BUTTON_ID = 'export-view-send-data'; |
+ /** @const */ var FILE_PATH_TEXT_ID = 'export-view-file-path-text'; |
+ |
+ // -------------------------------------------------------------------------- |
+ |
+ /** |
+ * @constructor |
+ */ |
+ function NetExportView() { |
+ $(START_DATA_BUTTON_ID).onclick = this.onStartData_.bind(this); |
+ $(STOP_DATA_BUTTON_ID).onclick = this.onStopData_.bind(this); |
+ $(SEND_DATA_BUTTON_ID).onclick = this.onSendData_.bind(this); |
+ |
+ window.setInterval(function() { chrome.send('getExportNetLogInfo'); }, |
+ POLL_INTERVAL_MS); |
+ |
+ chrome.send('getExportNetLogInfo'); |
+ } |
+ |
+ cr.addSingletonGetter(NetExportView); |
+ |
+ NetExportView.prototype = { |
+ /** |
+ * Starts saving NetLog data to a file. |
+ */ |
+ onStartData_: function() { |
+ chrome.send('startNetLog'); |
+ }, |
+ |
+ /** |
+ * Stops saving NetLog data to a file. |
+ */ |
+ onStopData_: function() { |
+ chrome.send('stopNetLog'); |
+ }, |
+ |
+ /** |
+ * Sends NetLog data via email from browser. |
+ */ |
+ onSendData_: function() { |
+ chrome.send('sendNetLog'); |
+ }, |
+ |
+ /** |
+ * Enable or disable START_DATA_BUTTON_ID, STOP_DATA_BUTTON_ID and |
+ * SEND_DATA_BUTTON_ID buttons. Displays the path name of the file where |
+ * NetLog data is collected. |
+ */ |
+ onExportNetLogInfoChanged: function(exportNetLogInfo) { |
+ if (exportNetLogInfo.file) { |
+ var message = ''; |
+ if (exportNetLogInfo.state == 'ALLOW_STOP') |
+ message = 'NetLog data is collected in: '; |
+ else if (exportNetLogInfo.state == 'ALLOW_START_SEND') |
+ message = 'NetLog data to send is in: '; |
+ $(FILE_PATH_TEXT_ID).textContent = message + exportNetLogInfo.file; |
+ } else { |
+ $(FILE_PATH_TEXT_ID).textContent = ''; |
+ } |
+ |
+ $(START_DATA_BUTTON_ID).disabled = true; |
+ $(STOP_DATA_BUTTON_ID).disabled = true; |
+ $(SEND_DATA_BUTTON_ID).disabled = true; |
+ if (exportNetLogInfo.state == 'ALLOW_START') { |
+ $(START_DATA_BUTTON_ID).disabled = false; |
+ } else if (exportNetLogInfo.state == 'ALLOW_STOP') { |
+ $(STOP_DATA_BUTTON_ID).disabled = false; |
+ } else if (exportNetLogInfo.state == 'ALLOW_START_SEND') { |
+ $(START_DATA_BUTTON_ID).disabled = false; |
+ $(SEND_DATA_BUTTON_ID).disabled = false; |
+ } else if (exportNetLogInfo.state == 'UNINITIALIZED') { |
+ $(FILE_PATH_TEXT_ID).textContent = |
+ 'Unable to initialize NetLog data file.'; |
+ } |
+ } |
+ }; |
+ |
+ return NetExportView; |
+})(); |