Index: third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js b/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js |
index 0d4f2a686e4e5052e8b35f8163007f4aee07fc24..186c07080513befd8a7bb2c798c0de0edd41b049 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js |
+++ b/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js |
@@ -40,34 +40,51 @@ WebInspector.ResourcesPanel = function() |
this._resourcesLastSelectedItemSetting = WebInspector.settings.createSetting("resourcesLastSelectedItem", {}); |
- this._sidebarTree = new TreeOutline(); |
- this._sidebarTree.element.classList.add("filter-all", "children", "small", "outline-disclosure"); |
+ this._sidebarTree = new TreeOutlineInShadow(); |
+ this._sidebarTree.element.classList.add("resources-sidebar"); |
+ this._sidebarTree.registerRequiredCSS("resources/resourcesSidebar.css"); |
+ this._sidebarTree.element.classList.add("filter-all", "outline-disclosure"); |
this.panelSidebarElement().appendChild(this._sidebarTree.element); |
this.setDefaultFocusedElement(this._sidebarTree.element); |
- this.resourcesListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Frames"), "Frames", ["frame-storage-tree-item"]); |
- this._sidebarTree.appendChild(this.resourcesListTreeElement); |
- |
- this.databasesListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Web SQL"), "Databases", ["database-storage-tree-item"]); |
- this._sidebarTree.appendChild(this.databasesListTreeElement); |
- |
- this.indexedDBListTreeElement = new WebInspector.IndexedDBTreeElement(this); |
- this._sidebarTree.appendChild(this.indexedDBListTreeElement); |
+ var storageTreeElement = new TreeElement(WebInspector.UIString("Storage"), true); |
+ storageTreeElement.listItemElement.classList.add("storage-group-list-item"); |
+ storageTreeElement.setCollapsible(false); |
+ storageTreeElement.selectable = false; |
+ this._sidebarTree.appendChild(storageTreeElement); |
this.localStorageListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Local Storage"), "LocalStorage", ["domstorage-storage-tree-item", "local-storage"]); |
- this._sidebarTree.appendChild(this.localStorageListTreeElement); |
+ storageTreeElement.appendChild(this.localStorageListTreeElement); |
this.sessionStorageListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Session Storage"), "SessionStorage", ["domstorage-storage-tree-item", "session-storage"]); |
- this._sidebarTree.appendChild(this.sessionStorageListTreeElement); |
+ storageTreeElement.appendChild(this.sessionStorageListTreeElement); |
+ |
+ this.indexedDBListTreeElement = new WebInspector.IndexedDBTreeElement(this); |
+ storageTreeElement.appendChild(this.indexedDBListTreeElement); |
+ |
+ this.databasesListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Web SQL"), "Databases", ["database-storage-tree-item"]); |
+ storageTreeElement.appendChild(this.databasesListTreeElement); |
this.cookieListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Cookies"), "Cookies", ["cookie-storage-tree-item"]); |
- this._sidebarTree.appendChild(this.cookieListTreeElement); |
+ storageTreeElement.appendChild(this.cookieListTreeElement); |
- this.applicationCacheListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Application Cache"), "ApplicationCache", ["application-cache-storage-tree-item"]); |
- this._sidebarTree.appendChild(this.applicationCacheListTreeElement); |
+ var cacheTreeElement = new TreeElement(WebInspector.UIString("Cache"), true); |
+ cacheTreeElement.listItemElement.classList.add("storage-group-list-item"); |
+ cacheTreeElement.setCollapsible(false); |
+ cacheTreeElement.selectable = false; |
+ this._sidebarTree.appendChild(cacheTreeElement); |
this.cacheStorageListTreeElement = new WebInspector.ServiceWorkerCacheTreeElement(this); |
- this._sidebarTree.appendChild(this.cacheStorageListTreeElement); |
+ cacheTreeElement.appendChild(this.cacheStorageListTreeElement); |
+ |
+ this.applicationCacheListTreeElement = new WebInspector.StorageCategoryTreeElement(this, WebInspector.UIString("Application Cache"), "ApplicationCache", ["application-cache-storage-tree-item"]); |
+ cacheTreeElement.appendChild(this.applicationCacheListTreeElement); |
+ |
+ this.resourcesListTreeElement = new TreeElement(WebInspector.UIString("Frames"), true); |
+ this.resourcesListTreeElement.listItemElement.classList.add("storage-group-list-item"); |
+ this.resourcesListTreeElement.setCollapsible(false); |
+ this.resourcesListTreeElement.selectable = false; |
+ this._sidebarTree.appendChild(this.resourcesListTreeElement); |
var mainContainer = new WebInspector.VBox(); |
this.storageViews = mainContainer.element.createChild("div", "vbox flex-auto"); |
@@ -96,6 +113,16 @@ WebInspector.ResourcesPanel = function() |
} |
WebInspector.ResourcesPanel.prototype = { |
+ wasShown: function() |
+ { |
+ if (!this._sidebarTree.selectedTreeElement) { |
+ if (this.serviceWorkersTreeElement) |
+ this.serviceWorkersTreeElement.select(); |
+ else |
+ this.localStorageListTreeElement.select(); |
+ } |
+ }, |
+ |
/** |
* @override |
* @param {!WebInspector.Target} target |
@@ -108,7 +135,7 @@ WebInspector.ResourcesPanel.prototype = { |
if (target.serviceWorkerManager) { |
this.serviceWorkersTreeElement = new WebInspector.ServiceWorkersTreeElement(this); |
- this._sidebarTree.appendChild(this.serviceWorkersTreeElement); |
+ this._sidebarTree.insertChild(this.serviceWorkersTreeElement, 0); |
} |
this._databaseModel = WebInspector.DatabaseModel.fromTarget(target); |
@@ -339,7 +366,7 @@ WebInspector.ResourcesPanel.prototype = { |
if (!parsedURL) |
return; |
- var domain = parsedURL.host; |
+ var domain = parsedURL.securityOrigin(); |
if (!this._domains[domain]) { |
this._domains[domain] = true; |
@@ -829,72 +856,17 @@ WebInspector.ResourcesPanel.ResourceRevealer.prototype = { |
*/ |
WebInspector.BaseStorageTreeElement = function(storagePanel, title, iconClasses, expandable, noIcon) |
{ |
- TreeElement.call(this, "", expandable); |
+ TreeElement.call(this, title, expandable); |
this._storagePanel = storagePanel; |
- this._titleText = title; |
+ for (var i = 0; iconClasses && i < iconClasses.length; ++i) |
+ this.listItemElement.classList.add(iconClasses[i]); |
+ |
this._iconClasses = iconClasses; |
- this._noIcon = noIcon; |
+ if (!noIcon) |
+ this.createIcon(); |
} |
WebInspector.BaseStorageTreeElement.prototype = { |
- onattach: function() |
- { |
- this.listItemElement.removeChildren(); |
- if (this._iconClasses) { |
- for (var i = 0; i < this._iconClasses.length; ++i) |
- this.listItemElement.classList.add(this._iconClasses[i]); |
- } |
- |
- this.listItemElement.createChild("div", "selection fill"); |
- |
- if (!this._noIcon) |
- this.imageElement = this.listItemElement.createChild("img", "icon"); |
- |
- this.titleElement = this.listItemElement.createChild("div", "base-storage-tree-element-title"); |
- this._titleTextNode = this.titleElement.createTextChild(""); |
- this._updateTitle(); |
- this._updateSubtitle(); |
- }, |
- |
- get displayName() |
- { |
- return this._displayName; |
- }, |
- |
- _updateDisplayName: function() |
- { |
- this._displayName = this._titleText || ""; |
- if (this._subtitleText) |
- this._displayName += " (" + this._subtitleText + ")"; |
- }, |
- |
- _updateTitle: function() |
- { |
- this._updateDisplayName(); |
- |
- if (!this.titleElement) |
- return; |
- |
- this._titleTextNode.textContent = this._titleText || ""; |
- }, |
- |
- _updateSubtitle: function() |
- { |
- this._updateDisplayName(); |
- |
- if (!this.titleElement) |
- return; |
- |
- if (this._subtitleText) { |
- if (!this._subtitleElement) |
- this._subtitleElement = this.titleElement.createChild("span", "base-storage-tree-element-subtitle"); |
- this._subtitleElement.textContent = "(" + this._subtitleText + ")"; |
- } else if (this._subtitleElement) { |
- this._subtitleElement.remove(); |
- delete this._subtitleElement; |
- } |
- }, |
- |
/** |
* @override |
* @return {boolean} |
@@ -909,28 +881,6 @@ WebInspector.BaseStorageTreeElement.prototype = { |
return false; |
}, |
- get titleText() |
- { |
- return this._titleText; |
- }, |
- |
- set titleText(titleText) |
- { |
- this._titleText = titleText; |
- this._updateTitle(); |
- }, |
- |
- get subtitleText() |
- { |
- return this._subtitleText; |
- }, |
- |
- set subtitleText(subtitleText) |
- { |
- this._subtitleText = subtitleText; |
- this._updateSubtitle(); |
- }, |
- |
__proto__: TreeElement.prototype |
} |
@@ -1012,7 +962,7 @@ WebInspector.StorageCategoryTreeElement.prototype = { |
*/ |
WebInspector.FrameTreeElement = function(storagePanel, frame) |
{ |
- WebInspector.BaseStorageTreeElement.call(this, storagePanel, "", ["frame-storage-tree-item"]); |
+ WebInspector.BaseStorageTreeElement.call(this, storagePanel, "", ["navigator-tree-item", "navigator-folder-tree-item"]); |
this._frame = frame; |
this.frameNavigated(frame); |
} |
@@ -1022,10 +972,7 @@ WebInspector.FrameTreeElement.prototype = { |
{ |
this.removeChildren(); |
this._frameId = frame.id; |
- |
- this.titleText = frame.name; |
- this.subtitleText = new WebInspector.ParsedURL(frame.url).displayName; |
- |
+ this.title = frame.displayName(); |
this._categoryElements = {}; |
this._treeElementForResource = {}; |
@@ -1034,7 +981,7 @@ WebInspector.FrameTreeElement.prototype = { |
get itemURL() |
{ |
- return "frame://" + encodeURI(this.displayName); |
+ return "frame://" + encodeURI(this.titleAsText()); |
}, |
/** |
@@ -1044,7 +991,7 @@ WebInspector.FrameTreeElement.prototype = { |
onselect: function(selectedByUser) |
{ |
WebInspector.BaseStorageTreeElement.prototype.onselect.call(this, selectedByUser); |
- this._storagePanel.showCategoryView(this.displayName); |
+ this._storagePanel.showCategoryView(this.titleAsText()); |
this.listItemElement.classList.remove("hovered"); |
WebInspector.DOMModel.hideDOMNodeHighlight(); |
@@ -1121,11 +1068,8 @@ WebInspector.FrameTreeElement.prototype = { |
result = 1; |
else if (typeWeight1 < typeWeight2) |
result = -1; |
- else { |
- var title1 = treeElement1.displayName || treeElement1.titleText; |
- var title2 = treeElement2.displayName || treeElement2.titleText; |
- result = title1.localeCompare(title2); |
- } |
+ else |
+ result = treeElement1.titleAsText().localeCompare(treeElement2.titleAsText()); |
return result; |
} |
@@ -1149,7 +1093,7 @@ WebInspector.FrameTreeElement.prototype = { |
*/ |
WebInspector.FrameResourceTreeElement = function(storagePanel, resource) |
{ |
- WebInspector.BaseStorageTreeElement.call(this, storagePanel, resource.displayName, ["resource-sidebar-tree-item", "resources-type-" + resource.resourceType().name()]); |
+ WebInspector.BaseStorageTreeElement.call(this, storagePanel, resource.displayName, ["navigator-tree-item", "navigator-file-tree-item", "navigator-" + resource.resourceType().name() + "-tree-item"]); |
/** @type {!WebInspector.Resource} */ |
this._resource = resource; |
this.tooltip = resource.url; |
@@ -1191,17 +1135,6 @@ WebInspector.FrameResourceTreeElement.prototype = { |
onattach: function() |
{ |
WebInspector.BaseStorageTreeElement.prototype.onattach.call(this); |
- |
- if (this._resource.resourceType() === WebInspector.resourceTypes.Image) { |
- var iconElement = createElementWithClass("div", "icon"); |
- var previewImage = iconElement.createChild("img", "image-resource-icon-preview"); |
- this._resource.populateImageSource(previewImage); |
- this.listItemElement.replaceChild(iconElement, this.imageElement); |
- } |
- |
- this._statusElement = createElementWithClass("div", "status"); |
- this.listItemElement.insertBefore(this._statusElement, this.titleElement); |
- |
this.listItemElement.draggable = true; |
this.listItemElement.addEventListener("dragstart", this._ondragstart.bind(this), false); |
this.listItemElement.addEventListener("contextmenu", this._handleContextMenuEvent.bind(this), true); |
@@ -1518,7 +1451,7 @@ WebInspector.SWCacheTreeElement.prototype = { |
*/ |
WebInspector.ServiceWorkersTreeElement = function(storagePanel) |
{ |
- WebInspector.BaseStorageTreeElement.call(this, storagePanel, "Service Workers", ["service-workers-tree-item"], false); |
+ WebInspector.BaseStorageTreeElement.call(this, storagePanel, WebInspector.UIString("Service Workers"), ["service-workers-tree-item"], false); |
} |
WebInspector.ServiceWorkersTreeElement.prototype = { |
@@ -2109,7 +2042,7 @@ WebInspector.ApplicationCacheManifestTreeElement.prototype = { |
*/ |
WebInspector.ApplicationCacheFrameTreeElement = function(storagePanel, frameId, manifestURL) |
{ |
- WebInspector.BaseStorageTreeElement.call(this, storagePanel, "", ["frame-storage-tree-item"]); |
+ WebInspector.BaseStorageTreeElement.call(this, storagePanel, "", ["navigator-tree-item", "navigator-folder-tree-item"]); |
this._frameId = frameId; |
this._manifestURL = manifestURL; |
this._refreshTitles(); |
@@ -2118,7 +2051,7 @@ WebInspector.ApplicationCacheFrameTreeElement = function(storagePanel, frameId, |
WebInspector.ApplicationCacheFrameTreeElement.prototype = { |
get itemURL() |
{ |
- return "appcache://" + this._manifestURL + "/" + encodeURI(this.displayName); |
+ return "appcache://" + this._manifestURL + "/" + encodeURI(this.titleAsText()); |
dgozman
2016/04/28 01:44:58
It's strange to use titleAsText as a part of URL,
|
}, |
get frameId() |
@@ -2134,12 +2067,7 @@ WebInspector.ApplicationCacheFrameTreeElement.prototype = { |
_refreshTitles: function() |
{ |
var frame = this._storagePanel._target.resourceTreeModel.frameForId(this._frameId); |
- if (!frame) { |
- this.subtitleText = WebInspector.UIString("new frame"); |
- return; |
- } |
- this.titleText = frame.name; |
- this.subtitleText = new WebInspector.ParsedURL(frame.url).displayName; |
+ this.title = frame.displayName(); |
}, |
frameNavigated: function() |