summaryrefslogtreecommitdiff
path: root/Source/WebInspectorUI/UserInterface/ApplicationCacheFrameContentView.js
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/ApplicationCacheFrameContentView.js')
-rw-r--r--Source/WebInspectorUI/UserInterface/ApplicationCacheFrameContentView.js250
1 files changed, 0 insertions, 250 deletions
diff --git a/Source/WebInspectorUI/UserInterface/ApplicationCacheFrameContentView.js b/Source/WebInspectorUI/UserInterface/ApplicationCacheFrameContentView.js
deleted file mode 100644
index d2d0e6c91..000000000
--- a/Source/WebInspectorUI/UserInterface/ApplicationCacheFrameContentView.js
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (C) 2010, 2013 Apple Inc. All rights reserved.
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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.
- */
-
-/**
- * @constructor
- * @extends {WebInspector.View}
- */
-WebInspector.ApplicationCacheFrameContentView = function(representedObject)
-{
- console.assert(representedObject instanceof WebInspector.ApplicationCacheFrame);
-
- WebInspector.ContentView.call(this, representedObject);
-
- this.element.classList.add(WebInspector.ApplicationCacheFrameContentView.StyleClassName);
-
- this.element.classList.add("storage-view");
- this.element.classList.add("table");
-
- this._frame = representedObject.frame;
-
- this._emptyView = WebInspector.createMessageTextView(WebInspector.UIString("No Application Cache information available"), false);
- this._emptyView.classList.add("hidden");
- this.element.appendChild(this._emptyView);
-
- this._markDirty();
-
- var status = representedObject.status;
- this.updateStatus(status);
-
- WebInspector.applicationCacheManager.addEventListener(WebInspector.ApplicationCacheManager.Event.FrameManifestStatusChanged, this._updateStatus, this);
-}
-
-WebInspector.ApplicationCacheFrameContentView.StyleClassName = "application-cache-frame";
-
-WebInspector.ApplicationCacheFrameContentView.prototype = {
- constructor: WebInspector.ApplicationCacheFrameContentView,
-
- shown: function()
- {
- this._maybeUpdate();
- },
-
- closed: function()
- {
- WebInspector.applicationCacheManager.removeEventListener(WebInspector.ApplicationCacheManager.Event.FrameManifestStatusChanged, this._updateStatus, this);
- },
-
- updateLayout: function()
- {
- if (this.dataGrid)
- this.dataGrid.updateLayout();
- },
-
- saveToCookie: function(cookie)
- {
- cookie.type = WebInspector.ContentViewCookieType.ApplicationCache;
- cookie.frame = this.representedObject.frame.url;
- cookie.manifest = this.representedObject.manifest.manifestURL;
- },
-
- get scrollableElements()
- {
- if (!this._dataGrid)
- return [];
- return [this._dataGrid.scrollContainer];
- },
-
- _maybeUpdate: function()
- {
- if (!this.visible || !this._viewDirty)
- return;
-
- this._update();
- this._viewDirty = false;
- },
-
- _markDirty: function()
- {
- this._viewDirty = true;
- },
-
- _updateStatus: function(event)
- {
- var frameManifest = event.data.frameManifest;
- if (frameManifest !== this.representedObject)
- return;
-
- console.assert(frameManifest instanceof WebInspector.ApplicationCacheFrame);
-
- this.updateStatus(frameManifest.status);
- },
-
- /**
- * @param {number} status
- */
- updateStatus: function(status)
- {
- var oldStatus = this._status;
- this._status = status;
-
- if (this.visible && this._status === WebInspector.ApplicationCacheManager.Status.Idle && (oldStatus === WebInspector.ApplicationCacheManager.Status.UpdateReady || !this._resources))
- this._markDirty();
-
- this._maybeUpdate();
- },
-
- _update: function()
- {
- WebInspector.applicationCacheManager.requestApplicationCache(this._frame, this._updateCallback.bind(this));
- },
-
- /**
- * @param {Object} applicationCache
- */
- _updateCallback: function(applicationCache)
- {
- if (!applicationCache || !applicationCache.manifestURL) {
- delete this._manifest;
- delete this._creationTime;
- delete this._updateTime;
- delete this._size;
- delete this._resources;
-
- this._emptyView.classList.remove("hidden");
-
- if (this._dataGrid)
- this._dataGrid.element.classList.add("hidden");
- return;
- }
-
- // FIXME: are these variables needed anywhere else?
- this._manifest = applicationCache.manifestURL;
- this._creationTime = applicationCache.creationTime;
- this._updateTime = applicationCache.updateTime;
- this._size = applicationCache.size;
- this._resources = applicationCache.resources;
-
- if (!this._dataGrid)
- this._createDataGrid();
-
- this._populateDataGrid();
- this._dataGrid.autoSizeColumns(20, 80);
- this._dataGrid.element.classList.remove("hidden");
-
- this._emptyView.classList.add("hidden");
- },
-
- _createDataGrid: function()
- {
- var columns = { 0: {}, 1: {}, 2: {} };
- columns[0].title = WebInspector.UIString("Resource");
- columns[0].sort = "ascending";
- columns[0].sortable = true;
- columns[1].title = WebInspector.UIString("Type");
- columns[1].sortable = true;
- columns[2].title = WebInspector.UIString("Size");
- columns[2].aligned = "right";
- columns[2].sortable = true;
- this._dataGrid = new WebInspector.DataGrid(columns);
- this.element.appendChild(this._dataGrid.element);
- this._dataGrid.updateLayout();
- this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SortChanged, this._populateDataGrid, this);
- },
-
- _populateDataGrid: function()
- {
- var selectedResource = this._dataGrid.selectedNode ? this._dataGrid.selectedNode.resource : null;
- var sortDirection = this._dataGrid.sortOrder === "ascending" ? 1 : -1;
-
- function numberCompare(field, resource1, resource2)
- {
- return sortDirection * (resource1[field] - resource2[field]);
- }
- function localeCompare(field, resource1, resource2)
- {
- return sortDirection * (resource1[field] + "").localeCompare(resource2[field] + "");
- }
-
- var comparator;
- switch (parseInt(this._dataGrid.sortColumnIdentifier, 10)) {
- case 0: comparator = localeCompare.bind(this, "url"); break;
- case 1: comparator = localeCompare.bind(this, "type"); break;
- case 2: comparator = numberCompare.bind(this, "size"); break;
- default: localeCompare.bind(this, "resource"); // FIXME: comparator = ?
- }
-
- this._resources.sort(comparator);
- this._dataGrid.removeChildren();
-
- var nodeToSelect;
- for (var i = 0; i < this._resources.length; ++i) {
- var data = {};
- var resource = this._resources[i];
- data[0] = resource.url;
- data[1] = resource.type;
- data[2] = Number.bytesToString(resource.size);
- var node = new WebInspector.DataGridNode(data);
- node.resource = resource;
- node.selectable = true;
- this._dataGrid.appendChild(node);
- if (resource === selectedResource) {
- nodeToSelect = node;
- nodeToSelect.selected = true;
- }
- }
-
- if (!nodeToSelect && this._dataGrid.children.length)
- this._dataGrid.children[0].selected = true;
- },
-
- _deleteButtonClicked: function(event)
- {
- if (!this._dataGrid || !this._dataGrid.selectedNode)
- return;
-
- // FIXME: Delete Button semantics are not yet defined. (Delete a single, or all?)
- this._deleteCallback(this._dataGrid.selectedNode);
- },
-
- _deleteCallback: function(node)
- {
- // FIXME: Should we delete a single (selected) resource or all resources?
- // InspectorBackend.deleteCachedResource(...)
- // this._update();
- }
-}
-
-WebInspector.ApplicationCacheFrameContentView.prototype.__proto__ = WebInspector.ContentView.prototype;