Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(683)

Unified Diff: resources/inspector/StoragePanel.js

Issue 853002: Updating the Chromium reference build for Windows. The continuous... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/reference_builds/chrome/
Patch Set: Added the symbol files back. Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « resources/inspector/StatusBarButton.js ('k') | resources/inspector/StylesSidebarPane.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: resources/inspector/StoragePanel.js
===================================================================
--- resources/inspector/StoragePanel.js (revision 33840)
+++ resources/inspector/StoragePanel.js (working copy)
@@ -1,556 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2009 Joseph Pecoraro
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-WebInspector.StoragePanel = function(database)
-{
- WebInspector.Panel.call(this, true);
-
- this.databasesListTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("DATABASES"), {}, true);
- this.sidebarTree.appendChild(this.databasesListTreeElement);
- this.databasesListTreeElement.expand();
-
- this.localStorageListTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("LOCAL STORAGE"), {}, true);
- this.sidebarTree.appendChild(this.localStorageListTreeElement);
- this.localStorageListTreeElement.expand();
-
- this.sessionStorageListTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("SESSION STORAGE"), {}, true);
- this.sidebarTree.appendChild(this.sessionStorageListTreeElement);
- this.sessionStorageListTreeElement.expand();
-
- this.cookieListTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("COOKIES"), {}, true);
- this.sidebarTree.appendChild(this.cookieListTreeElement);
- this.cookieListTreeElement.expand();
-
- this.storageViews = document.createElement("div");
- this.storageViews.id = "storage-views";
- this.element.appendChild(this.storageViews);
-
- this.storageViewStatusBarItemsContainer = document.createElement("div");
- this.storageViewStatusBarItemsContainer.id = "storage-view-status-bar-items";
-
- this.reset();
-}
-
-WebInspector.StoragePanel.prototype = {
- toolbarItemClass: "storage",
-
- get toolbarItemLabel()
- {
- return WebInspector.UIString("Storage");
- },
-
- get statusBarItems()
- {
- return [this.storageViewStatusBarItemsContainer];
- },
-
- reset: function()
- {
- if (this._databases) {
- var databasesLength = this._databases.length;
- for (var i = 0; i < databasesLength; ++i) {
- var database = this._databases[i];
-
- delete database._tableViews;
- delete database._queryView;
- }
- }
-
- this._databases = [];
-
- if (this._domStorage) {
- var domStorageLength = this._domStorage.length;
- for (var i = 0; i < domStorageLength; ++i) {
- var domStorage = this._domStorage[i];
-
- delete domStorage._domStorageView;
- }
- }
-
- this._domStorage = [];
-
- this._cookieDomains = {};
- this._cookieViews = {};
-
- this.databasesListTreeElement.removeChildren();
- this.localStorageListTreeElement.removeChildren();
- this.sessionStorageListTreeElement.removeChildren();
- this.cookieListTreeElement.removeChildren();
-
- this.storageViews.removeChildren();
-
- this.storageViewStatusBarItemsContainer.removeChildren();
-
- if (this.sidebarTree.selectedTreeElement)
- this.sidebarTree.selectedTreeElement.deselect();
- },
-
- handleKeyEvent: function(event)
- {
- this.sidebarTree.handleKeyEvent(event);
- },
-
- addDatabase: function(database)
- {
- this._databases.push(database);
-
- var databaseTreeElement = new WebInspector.DatabaseSidebarTreeElement(database);
- database._databasesTreeElement = databaseTreeElement;
- this.databasesListTreeElement.appendChild(databaseTreeElement);
- },
-
- addCookieDomain: function(domain)
- {
- // Eliminate duplicate domains from the list.
- if (typeof this._cookieDomains[domain] !== "undefined")
- return;
-
- var cookieDomainTreeElement = new WebInspector.CookieSidebarTreeElement(domain);
- this.cookieListTreeElement.appendChild(cookieDomainTreeElement);
- this._cookieDomains[domain] = true;
- },
-
- addDOMStorage: function(domStorage)
- {
- this._domStorage.push(domStorage);
- var domStorageTreeElement = new WebInspector.DOMStorageSidebarTreeElement(domStorage, (domStorage.isLocalStorage ? "local-storage" : "session-storage"));
- domStorage._domStorageTreeElement = domStorageTreeElement;
- if (domStorage.isLocalStorage)
- this.localStorageListTreeElement.appendChild(domStorageTreeElement);
- else
- this.sessionStorageListTreeElement.appendChild(domStorageTreeElement);
- },
-
- selectDatabase: function(databaseId)
- {
- var database;
- for (var i = 0, len = this._databases.length; i < len; ++i) {
- database = this._databases[i];
- if (database.id === databaseId) {
- this.showDatabase(database);
- database._databasesTreeElement.select();
- return;
- }
- }
- },
-
- selectDOMStorage: function(storageId)
- {
- var domStorage = this._domStorageForId(storageId);
- if (domStorage) {
- this.showDOMStorage(domStorage);
- domStorage._domStorageTreeElement.select();
- }
- },
-
- showDatabase: function(database, tableName)
- {
- if (!database)
- return;
-
- if (this.visibleView)
- this.visibleView.hide();
-
- var view;
- if (tableName) {
- if (!("_tableViews" in database))
- database._tableViews = {};
- view = database._tableViews[tableName];
- if (!view) {
- view = new WebInspector.DatabaseTableView(database, tableName);
- database._tableViews[tableName] = view;
- }
- } else {
- view = database._queryView;
- if (!view) {
- view = new WebInspector.DatabaseQueryView(database);
- database._queryView = view;
- }
- }
-
- view.show(this.storageViews);
-
- this.visibleView = view;
-
- this.storageViewStatusBarItemsContainer.removeChildren();
- var statusBarItems = view.statusBarItems || [];
- for (var i = 0; i < statusBarItems.length; ++i)
- this.storageViewStatusBarItemsContainer.appendChild(statusBarItems[i].element);
- },
-
- showDOMStorage: function(domStorage)
- {
- if (!domStorage)
- return;
-
- if (this.visibleView)
- this.visibleView.hide();
-
- var view;
- view = domStorage._domStorageView;
- if (!view) {
- view = new WebInspector.DOMStorageItemsView(domStorage);
- domStorage._domStorageView = view;
- }
-
- view.show(this.storageViews);
-
- this.visibleView = view;
-
- this.storageViewStatusBarItemsContainer.removeChildren();
- var statusBarItems = view.statusBarItems;
- for (var i = 0; i < statusBarItems.length; ++i)
- this.storageViewStatusBarItemsContainer.appendChild(statusBarItems[i]);
- },
-
- showCookies: function(cookieDomain)
- {
- if (this.visibleView)
- this.visibleView.hide();
-
- var view = this._cookieViews[cookieDomain];
- if (!view) {
- view = new WebInspector.CookieItemsView(cookieDomain);
- this._cookieViews[cookieDomain] = view;
- }
-
- view.show(this.storageViews);
-
- this.visibleView = view;
-
- this.storageViewStatusBarItemsContainer.removeChildren();
- var statusBarItems = view.statusBarItems;
- for (var i = 0; i < statusBarItems.length; ++i)
- this.storageViewStatusBarItemsContainer.appendChild(statusBarItems[i]);
- },
-
- closeVisibleView: function()
- {
- if (this.visibleView)
- this.visibleView.hide();
- delete this.visibleView;
- },
-
- updateDatabaseTables: function(database)
- {
- if (!database || !database._databasesTreeElement)
- return;
-
- database._databasesTreeElement.shouldRefreshChildren = true;
-
- if (!("_tableViews" in database))
- return;
-
- var tableNamesHash = {};
- var self = this;
- function tableNamesCallback(tableNames)
- {
- var tableNamesLength = tableNames.length;
- for (var i = 0; i < tableNamesLength; ++i)
- tableNamesHash[tableNames[i]] = true;
-
- for (var tableName in database._tableViews) {
- if (!(tableName in tableNamesHash)) {
- if (self.visibleView === database._tableViews[tableName])
- self.closeVisibleView();
- delete database._tableViews[tableName];
- }
- }
- }
- database.getTableNames(tableNamesCallback);
- },
-
- dataGridForResult: function(rows)
- {
- if (!rows.length)
- return null;
-
- var columns = {};
- var numColumns = 0;
-
- for (var columnIdentifier in rows[0]) {
- var column = {};
- column.width = columnIdentifier.length;
- column.title = columnIdentifier;
-
- columns[columnIdentifier] = column;
- ++numColumns;
- }
-
- var nodes = [];
- var length = rows.length;
- for (var i = 0; i < length; ++i) {
- var data = {};
-
- var row = rows[i];
- for (var columnIdentifier in row) {
- var text = row[columnIdentifier];
- data[columnIdentifier] = text;
- if (text.length > columns[columnIdentifier].width)
- columns[columnIdentifier].width = text.length;
- }
-
- var node = new WebInspector.DataGridNode(data, false);
- node.selectable = false;
- nodes.push(node);
- }
-
- var totalColumnWidths = 0;
- for (var columnIdentifier in columns)
- totalColumnWidths += columns[columnIdentifier].width;
-
- // Calculate the percentage width for the columns.
- const minimumPrecent = Math.min(5, Math.floor(100/numColumns));
- var recoupPercent = 0;
- for (var columnIdentifier in columns) {
- var width = columns[columnIdentifier].width;
- width = Math.round((width / totalColumnWidths) * 100);
- if (width < minimumPrecent) {
- recoupPercent += (minimumPrecent - width);
- width = minimumPrecent;
- }
-
- columns[columnIdentifier].width = width;
- }
-
- // Enforce the minimum percentage width.
- while (recoupPercent > 0) {
- for (var columnIdentifier in columns) {
- if (columns[columnIdentifier].width > minimumPrecent) {
- --columns[columnIdentifier].width;
- --recoupPercent;
- if (!recoupPercent)
- break;
- }
- }
- }
-
- // Change the width property to a string suitable for a style width.
- for (var columnIdentifier in columns)
- columns[columnIdentifier].width += "%";
-
- var dataGrid = new WebInspector.DataGrid(columns);
- var length = nodes.length;
- for (var i = 0; i < length; ++i)
- dataGrid.appendChild(nodes[i]);
-
- return dataGrid;
- },
-
- resize: function()
- {
- var visibleView = this.visibleView;
- if (visibleView && "resize" in visibleView)
- visibleView.resize();
- },
-
- updateDOMStorage: function(storageId)
- {
- var domStorage = this._domStorageForId(storageId);
- if (!domStorage)
- return;
-
- var view = domStorage._domStorageView;
- if (this.visibleView && view === this.visibleView)
- domStorage._domStorageView.update();
- },
-
- _domStorageForId: function(storageId)
- {
- if (!this._domStorage)
- return null;
- var domStorageLength = this._domStorage.length;
- for (var i = 0; i < domStorageLength; ++i) {
- var domStorage = this._domStorage[i];
- if (domStorage.id == storageId)
- return domStorage;
- }
- return null;
- },
-
- setMainViewWidth: function(width)
- {
- this.storageViews.style.left = width + "px";
- this.storageViewStatusBarItemsContainer.style.left = width + "px";
- }
-}
-
-WebInspector.StoragePanel.prototype.__proto__ = WebInspector.Panel.prototype;
-
-WebInspector.DatabaseSidebarTreeElement = function(database)
-{
- this.database = database;
-
- WebInspector.SidebarTreeElement.call(this, "database-sidebar-tree-item", "", "", database, true);
-
- this.refreshTitles();
-}
-
-WebInspector.DatabaseSidebarTreeElement.prototype = {
- onselect: function()
- {
- WebInspector.panels.storage.showDatabase(this.database);
- },
-
- oncollapse: function()
- {
- // Request a refresh after every collapse so the next
- // expand will have an updated table list.
- this.shouldRefreshChildren = true;
- },
-
- onpopulate: function()
- {
- this.removeChildren();
-
- var self = this;
- function tableNamesCallback(tableNames)
- {
- var tableNamesLength = tableNames.length;
- for (var i = 0; i < tableNamesLength; ++i)
- self.appendChild(new WebInspector.SidebarDatabaseTableTreeElement(self.database, tableNames[i]));
- }
- this.database.getTableNames(tableNamesCallback);
- },
-
- get mainTitle()
- {
- return this.database.name;
- },
-
- set mainTitle(x)
- {
- // Do nothing.
- },
-
- get subtitle()
- {
- return this.database.displayDomain;
- },
-
- set subtitle(x)
- {
- // Do nothing.
- }
-}
-
-WebInspector.DatabaseSidebarTreeElement.prototype.__proto__ = WebInspector.SidebarTreeElement.prototype;
-
-WebInspector.SidebarDatabaseTableTreeElement = function(database, tableName)
-{
- this.database = database;
- this.tableName = tableName;
-
- WebInspector.SidebarTreeElement.call(this, "database-table-sidebar-tree-item small", tableName, "", null, false);
-}
-
-WebInspector.SidebarDatabaseTableTreeElement.prototype = {
- onselect: function()
- {
- WebInspector.panels.storage.showDatabase(this.database, this.tableName);
- }
-}
-
-WebInspector.SidebarDatabaseTableTreeElement.prototype.__proto__ = WebInspector.SidebarTreeElement.prototype;
-
-WebInspector.DOMStorageSidebarTreeElement = function(domStorage, className)
-{
-
- this.domStorage = domStorage;
-
- WebInspector.SidebarTreeElement.call(this, "domstorage-sidebar-tree-item " + className, domStorage, "", null, false);
-
- this.refreshTitles();
-}
-
-WebInspector.DOMStorageSidebarTreeElement.prototype = {
- onselect: function()
- {
- WebInspector.panels.storage.showDOMStorage(this.domStorage);
- },
-
- get mainTitle()
- {
- return this.domStorage.domain ? this.domStorage.domain : WebInspector.UIString("Local Files");
- },
-
- set mainTitle(x)
- {
- // Do nothing.
- },
-
- get subtitle()
- {
- return ""; //this.database.displayDomain;
- },
-
- set subtitle(x)
- {
- // Do nothing.
- }
-}
-
-WebInspector.DOMStorageSidebarTreeElement.prototype.__proto__ = WebInspector.SidebarTreeElement.prototype;
-
-WebInspector.CookieSidebarTreeElement = function(cookieDomain)
-{
- WebInspector.SidebarTreeElement.call(this, "cookie-sidebar-tree-item", cookieDomain, "", null, false);
- this._cookieDomain = cookieDomain;
-
- this.refreshTitles();
-}
-
-WebInspector.CookieSidebarTreeElement.prototype = {
- onselect: function()
- {
- WebInspector.panels.storage.showCookies(this._cookieDomain);
- },
-
- get mainTitle()
- {
- return this._cookieDomain ? this._cookieDomain : WebInspector.UIString("Local Files");
- },
-
- set mainTitle(x)
- {
- // Do nothing.
- },
-
- get subtitle()
- {
- return "";
- },
-
- set subtitle(x)
- {
- // Do nothing.
- }
-}
-
-WebInspector.CookieSidebarTreeElement.prototype.__proto__ = WebInspector.SidebarTreeElement.prototype;
« no previous file with comments | « resources/inspector/StatusBarButton.js ('k') | resources/inspector/StylesSidebarPane.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698