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

Unified Diff: Source/devtools/front_end/ResourcesPanel.js

Issue 23264011: Quota view in Resources pannel. Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 2 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 | « Source/devtools/front_end/QuotaView.js ('k') | Source/devtools/front_end/resourcesPanel.css » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/ResourcesPanel.js
diff --git a/Source/devtools/front_end/ResourcesPanel.js b/Source/devtools/front_end/ResourcesPanel.js
index bdb45fcfcf99e5f3a86187cb2ada5d4fe7adac6b..c649efb1e34504f57ea2aaca10f41fc32ed3c99e 100644
--- a/Source/devtools/front_end/ResourcesPanel.js
+++ b/Source/devtools/front_end/ResourcesPanel.js
@@ -36,6 +36,7 @@ importScript("DirectoryContentView.js");
importScript("IndexedDBViews.js");
importScript("FileContentView.js");
importScript("FileSystemView.js");
+importScript("QuotaView.js");
/**
* @constructor
@@ -77,6 +78,9 @@ WebInspector.ResourcesPanel = function(database)
this.applicationCacheListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Application Cache"), "ApplicationCache", ["application-cache-storage-tree-item"]);
this.sidebarTree.appendChild(this.applicationCacheListTreeElement);
+ this.quotaListTreeElement = new WebInspector.QuotaHostListTreeElement(this);
+ this.sidebarTree.appendChild(this.quotaListTreeElement);
+
if (WebInspector.experimentsSettings.fileSystemInspection.isEnabled()) {
this.fileSystemListTreeElement = new WebInspector.FileSystemListTreeElement(this);
this.sidebarTree.appendChild(this.fileSystemListTreeElement);
@@ -201,6 +205,7 @@ WebInspector.ResourcesPanel.prototype = {
this.localStorageListTreeElement.removeChildren();
this.sessionStorageListTreeElement.removeChildren();
this.cookieListTreeElement.removeChildren();
+ this.quotaListTreeElement.removeChildren();
if (this.visibleView && !(this.visibleView instanceof WebInspector.StorageCategoryView))
this.visibleView.detach();
@@ -548,6 +553,11 @@ WebInspector.ResourcesPanel.prototype = {
this._innerShowView(this._applicationCacheViews[frameId]);
},
+ showQuota: function(securityOrigin)
+ {
+ this._innerShowView(new WebInspector.QuotaView(securityOrigin));
+ },
+
/**
* @param {WebInspector.View} view
*/
@@ -1457,6 +1467,83 @@ WebInspector.FileSystemListTreeElement.prototype = {
/**
* @constructor
+ * @extends {WebInspector.StorageCategoryTreeElement}
+ * @param {WebInspector.ResourcesPanel} storagePanel
+ */
+WebInspector.QuotaHostListTreeElement = function(storagePanel)
+{
+ WebInspector.StorageCategoryTreeElement.call(this, storagePanel, WebInspector.UIString("Quota"), "Quota", ["quota-tree-item"])
+}
+
+WebInspector.QuotaHostListTreeElement.prototype = {
+ onattach: function()
+ {
+ WebInspector.StorageCategoryTreeElement.prototype.onattach.call(this);
+ WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.SecurityOriginAdded, this._securityOriginAdded, this);
+ WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.SecurityOriginRemoved, this._securityOriginRemoved, this);
+
+ var securityOrigins = WebInspector.resourceTreeModel.securityOrigins();
+ for (var i = 0; i < securityOrigins.length; ++i)
+ this._addOrigin(securityOrigins[i]);
+ },
+
+ ondetach: function()
+ {
+ WebInspector.StorageCategoryTreeElement.prototype.ondetach.call(this);
+ WebInspector.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.SecurityOriginAdded, this._securityOriginAdded, this);
+ WebInspector.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.SecurityOriginRemoved, this._securityOriginRemoved, this);
+ this.removeChildren();
+ },
+
+ /**
+ * @param {string} securityOrigin
+ */
+ _addOrigin: function(securityOrigin)
+ {
+ var quotaTreeElement = new WebInspector.QuotaTreeElement(this._storagePanel, securityOrigin);
+ this.appendChild(quotaTreeElement);
+ },
+
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _securityOriginAdded: function(event)
+ {
+ var securityOrigin = /** @type {string} */ (event.data);
+ this._addOrigin(securityOrigin);
+ },
+
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _securityOriginRemoved: function(event)
+ {
+ var securityOrigin = /** @type {string} */ (event.data);
+ var quotaTreeElement = this._quotaTreeElementBySecurityOrigin(securityOrigin);
+ if (!quotaTreeElement)
+ return;
+ this.removeChild(quotaTreeElement);
+ },
+
+ /**
+ * @param {string} securityOrigin
+ * @return {WebInspector.QuotaTreeElement}
+ */
+ _quotaTreeElementBySecurityOrigin: function(securityOrigin)
+ {
+ for (var i = 0; i < this.children.length; ++i) {
+ var child = /** @type {WebInspector.QuotaTreeElement} */ (this.children[i]);
+ if (child.securityOrigin === securityOrigin)
+ return child;
+ }
+ return null;
+ },
+
+ __proto__: WebInspector.StorageCategoryTreeElement.prototype
+}
+
+/**
+ * @constructor
* @extends {WebInspector.BaseStorageTreeElement}
* @param {WebInspector.ResourcesPanel} storagePanel
* @param {WebInspector.IndexedDBModel} model
@@ -1953,6 +2040,27 @@ WebInspector.FileSystemTreeElement.prototype = {
/**
* @constructor
+ * @extends {WebInspector.BaseStorageTreeElement}
+ */
+WebInspector.QuotaTreeElement = function(storagePanel, securityOrigin)
+{
+ var displayName = securityOrigin;
+ WebInspector.BaseStorageTreeElement.call(this, storagePanel, null, displayName, ["quota-tree-item"]);
+ this.securityOrigin = securityOrigin;
+}
+
+WebInspector.QuotaTreeElement.prototype = {
+ onselect: function(selectedByUser)
+ {
+ WebInspector.BaseStorageTreeElement.prototype.onselect.call(this, selectedByUser);
+ this._storagePanel.showQuota(this.securityOrigin);
+ },
+
+ __proto__: WebInspector.BaseStorageTreeElement.prototype
+}
+
+/**
+ * @constructor
* @extends {WebInspector.View}
*/
WebInspector.StorageCategoryView = function()
« no previous file with comments | « Source/devtools/front_end/QuotaView.js ('k') | Source/devtools/front_end/resourcesPanel.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698