diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebInspectorUI/UserInterface/CSSStyleDetailsSidebarPanel.js | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/CSSStyleDetailsSidebarPanel.js')
-rw-r--r-- | Source/WebInspectorUI/UserInterface/CSSStyleDetailsSidebarPanel.js | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/Source/WebInspectorUI/UserInterface/CSSStyleDetailsSidebarPanel.js b/Source/WebInspectorUI/UserInterface/CSSStyleDetailsSidebarPanel.js deleted file mode 100644 index f5ebeb4ab..000000000 --- a/Source/WebInspectorUI/UserInterface/CSSStyleDetailsSidebarPanel.js +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Copyright (C) 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. - */ - -WebInspector.CSSStyleDetailsSidebarPanel = function() -{ - WebInspector.DOMDetailsSidebarPanel.call(this, "css-style", WebInspector.UIString("Styles"), WebInspector.UIString("Style"), "Images/NavigationItemBrushAndRuler.svg", "4"); - - this._selectedPanel = null; - - this._navigationBar = new WebInspector.NavigationBar(null, null, "tablist"); - this._navigationBar.addEventListener(WebInspector.NavigationBar.Event.NavigationItemSelected, this._navigationItemSelected, this); - this.element.appendChild(this._navigationBar.element); - - this._contentElement = document.createElement("div"); - this._contentElement.className = WebInspector.CSSStyleDetailsSidebarPanel.ContentStyleClassName; - - this._forcedPseudoClassCheckboxes = {}; - - if (WebInspector.cssStyleManager.canForcePseudoClasses()) { - this._forcedPseudoClassContainer = document.createElement("div"); - this._forcedPseudoClassContainer.className = WebInspector.CSSStyleDetailsSidebarPanel.PseudoClassesElementStyleClassName; - - var groupElement = null; - - WebInspector.CSSStyleManager.ForceablePseudoClasses.forEach(function(pseudoClass) { - // We don't localize the label since it is a CSS pseudo-class from the CSS standard. - var label = pseudoClass.capitalize(); - - var labelElement = document.createElement("label"); - - var checkboxElement = document.createElement("input"); - checkboxElement.addEventListener("change", this._forcedPseudoClassCheckboxChanged.bind(this, pseudoClass)); - checkboxElement.type = "checkbox"; - - this._forcedPseudoClassCheckboxes[pseudoClass] = checkboxElement; - - labelElement.appendChild(checkboxElement); - labelElement.appendChild(document.createTextNode(label)); - - if (!groupElement || groupElement.children.length === 2) { - groupElement = document.createElement("div"); - groupElement.className = WebInspector.CSSStyleDetailsSidebarPanel.PseudoClassesGroupElementStyleClassName; - this._forcedPseudoClassContainer.appendChild(groupElement); - } - - groupElement.appendChild(labelElement); - }.bind(this)); - - this._contentElement.appendChild(this._forcedPseudoClassContainer); - } - - this.element.appendChild(this._contentElement); - - this._computedStyleDetailsPanel = new WebInspector.ComputedStyleDetailsPanel; - this._rulesStyleDetailsPanel = new WebInspector.RulesStyleDetailsPanel; - this._metricsStyleDetailsPanel = new WebInspector.MetricsStyleDetailsPanel; - - this._panels = [this._computedStyleDetailsPanel, this._rulesStyleDetailsPanel, this._metricsStyleDetailsPanel]; - - this._navigationBar.addNavigationItem(this._computedStyleDetailsPanel.navigationItem); - this._navigationBar.addNavigationItem(this._rulesStyleDetailsPanel.navigationItem); - this._navigationBar.addNavigationItem(this._metricsStyleDetailsPanel.navigationItem); - - this._lastSelectedSectionSetting = new WebInspector.Setting("last-selected-style-details-panel", this._rulesStyleDetailsPanel.navigationItem.identifier); - - // This will cause the selected panel to be set in _navigationItemSelected. - this._navigationBar.selectedNavigationItem = this._lastSelectedSectionSetting.value; -}; - -WebInspector.CSSStyleDetailsSidebarPanel.ContentStyleClassName = "content"; -WebInspector.CSSStyleDetailsSidebarPanel.PseudoClassesElementStyleClassName = "pseudo-classes"; -WebInspector.CSSStyleDetailsSidebarPanel.PseudoClassesGroupElementStyleClassName = "group"; -WebInspector.CSSStyleDetailsSidebarPanel.NoForcedPseudoClassesScrollOffset = 38; // Default height of the forced pseudo classes container. Updated in widthDidChange. - -WebInspector.CSSStyleDetailsSidebarPanel.prototype = { - constructor: WebInspector.CSSStyleDetailsSidebarPanel, - - // Public - - supportsDOMNode: function(nodeToInspect) - { - return nodeToInspect.nodeType() === Node.ELEMENT_NODE; - }, - - refresh: function() - { - var domNode = this.domNode; - if (!domNode) - return; - - this._contentElement.scrollTop = this._initialScrollOffset; - - for (var i = 0; i < this._panels.length; ++i) { - delete this._panels[i].element._savedScrollTop; - this._panels[i].markAsNeedsRefresh(domNode); - } - - this._updatePseudoClassCheckboxes(); - }, - - visibilityDidChange: function() - { - WebInspector.SidebarPanel.prototype.visibilityDidChange.call(this); - - if (!this._selectedPanel) - return; - - if (!this.visible) { - this._selectedPanel.hidden(); - return; - } - - this._navigationBar.updateLayout(); - - this._updateNoForcedPseudoClassesScrollOffset(); - - this._selectedPanel.shown(); - this._selectedPanel.markAsNeedsRefresh(this.domNode); - }, - - widthDidChange: function() - { - this._updateNoForcedPseudoClassesScrollOffset(); - - if (this._selectedPanel) - this._selectedPanel.widthDidChange(); - }, - - // Protected - - addEventListeners: function() - { - this.domNode.addEventListener(WebInspector.DOMNode.Event.EnabledPseudoClassesChanged, this._updatePseudoClassCheckboxes, this); - }, - - removeEventListeners: function() - { - this.domNode.removeEventListener(null, null, this); - }, - - // Private - - get _initialScrollOffset() - { - if (!WebInspector.cssStyleManager.canForcePseudoClasses()) - return 0; - return this.domNode && this.domNode.enabledPseudoClasses.length ? 0 : WebInspector.CSSStyleDetailsSidebarPanel.NoForcedPseudoClassesScrollOffset; - }, - - _updateNoForcedPseudoClassesScrollOffset: function() - { - if (this._forcedPseudoClassContainer) - WebInspector.CSSStyleDetailsSidebarPanel.NoForcedPseudoClassesScrollOffset = this._forcedPseudoClassContainer.offsetHeight; - }, - - _navigationItemSelected: function(event) - { - console.assert(event.target.selectedNavigationItem); - if (!event.target.selectedNavigationItem) - return; - - var selectedNavigationItem = event.target.selectedNavigationItem; - - var selectedPanel = null; - for (var i = 0; i < this._panels.length; ++i) { - if (this._panels[i].navigationItem !== selectedNavigationItem) - continue; - selectedPanel = this._panels[i]; - break; - } - - console.assert(selectedPanel); - - if (this._selectedPanel) { - this._selectedPanel.hidden(); - this._selectedPanel.element._savedScrollTop = this._contentElement.scrollTop; - this._selectedPanel.element.remove(); - } - - this._selectedPanel = selectedPanel; - - if (this._selectedPanel) { - this._contentElement.appendChild(this._selectedPanel.element); - - if (typeof this._selectedPanel.element._savedScrollTop === "number") - this._contentElement.scrollTop = this._selectedPanel.element._savedScrollTop; - else - this._contentElement.scrollTop = this._initialScrollOffset; - - this._selectedPanel.shown(); - } - - this._lastSelectedSectionSetting.value = selectedNavigationItem.identifier; - }, - - _forcedPseudoClassCheckboxChanged: function(pseudoClass, event) - { - if (!this.domNode) - return; - - this.domNode.setPseudoClassEnabled(pseudoClass, event.target.checked); - }, - - _updatePseudoClassCheckboxes: function() - { - if (!this.domNode) - return; - - var enabledPseudoClasses = this.domNode.enabledPseudoClasses; - - for (var pseudoClass in this._forcedPseudoClassCheckboxes) { - var checkboxElement = this._forcedPseudoClassCheckboxes[pseudoClass]; - checkboxElement.checked = enabledPseudoClasses.contains(pseudoClass); - } - } -}; - -WebInspector.CSSStyleDetailsSidebarPanel.prototype.__proto__ = WebInspector.DOMDetailsSidebarPanel.prototype; |