| Index: chrome/browser/resources/net_internals/proxyview.js
|
| ===================================================================
|
| --- chrome/browser/resources/net_internals/proxyview.js (revision 63506)
|
| +++ chrome/browser/resources/net_internals/proxyview.js (working copy)
|
| @@ -7,6 +7,7 @@
|
| *
|
| * - Shows the current proxy settings.
|
| * - Has a button to reload these settings.
|
| + * - Shows the log entries for the most recent INIT_PROXY_RESOLVER source
|
| * - Shows the list of proxy hostnames that are cached as "bad".
|
| * - Has a button to clear the cached bad proxies.
|
| *
|
| @@ -17,13 +18,18 @@
|
| effectiveSettingsDivId,
|
| reloadSettingsButtonId,
|
| badProxiesTbodyId,
|
| - clearBadProxiesButtonId) {
|
| + clearBadProxiesButtonId,
|
| + proxyResolverLogPreId) {
|
| DivView.call(this, mainBoxId);
|
|
|
| + this.latestProxySourceEntries_ = null;
|
| + this.latestProxySourceId_ = 0;
|
| +
|
| // Hook up the UI components.
|
| this.originalSettingsDiv_ = document.getElementById(originalSettingsDivId);
|
| this.effectiveSettingsDiv_ =
|
| document.getElementById(effectiveSettingsDivId);
|
| + this.proxyResolverLogPre_ = document.getElementById(proxyResolverLogPreId);
|
| this.badProxiesTbody_ = document.getElementById(badProxiesTbodyId);
|
|
|
| var reloadSettingsButton = document.getElementById(reloadSettingsButtonId);
|
| @@ -36,6 +42,7 @@
|
| // Register to receive proxy information as it changes.
|
| g_browser.addProxySettingsObserver(this);
|
| g_browser.addBadProxiesObserver(this);
|
| + g_browser.addLogObserver(this);
|
| }
|
|
|
| inherits(ProxyView, DivView);
|
| @@ -69,3 +76,41 @@
|
| addTextNode(badUntilCell, badUntilDate.toLocaleString());
|
| }
|
| };
|
| +
|
| +ProxyView.prototype.onLogEntryAdded = function(logEntry) {
|
| + if (logEntry.source.type != LogSourceType.INIT_PROXY_RESOLVER ||
|
| + this.latestProxySourceId_ > logEntry.source.id) {
|
| + return;
|
| + }
|
| +
|
| + if (logEntry.source.id > this.latestProxySourceId_) {
|
| + this.latestProxySourceId_ = logEntry.source.id;
|
| + this.latestProxySourceEntries_ = [];
|
| + }
|
| +
|
| + this.latestProxySourceEntries_.push(logEntry);
|
| + this.proxyResolverLogPre_.innerHTML = '';
|
| + addTextNode(this.proxyResolverLogPre_,
|
| + PrintSourceEntriesAsText(this.latestProxySourceEntries_, false));
|
| +};
|
| +
|
| +/**
|
| + * Clears the display of and log entries for the last proxy lookup.
|
| + */
|
| +ProxyView.prototype.clearLog_ = function() {
|
| + this.latestProxySourceEntries_ = [];
|
| + // Prevents display of partial logs.
|
| + ++this.latestProxySourceId_;
|
| +
|
| + this.proxyResolverLogPre_.innerHTML = '';
|
| + addTextNode(this.proxyResolverLogPre_, 'Deleted.');
|
| +};
|
| +
|
| +ProxyView.prototype.onLogEntriesDeleted = function(sourceIds) {
|
| + if (sourceIds.indexOf(this.latestProxySourceId_) != -1)
|
| + this.clearLog_();
|
| +};
|
| +
|
| +ProxyView.prototype.onAllLogEntriesDeleted = function() {
|
| + this.clearLog_();
|
| +};
|
|
|