// Copyright (c) 2011 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. /** * This view displays information on the HTTP cache. */ var HttpCacheView = (function() { 'use strict'; // We inherit from DivView. var superClass = DivView; /** * @constructor */ function HttpCacheView() { assertFirstConstructorCall(HttpCacheView); // Call superclass's constructor. superClass.call(this, HttpCacheView.MAIN_BOX_ID); this.statsDiv_ = $(HttpCacheView.STATS_DIV_ID); // Register to receive http cache info. g_browser.addHttpCacheInfoObserver(this, true); } // ID for special HTML element in category_tabs.html HttpCacheView.TAB_HANDLE_ID = 'tab-handle-http-cache'; // IDs for special HTML elements in http_cache_view.html HttpCacheView.MAIN_BOX_ID = 'http-cache-view-tab-content'; HttpCacheView.STATS_DIV_ID = 'http-cache-view-cache-stats'; cr.addSingletonGetter(HttpCacheView); HttpCacheView.prototype = { // Inherit the superclass's methods. __proto__: superClass.prototype, onLoadLogFinish: function(data) { return this.onHttpCacheInfoChanged(data.httpCacheInfo); }, onHttpCacheInfoChanged: function(info) { this.statsDiv_.innerHTML = ''; if (!info) return false; // Print the statistics. var statsUl = addNode(this.statsDiv_, 'ul'); for (var statName in info.stats) { var li = addNode(statsUl, 'li'); addTextNode(li, statName + ': ' + info.stats[statName]); } return true; } }; return HttpCacheView; })();