diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-01 16:05:46 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-01 16:05:46 +0000 |
commit | 71c2f04660e307c486ffbb5f83656e92387c6952 (patch) | |
tree | c9c6db3dd7e6922e8eb20329249d8e3d5cf076fc /chrome/browser/resources/net_internals | |
parent | 474c55571efe72f40faa11b38fd0c7d75030d86b (diff) | |
download | chromium_src-71c2f04660e307c486ffbb5f83656e92387c6952.zip chromium_src-71c2f04660e307c486ffbb5f83656e92387c6952.tar.gz chromium_src-71c2f04660e307c486ffbb5f83656e92387c6952.tar.bz2 |
Refactor PrerenderView to be defined inside an anonymous namespace.
BUG=90857
Review URL: http://codereview.chromium.org/7545006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94910 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/resources/net_internals')
-rw-r--r-- | chrome/browser/resources/net_internals/prerender_view.js | 179 |
1 files changed, 97 insertions, 82 deletions
diff --git a/chrome/browser/resources/net_internals/prerender_view.js b/chrome/browser/resources/net_internals/prerender_view.js index 23639b1..a806a21 100644 --- a/chrome/browser/resources/net_internals/prerender_view.js +++ b/chrome/browser/resources/net_internals/prerender_view.js @@ -4,91 +4,106 @@ /** * This view displays information related to Prerendering. - * @constructor */ -function PrerenderView() { - const mainBoxId = 'prerender-view-tab-content'; - const prerenderEnabledSpanId = 'prerender-view-enabled-span'; - const prerenderHistoryDivId = 'prerender-view-history-div'; - const prerenderActiveDivId = 'prerender-view-active-div'; - - DivView.call(this, mainBoxId); - g_browser.addPrerenderInfoObserver(this); - this.prerenderEnabledSpan_ = $(prerenderEnabledSpanId); - this.prerenderHistoryDiv_ = $(prerenderHistoryDivId); - this.prerenderActiveDiv_ = $(prerenderActiveDivId); -} - -inherits(PrerenderView, DivView); - -PrerenderView.prototype.onLoadLogFinish = function(data) { - return this.onPrerenderInfoChanged(data.prerenderInfo); -}; - -function IsValidPrerenderInfo(prerenderInfo) { - if (prerenderInfo == null) { - return false; + +var PrerenderView = (function() { + // IDs for special HTML elements in prerender_view.html + const MAIN_BOX_ID = 'prerender-view-tab-content'; + const ENABLED_SPAN_ID = 'prerender-view-enabled-span'; + const HISTORY_DIV_ID = 'prerender-view-history-div'; + const ACTIVE_DIV_ID = 'prerender-view-active-div'; + + // We inherit from DivView. + var superClass = DivView; + + /** + * @constructor + */ + function PrerenderView() { + // Call superclass's constructor. + superClass.call(this, MAIN_BOX_ID); + + g_browser.addPrerenderInfoObserver(this); + this.prerenderEnabledSpan_ = $(ENABLED_SPAN_ID); + this.prerenderHistoryDiv_ = $(HISTORY_DIV_ID); + this.prerenderActiveDiv_ = $(ACTIVE_DIV_ID); } - if (!('history' in prerenderInfo) || - !('active' in prerenderInfo) || - !('enabled' in prerenderInfo)) { - return false; + + cr.addSingletonGetter(PrerenderView); + + PrerenderView.prototype = { + // Inherit the superclass's methods. + __proto__: superClass.prototype, + + onLoadLogFinish: function(data) { + return this.onPrerenderInfoChanged(data.prerenderInfo); + }, + + onPrerenderInfoChanged: function(prerenderInfo) { + this.prerenderEnabledSpan_.textContent = ''; + this.prerenderHistoryDiv_.innerHTML = ''; + this.prerenderActiveDiv_.innerHTML = ''; + + if (!isValidPrerenderInfo(prerenderInfo)) + return false; + + this.prerenderEnabledSpan_.textContent = prerenderInfo.enabled.toString(); + + var tabPrinter = createHistoryTablePrinter(prerenderInfo.history); + tabPrinter.toHTML(this.prerenderHistoryDiv_, 'styledTable'); + + var tabPrinter = createActiveTablePrinter(prerenderInfo.active); + tabPrinter.toHTML(this.prerenderActiveDiv_, 'styledTable'); + + return true; + } + }; + + function isValidPrerenderInfo(prerenderInfo) { + if (prerenderInfo == null) { + return false; + } + if (!('history' in prerenderInfo) || + !('active' in prerenderInfo) || + !('enabled' in prerenderInfo)) { + return false; + } + return true; } - return true; -} - -PrerenderView.prototype.onPrerenderInfoChanged = function(prerenderInfo) { - this.prerenderEnabledSpan_.textContent = ''; - this.prerenderHistoryDiv_.innerHTML = ''; - this.prerenderActiveDiv_.innerHTML = ''; - - if (!IsValidPrerenderInfo(prerenderInfo)) - return false; - - this.prerenderEnabledSpan_.textContent = prerenderInfo.enabled.toString(); - - var tabPrinter = PrerenderView.createHistoryTablePrinter( - prerenderInfo.history); - tabPrinter.toHTML(this.prerenderHistoryDiv_, 'styledTable'); - - var tabPrinter = PrerenderView.createActiveTablePrinter( - prerenderInfo.active); - tabPrinter.toHTML(this.prerenderActiveDiv_, 'styledTable'); - - return true; -}; - -PrerenderView.createHistoryTablePrinter = function(prerenderHistory) { - var tablePrinter = new TablePrinter(); - tablePrinter.addHeaderCell('Origin'); - tablePrinter.addHeaderCell('URL'); - tablePrinter.addHeaderCell('Final Status'); - tablePrinter.addHeaderCell('Time'); - - for (var i = 0; i < prerenderHistory.length; i++) { - var historyEntry = prerenderHistory[i]; - tablePrinter.addRow(); - tablePrinter.addCell(historyEntry.origin); - tablePrinter.addCell(historyEntry.url); - tablePrinter.addCell(historyEntry.final_status); - - var date = new Date(parseInt(historyEntry.end_time)); - tablePrinter.addCell(date.toLocaleString()); + + function createHistoryTablePrinter(prerenderHistory) { + var tablePrinter = new TablePrinter(); + tablePrinter.addHeaderCell('Origin'); + tablePrinter.addHeaderCell('URL'); + tablePrinter.addHeaderCell('Final Status'); + tablePrinter.addHeaderCell('Time'); + + for (var i = 0; i < prerenderHistory.length; i++) { + var historyEntry = prerenderHistory[i]; + tablePrinter.addRow(); + tablePrinter.addCell(historyEntry.origin); + tablePrinter.addCell(historyEntry.url); + tablePrinter.addCell(historyEntry.final_status); + + var date = new Date(parseInt(historyEntry.end_time)); + tablePrinter.addCell(date.toLocaleString()); + } + return tablePrinter; } - return tablePrinter; -}; - -PrerenderView.createActiveTablePrinter = function(prerenderActive) { - var tablePrinter = new TablePrinter(); - tablePrinter.addHeaderCell('URL'); - tablePrinter.addHeaderCell('Duration'); - - for (var i = 0; i < prerenderActive.length; i++) { - var activeEntry = prerenderActive[i]; - tablePrinter.addRow(); - tablePrinter.addCell(activeEntry.url); - tablePrinter.addCell(activeEntry.duration); + + function createActiveTablePrinter(prerenderActive) { + var tablePrinter = new TablePrinter(); + tablePrinter.addHeaderCell('URL'); + tablePrinter.addHeaderCell('Duration'); + + for (var i = 0; i < prerenderActive.length; i++) { + var activeEntry = prerenderActive[i]; + tablePrinter.addRow(); + tablePrinter.addCell(activeEntry.url); + tablePrinter.addCell(activeEntry.duration); + } + return tablePrinter; } - return tablePrinter; -}; + return PrerenderView; +})(); |