| Index: Source/devtools/front_end/CSSNamedFlowCollectionsView.js
|
| diff --git a/Source/devtools/front_end/CSSNamedFlowCollectionsView.js b/Source/devtools/front_end/CSSNamedFlowCollectionsView.js
|
| deleted file mode 100644
|
| index 24da59ce66c1aefd3c9523ff745f5691de8b77c5..0000000000000000000000000000000000000000
|
| --- a/Source/devtools/front_end/CSSNamedFlowCollectionsView.js
|
| +++ /dev/null
|
| @@ -1,433 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2012 Adobe Systems Incorporated. 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 THE COPYRIGHT HOLDERS AND 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 THE
|
| - * COPYRIGHT HOLDER OR 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.SidebarView}
|
| - */
|
| -WebInspector.CSSNamedFlowCollectionsView = function()
|
| -{
|
| - WebInspector.SidebarView.call(this, WebInspector.SidebarView.SidebarPosition.Start);
|
| - this.registerRequiredCSS("cssNamedFlows.css");
|
| -
|
| - this._namedFlows = {};
|
| - this._contentNodes = {};
|
| - this._regionNodes = {};
|
| -
|
| - this.element.classList.add("css-named-flow-collections-view");
|
| - this.element.classList.add("fill");
|
| -
|
| - this._statusElement = document.createElement("span");
|
| - this._statusElement.textContent = WebInspector.UIString("CSS Named Flows");
|
| -
|
| - var sidebarHeader = this.firstElement().createChild("div", "tabbed-pane-header selected sidebar-header");
|
| - var tab = sidebarHeader.createChild("div", "tabbed-pane-header-tab");
|
| - tab.createChild("span", "tabbed-pane-header-tab-title").textContent = WebInspector.UIString("CSS Named Flows");
|
| -
|
| - this._sidebarContentElement = this.firstElement().createChild("div", "sidebar-content outline-disclosure");
|
| - this._flowListElement = this._sidebarContentElement.createChild("ol");
|
| - this._flowTree = new TreeOutline(this._flowListElement);
|
| -
|
| - this._emptyElement = document.createElement("div");
|
| - this._emptyElement.classList.add("info");
|
| - this._emptyElement.textContent = WebInspector.UIString("No CSS Named Flows");
|
| -
|
| - this._tabbedPane = new WebInspector.TabbedPane();
|
| - this._tabbedPane.closeableTabs = true;
|
| - this._tabbedPane.show(this.secondElement());
|
| -}
|
| -
|
| -WebInspector.CSSNamedFlowCollectionsView.prototype = {
|
| - showInDrawer: function()
|
| - {
|
| - WebInspector.inspectorView.showCloseableViewInDrawer("css-flows", WebInspector.UIString("CSS Flows"), this);
|
| - },
|
| -
|
| - reset: function()
|
| - {
|
| - if (!this._document)
|
| - return;
|
| -
|
| - WebInspector.cssModel.getNamedFlowCollectionAsync(this._document.id, this._resetNamedFlows.bind(this));
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.DOMDocument} document
|
| - */
|
| - _setDocument: function(document)
|
| - {
|
| - this._document = document;
|
| - this.reset();
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _documentUpdated: function(event)
|
| - {
|
| - var document = /** @type {!WebInspector.DOMDocument} */ (event.data);
|
| - this._setDocument(document);
|
| - },
|
| -
|
| - /**
|
| - * @param {boolean} hasContent
|
| - */
|
| - _setSidebarHasContent: function(hasContent)
|
| - {
|
| - if (hasContent) {
|
| - if (!this._emptyElement.parentNode)
|
| - return;
|
| -
|
| - this._sidebarContentElement.removeChild(this._emptyElement);
|
| - this._sidebarContentElement.appendChild(this._flowListElement);
|
| - } else {
|
| - if (!this._flowListElement.parentNode)
|
| - return;
|
| -
|
| - this._sidebarContentElement.removeChild(this._flowListElement);
|
| - this._sidebarContentElement.appendChild(this._emptyElement);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.NamedFlow} flow
|
| - */
|
| - _appendNamedFlow: function(flow)
|
| - {
|
| - var flowHash = this._hashNamedFlow(flow.documentNodeId, flow.name);
|
| - var flowContainer = { flow: flow, flowHash: flowHash };
|
| -
|
| - for (var i = 0; i < flow.content.length; ++i)
|
| - this._contentNodes[flow.content[i]] = flowHash;
|
| - for (var i = 0; i < flow.regions.length; ++i)
|
| - this._regionNodes[flow.regions[i].nodeId] = flowHash;
|
| -
|
| - var flowTreeItem = new WebInspector.FlowTreeElement(flowContainer);
|
| - flowTreeItem.onselect = this._selectNamedFlowTab.bind(this, flowHash);
|
| -
|
| - flowContainer.flowTreeItem = flowTreeItem;
|
| - this._namedFlows[flowHash] = flowContainer;
|
| -
|
| - if (!this._flowTree.children.length)
|
| - this._setSidebarHasContent(true);
|
| - this._flowTree.appendChild(flowTreeItem);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} flowHash
|
| - */
|
| - _removeNamedFlow: function(flowHash)
|
| - {
|
| - var flowContainer = this._namedFlows[flowHash];
|
| -
|
| - if (this._tabbedPane._tabsById[flowHash])
|
| - this._tabbedPane.closeTab(flowHash);
|
| - this._flowTree.removeChild(flowContainer.flowTreeItem);
|
| -
|
| - var flow = flowContainer.flow;
|
| - for (var i = 0; i < flow.content.length; ++i)
|
| - delete this._contentNodes[flow.content[i]];
|
| - for (var i = 0; i < flow.regions.length; ++i)
|
| - delete this._regionNodes[flow.regions[i].nodeId];
|
| -
|
| - delete this._namedFlows[flowHash];
|
| -
|
| - if (!this._flowTree.children.length)
|
| - this._setSidebarHasContent(false);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.NamedFlow} flow
|
| - */
|
| - _updateNamedFlow: function(flow)
|
| - {
|
| - var flowHash = this._hashNamedFlow(flow.documentNodeId, flow.name);
|
| - var flowContainer = this._namedFlows[flowHash];
|
| -
|
| - if (!flowContainer)
|
| - return;
|
| -
|
| - var oldFlow = flowContainer.flow;
|
| - flowContainer.flow = flow;
|
| -
|
| - for (var i = 0; i < oldFlow.content.length; ++i)
|
| - delete this._contentNodes[oldFlow.content[i]];
|
| - for (var i = 0; i < oldFlow.regions.length; ++i)
|
| - delete this._regionNodes[oldFlow.regions[i].nodeId];
|
| -
|
| - for (var i = 0; i < flow.content.length; ++i)
|
| - this._contentNodes[flow.content[i]] = flowHash;
|
| - for (var i = 0; i < flow.regions.length; ++i)
|
| - this._regionNodes[flow.regions[i].nodeId] = flowHash;
|
| -
|
| - flowContainer.flowTreeItem.setOverset(flow.overset);
|
| -
|
| - if (flowContainer.flowView)
|
| - flowContainer.flowView.flow = flow;
|
| - },
|
| -
|
| - /**
|
| - * @param {?WebInspector.NamedFlowCollection} namedFlowCollection
|
| - */
|
| - _resetNamedFlows: function(namedFlowCollection)
|
| - {
|
| - for (var flowHash in this._namedFlows)
|
| - this._removeNamedFlow(flowHash);
|
| -
|
| - var namedFlows = namedFlowCollection ? namedFlowCollection.namedFlowMap : {};
|
| - for (var flowName in namedFlows)
|
| - this._appendNamedFlow(namedFlows[flowName]);
|
| -
|
| - if (!this._flowTree.children.length)
|
| - this._setSidebarHasContent(false);
|
| - else
|
| - this._showNamedFlowForNode(WebInspector.panel("elements").treeOutline.selectedDOMNode());
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _namedFlowCreated: function(event)
|
| - {
|
| - // FIXME: We only have support for Named Flows in the main document.
|
| - if (event.data.documentNodeId !== this._document.id)
|
| - return;
|
| -
|
| - var flow = /** @type {!WebInspector.NamedFlow} */ (event.data);
|
| - this._appendNamedFlow(flow);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _namedFlowRemoved: function(event)
|
| - {
|
| - // FIXME: We only have support for Named Flows in the main document.
|
| - if (event.data.documentNodeId !== this._document.id)
|
| - return;
|
| -
|
| - this._removeNamedFlow(this._hashNamedFlow(event.data.documentNodeId, event.data.flowName));
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _regionLayoutUpdated: function(event)
|
| - {
|
| - // FIXME: We only have support for Named Flows in the main document.
|
| - if (event.data.documentNodeId !== this._document.id)
|
| - return;
|
| -
|
| - var flow = /** @type {!WebInspector.NamedFlow} */ (event.data);
|
| - this._updateNamedFlow(flow);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _regionOversetChanged: function(event)
|
| - {
|
| - // FIXME: We only have support for Named Flows in the main document.
|
| - if (event.data.documentNodeId !== this._document.id)
|
| - return;
|
| -
|
| - var flow = /** @type {!WebInspector.NamedFlow} */ (event.data);
|
| - this._updateNamedFlow(flow);
|
| - },
|
| -
|
| - /**
|
| - * @param {!DOMAgent.NodeId} documentNodeId
|
| - * @param {string} flowName
|
| - */
|
| - _hashNamedFlow: function(documentNodeId, flowName)
|
| - {
|
| - return documentNodeId + "|" + flowName;
|
| - },
|
| -
|
| - /**
|
| - * @param {string} flowHash
|
| - */
|
| - _showNamedFlow: function(flowHash)
|
| - {
|
| - this._selectNamedFlowInSidebar(flowHash);
|
| - this._selectNamedFlowTab(flowHash);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} flowHash
|
| - */
|
| - _selectNamedFlowInSidebar: function(flowHash)
|
| - {
|
| - this._namedFlows[flowHash].flowTreeItem.select(true);
|
| - },
|
| -
|
| - /**
|
| - * @param {string} flowHash
|
| - * @return {boolean}
|
| - */
|
| - _selectNamedFlowTab: function(flowHash)
|
| - {
|
| - var flowContainer = this._namedFlows[flowHash];
|
| -
|
| - if (this._tabbedPane.selectedTabId === flowHash)
|
| - return false;
|
| -
|
| - if (!this._tabbedPane.selectTab(flowHash)) {
|
| - if (!flowContainer.flowView)
|
| - flowContainer.flowView = new WebInspector.CSSNamedFlowView(flowContainer.flow);
|
| -
|
| - this._tabbedPane.appendTab(flowHash, flowContainer.flow.name, flowContainer.flowView);
|
| - this._tabbedPane.selectTab(flowHash);
|
| - }
|
| - return false;
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _selectedNodeChanged: function(event)
|
| - {
|
| - var node = /** @type {!WebInspector.DOMNode} */ (event.data);
|
| - this._showNamedFlowForNode(node);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _tabSelected: function(event)
|
| - {
|
| - this._selectNamedFlowInSidebar(event.data.tabId);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _tabClosed: function(event)
|
| - {
|
| - this._namedFlows[event.data.tabId].flowTreeItem.deselect();
|
| - },
|
| -
|
| - /**
|
| - * @param {?WebInspector.DOMNode} node
|
| - */
|
| - _showNamedFlowForNode: function(node)
|
| - {
|
| - if (!node)
|
| - return;
|
| -
|
| - if (this._regionNodes[node.id]) {
|
| - this._showNamedFlow(this._regionNodes[node.id]);
|
| - return;
|
| - }
|
| -
|
| - while (node) {
|
| - if (this._contentNodes[node.id]) {
|
| - this._showNamedFlow(this._contentNodes[node.id]);
|
| - return;
|
| - }
|
| -
|
| - node = node.parentNode;
|
| - }
|
| - },
|
| -
|
| - wasShown: function()
|
| - {
|
| - WebInspector.SidebarView.prototype.wasShown.call(this);
|
| -
|
| - WebInspector.domAgent.requestDocument(this._setDocument.bind(this));
|
| -
|
| - WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.DocumentUpdated, this._documentUpdated, this);
|
| -
|
| - WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.NamedFlowCreated, this._namedFlowCreated, this);
|
| - WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.NamedFlowRemoved, this._namedFlowRemoved, this);
|
| - WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.RegionLayoutUpdated, this._regionLayoutUpdated, this);
|
| - WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.RegionOversetChanged, this._regionOversetChanged, this);
|
| -
|
| - WebInspector.panel("elements").treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged, this._selectedNodeChanged, this);
|
| -
|
| - this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabSelected, this._tabSelected, this);
|
| - this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabClosed, this._tabClosed, this);
|
| - },
|
| -
|
| - willHide: function()
|
| - {
|
| - WebInspector.domAgent.removeEventListener(WebInspector.DOMAgent.Events.DocumentUpdated, this._documentUpdated, this);
|
| -
|
| - WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.NamedFlowCreated, this._namedFlowCreated, this);
|
| - WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.NamedFlowRemoved, this._namedFlowRemoved, this);
|
| - WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.RegionLayoutUpdated, this._regionLayoutUpdated, this);
|
| - WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.RegionOversetChanged, this._regionOversetChanged, this);
|
| -
|
| - WebInspector.panel("elements").treeOutline.removeEventListener(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged, this._selectedNodeChanged, this);
|
| -
|
| - this._tabbedPane.removeEventListener(WebInspector.TabbedPane.EventTypes.TabSelected, this._tabSelected, this);
|
| - this._tabbedPane.removeEventListener(WebInspector.TabbedPane.EventTypes.TabClosed, this._tabClosed, this);
|
| - },
|
| -
|
| - __proto__: WebInspector.SidebarView.prototype
|
| -}
|
| -
|
| -/**
|
| - * @constructor
|
| - * @extends {TreeElement}
|
| - */
|
| -WebInspector.FlowTreeElement = function(flowContainer)
|
| -{
|
| - var container = document.createElement("div");
|
| - container.createChild("div", "selection");
|
| - container.createChild("span", "title").createChild("span").textContent = flowContainer.flow.name;
|
| -
|
| - TreeElement.call(this, container, flowContainer, false);
|
| -
|
| - this._overset = false;
|
| - this.setOverset(flowContainer.flow.overset);
|
| -}
|
| -
|
| -WebInspector.FlowTreeElement.prototype = {
|
| - /**
|
| - * @param {boolean} newOverset
|
| - */
|
| - setOverset: function(newOverset)
|
| - {
|
| - if (this._overset === newOverset)
|
| - return;
|
| -
|
| - if (newOverset) {
|
| - this.title.classList.add("named-flow-overflow");
|
| - this.tooltip = WebInspector.UIString("Overflows.");
|
| - } else {
|
| - this.title.classList.remove("named-flow-overflow");
|
| - this.tooltip = "";
|
| - }
|
| -
|
| - this._overset = newOverset;
|
| - },
|
| -
|
| - __proto__: TreeElement.prototype
|
| -}
|
|
|