| OLD | NEW |
| 1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
| 2 <head i18n-values="dir:textdirection;"> | 2 <html> |
| 3 <!-- | 3 <!-- |
| 4 Copyright (c) 2011 The Chromium Authors. All rights reserved. | 4 Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 5 Use of this source code is governed by a BSD-style license that can be | 5 Use of this source code is governed by a BSD-style license that can be |
| 6 found in the LICENSE file. | 6 found in the LICENSE file. |
| 7 --> | 7 --> |
| 8 <head> | 8 <head i18n-values="dir:textdirection;"> |
| 9 <include src="../content_security_policy.html"/> |
| 9 <link rel="stylesheet" href="main.css"> | 10 <link rel="stylesheet" href="main.css"> |
| 10 <link rel="stylesheet" href="tabswitcherview.css"> | 11 <link rel="stylesheet" href="tabswitcherview.css"> |
| 11 <script src="util.js"></script> | 12 <script src="chrome://resources/js/util.js"</script> |
| 12 <script src="view.js"></script> | 13 <script src="chrome://net-internals/index.js"></script> |
| 13 <script src="tabswitcherview.js"></script> | 14 <script src="chrome://net-internals/strings.js"></script> |
| 14 <script src="dataview.js"></script> | |
| 15 <script src="httpcacheview.js"></script> | |
| 16 <script src="testview.js"></script> | |
| 17 <script src="hstsview.js"></script> | |
| 18 <script src="logdumputil.js"></script> | |
| 19 <script src="main.js"></script> | |
| 20 <script src="dnsview.js"></script> | |
| 21 <script src="eventsview.js"></script> | |
| 22 <script src="detailsview.js"></script> | |
| 23 <script src="sourceentry.js"></script> | |
| 24 <script src="resizableverticalsplitview.js"></script> | |
| 25 <script src="topmidbottomview.js"></script> | |
| 26 <script src="timelineviewpainter.js"></script> | |
| 27 <script src="logviewpainter.js"></script> | |
| 28 <script src="loggrouper.js"></script> | |
| 29 <script src="proxyview.js"></script> | |
| 30 <script src="socketpoolwrapper.js"></script> | |
| 31 <script src="socketsview.js"></script> | |
| 32 <script src="spdyview.js"></script> | |
| 33 <script src="serviceprovidersview.js"></script> | |
| 34 <script src="httpthrottlingview.js"></script> | |
| 35 <script src="logsview.js"></script> | |
| 36 <script src="prerenderview.js"></script> | |
| 37 </head> | 15 </head> |
| 38 <body onload="onLoaded()" id=dataViewDropTarget> | 16 <body id=dataViewDropTarget> |
| 17 |
| 39 <!-- Tab switcher for main categories. --> | 18 <!-- Tab switcher for main categories. --> |
| 40 <div id=categoryTabHandles> | 19 <div id=categoryTabHandles> |
| 41 <ul> | 20 <ul> |
| 42 <li><a href="#data" id=dataTab>Data</a></li> | 21 <li><a href="#data" id=dataTab>Data</a></li> |
| 43 <li><a href="#proxy" id=proxyTab>Proxy</a></li> | 22 <li><a href="#proxy" id=proxyTab>Proxy</a></li> |
| 44 <li><a href="#events" id=eventsTab>Events</a></li> | 23 <li><a href="#events" id=eventsTab>Events</a></li> |
| 45 <li><a href="#dns" id=dnsTab>DNS</a></li> | 24 <li><a href="#dns" id=dnsTab>DNS</a></li> |
| 46 <li><a href="#sockets" id=socketsTab>Sockets</a></li> | 25 <li><a href="#sockets" id=socketsTab>Sockets</a></li> |
| 47 <li><a href="#spdy" id=spdyTab>SPDY</a></li> | 26 <li><a href="#spdy" id=spdyTab>SPDY</a></li> |
| 48 <li><a href="#httpCache" id=httpCacheTab>HTTP Cache</a></li> | 27 <li><a href="#httpCache" id=httpCacheTab>HTTP Cache</a></li> |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 <table width=100%> | 250 <table width=100%> |
| 272 <tr> | 251 <tr> |
| 273 <td valign=top> | 252 <td valign=top> |
| 274 <div id=dataViewDumpDataDiv> | 253 <div id=dataViewDumpDataDiv> |
| 275 <h2>Dump data</h2> | 254 <h2>Dump data</h2> |
| 276 <div style="margin: 8px"> | 255 <div style="margin: 8px"> |
| 277 <p><input id=securityStrippingCheckbox type=checkbox checked=yes> | 256 <p><input id=securityStrippingCheckbox type=checkbox checked=yes> |
| 278 Strip private information (cookies and credentials). | 257 Strip private information (cookies and credentials). |
| 279 </p> | 258 </p> |
| 280 <p> | 259 <p> |
| 281 <a href="javascript:displayHelpForBugDump()"> | 260 <a href="chrome://net-internals/help.html" target="_blank"> |
| 282 Help: How to get data for bug reports? | 261 Help: How to get data for bug reports? |
| 283 </a> | 262 </a> |
| 284 </p> | 263 </p> |
| 285 <button id=dataViewSaveLogFile class=bigButton>Dump to file</button> | 264 <button id=dataViewSaveLogFile class=bigButton>Dump to file</button> |
| 286 <pre id=dataViewSaveStatusText></pre> | 265 <pre id=dataViewSaveStatusText></pre> |
| 287 </div> | 266 </div> |
| 288 </div> | 267 </div> |
| 289 <div id=dataViewLoadedDiv style="display: none"> | 268 <div id=dataViewLoadedDiv style="display: none"> |
| 290 <h2>Data Loaded</h2> | 269 <h2>Data Loaded</h2> |
| 291 <p id=dataViewLoadedClientInfoText></p> | 270 <p id=dataViewLoadedClientInfoText></p> |
| 292 </div> | 271 </div> |
| 293 <div> | 272 <div> |
| 294 <h2>Load data</h2> | 273 <h2>Load data</h2> |
| 295 <p><input type=file value="Load log from file" id=dataViewLoadLogFile />
</p> | 274 <p><input type=file value="Load log from file" id=dataViewLoadLogFile />
</p> |
| 296 <pre id=dataViewLoadStatusText></pre> | 275 <pre id=dataViewLoadStatusText></pre> |
| 297 <div style="margin: 8px"> | 276 <div style="margin: 8px"> |
| 298 <p>Either press the button above and select a file or drag a file onto | 277 <p>Either press the button above and select a file or drag a file onto |
| 299 this window to load it. | 278 this window to load it. |
| 300 </p> | 279 </p> |
| 301 <p>Works for both log dumps generated from this page with Chrome 14 | 280 <p>Works for both log dumps generated from this page with Chrome 14 |
| 302 and later, and with log files created with | 281 and later, and with log files created with |
| 303 "--log-net-log=file_name". "--net-log-level=#" will set the | 282 "--log-net-log=file_name". "--net-log-level=#" will set the |
| 304 default log level used. | 283 default log level used. |
| 305 </p> | 284 </p> |
| 306 <p>Once a log is loaded, this page will stop collecting data, and will | 285 <p>Once a log is loaded, this page will stop collecting data, and will |
| 307 only start gathering data again when | 286 only start gathering data again when |
| 308 <a href="javascript:history.go(0);">reloaded</a>. | 287 <a id="reloaded-link" href="#">reloaded</a>. |
| 309 </p> | 288 </p> |
| 310 </div> | 289 </div> |
| 311 </div> | 290 </div> |
| 312 </td> | 291 </td> |
| 313 | 292 |
| 314 <td align=right valign=top> | 293 <td align=right valign=top> |
| 315 <div class="capturingBox" id=dataViewCapturingBox> | 294 <div class="capturingBox" id=dataViewCapturingBox> |
| 316 <span id=dataViewCapturingTextSpan> | 295 <span id=dataViewCapturingTextSpan> |
| 317 <b>Capturing all events...</b> | 296 <b>Capturing all events...</b> |
| 318 </span> | 297 </span> |
| (...skipping 14 matching lines...) Expand all Loading... |
| 333 <input type=button value="Delete all" id=dataViewDeleteAll /> | 312 <input type=button value="Delete all" id=dataViewDeleteAll /> |
| 334 </p> | 313 </p> |
| 335 <p class="hideOnLoadLog"><input id=byteLoggingCheckbox type=checkbox /> | 314 <p class="hideOnLoadLog"><input id=byteLoggingCheckbox type=checkbox /> |
| 336 Log actual bytes sent/received. | 315 Log actual bytes sent/received. |
| 337 </p> | 316 </p> |
| 338 </div> | 317 </div> |
| 339 </td> | 318 </td> |
| 340 | 319 |
| 341 </tr> | 320 </tr> |
| 342 </table> | 321 </table> |
| 343 | 322 |
| 344 <iframe style="display: none" id=dataViewDownloadIframe></iframe> | 323 <iframe style="display: none" id=dataViewDownloadIframe></iframe> |
| 345 | 324 |
| 346 </div> | 325 </div> |
| 347 | 326 |
| 348 <!-- START OF HELP TEXT --> | |
| 349 <script> | |
| 350 function displayHelpForBugDump() { | |
| 351 // We can't access the popups loaded from WebUI pages, so we instead populate | |
| 352 // its contents using a data:URL. YUCK! | |
| 353 // TODO(eroman): do something less hacky, like exposing a new URL. | |
| 354 var helpContents = | |
| 355 document.getElementById('howtoDumpForBugsHelpContent').innerHTML; | |
| 356 window.open('data:text/html,' + encodeURIComponent(helpContents)); | |
| 357 } | |
| 358 </script> | |
| 359 <div id=howtoDumpForBugsHelpContent style="display: none"> | |
| 360 <h2>How to get data for bug reports</h2> | |
| 361 | |
| 362 <ol> | |
| 363 <li>Reproduce the network problem.</li> | |
| 364 <li>Click the <i>Dump to file</i> button in the <i>Data</i> tab.</li> | |
| 365 | |
| 366 <li>The log file will act like a normal download.</li> | |
| 367 | |
| 368 <li>Email the log file to the bug investigator, | |
| 369 <b>along with an explanation of what went wrong, including any relevant | |
| 370 URLs.</b> | |
| 371 You may want to compress the file before sending, as the log files can be | |
| 372 fairly large but compress well. | |
| 373 </li> | |
| 374 | |
| 375 </ol> | |
| 376 | |
| 377 | |
| 378 <ul> | |
| 379 <li>The network log <b>may contain personally identifying information</b> like | |
| 380 IP addresses, URLs, and cookies.</li> | |
| 381 <ul> | |
| 382 <li>You can edit the log to obscure information if you like, but sometimes it | |
| 383 is relevant to the bug. If you choose do this, please make sure you can still | |
| 384 load the log file.</li> | |
| 385 <li>If you choose not to have cookies removed from the log, you must toggle | |
| 386 the checkbox before clicking the button.</li> | |
| 387 </ul> | |
| 388 <li>Ideally you would have the tool running <b>before</b> you reproduce the | |
| 389 bug. | |
| 390 If that isn't possible (perhaps the bug happens unpredictably), then the | |
| 391 next best thing is to load chrome://net-internals/ <b>as soon as you can | |
| 392 after</b> the problem has occurred.</li> | |
| 393 </ul> | |
| 394 | |
| 395 <h2>How it works</h2> | |
| 396 | |
| 397 <ul> | |
| 398 <li>While the net-internals page is open, it will capture the network events | |
| 399 that are happening in Chrome. You can view that in real-time by going to | |
| 400 the <i>Events</i> tab.</li> | |
| 401 <li>Once you close the net-internals window, the data it had captured will be | |
| 402 discarded.</li> | |
| 403 <li>Chrome keeps around a small buffer of the most recent network events | |
| 404 even when the net-internals window is not open. That way if you open | |
| 405 chrome://net-internals/ <b>shortly after</b> encountering a problem, | |
| 406 you may still find the relevant data. | |
| 407 These <i>passively captured</i> events are less accurate however, and will | |
| 408 be prefixed in the log with <span style="font-family: monospace;">(P)</span>. | |
| 409 </li> | |
| 410 </ul> | |
| 411 | |
| 412 <button onclick='window.close()'>Close this popup</button> | |
| 413 <!-- END OF HELP TEXT --> | |
| 414 </div> | |
| 415 | |
| 416 <!-- Connection tests --> | 327 <!-- Connection tests --> |
| 417 <div id=testTabContent> | 328 <div id=testTabContent> |
| 418 <p>Input a URL which failed to load, and then click the button to run some | 329 <p>Input a URL which failed to load, and then click the button to run some |
| 419 tests for why it failed.</p> | 330 tests for why it failed.</p> |
| 420 <form id=connectionTestsForm> | 331 <form id=connectionTestsForm> |
| 421 URL: <input type=text id=testUrlInput /> | 332 URL: <input type=text id=testUrlInput /> |
| 422 <input type=submit value="Start tests" /> | 333 <input type=submit value="Start tests" /> |
| 423 </form> | 334 </form> |
| 424 <div id=testSummary></div> | 335 <div id=testSummary></div> |
| 425 </div> | 336 </div> |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 <tr> | 420 <tr> |
| 510 <th id=detailsLogTab>Log</th> | 421 <th id=detailsLogTab>Log</th> |
| 511 <td class=tabSwitcherSpacer> </td> | 422 <td class=tabSwitcherSpacer> </td> |
| 512 <th id=detailsTimelineTab>Timeline</th> | 423 <th id=detailsTimelineTab>Timeline</th> |
| 513 </tr> | 424 </tr> |
| 514 </table> | 425 </table> |
| 515 <div class=tabSwitcherLine></div> | 426 <div class=tabSwitcherLine></div> |
| 516 </div> | 427 </div> |
| 517 <div id=detailsLogBox></div> | 428 <div id=detailsLogBox></div> |
| 518 <div id=detailsTimelineBox></div> | 429 <div id=detailsTimelineBox></div> |
| 519 | 430 |
| 520 <!-- ============================ Logs View ============================ --> | 431 <!-- ============================ Logs View ============================ --> |
| 521 <div id=logsTabContent style="display: none;"> | 432 <div id=logsTabContent style="display: none;"> |
| 522 <h4>Network Log Data</h4> | 433 <h4>Network Log Data</h4> |
| 523 <button id=logsGlobalShowBtn class=logsGlobalButton>Show all...</button> | 434 <button id=logsGlobalShowBtn class=logsGlobalButton>Show all...</button> |
| 524 <button id=logsGlobalHideBtn class=logsGlobalButton>Hide all...</button> | 435 <button id=logsGlobalHideBtn class=logsGlobalButton>Hide all...</button> |
| 525 <button id=logsRefreshBtn class=logsGlobalButton>Refresh logs...</button> | 436 <button id=logsRefreshBtn class=logsGlobalButton>Refresh logs...</button> |
| 526 <div style="clear: both"></div> | 437 <div style="clear: both"></div> |
| 527 <table width=100% class=styledTable> | 438 <table width=100% class=styledTable> |
| 528 <thead> | 439 <thead> |
| 529 <tr id=logTableHeaderRow> | 440 <tr id=logTableHeaderRow> |
| 530 <th width=10%>Log Name</th> | 441 <th width=10%>Log Name</th> |
| 531 <th width=8%></th> | 442 <th width=8%></th> |
| 532 <th width=82%>Log</th> | 443 <th width=82%>Log</th> |
| 533 </tr> | 444 </tr> |
| 534 </thead> | 445 </thead> |
| 535 <tbody id=logTable> | 446 <tbody id=logTable> |
| 536 </tbody> | 447 </tbody> |
| 537 </table> | 448 </table> |
| 538 </div> | 449 </div> |
| 450 <script src="chrome://resources/js/i18n_template.js"></script> |
| 451 <script src="chrome://resources/js/i18n_process.js"></script> |
| 452 <script src="chrome://resources/js/jstemplate_compiled.js"></script> |
| 539 </body> | 453 </body> |
| 540 </html> | 454 </html> |
| OLD | NEW |