diff options
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/CSSStyleDeclarationSection.js')
-rw-r--r-- | Source/WebInspectorUI/UserInterface/CSSStyleDeclarationSection.js | 261 |
1 files changed, 0 insertions, 261 deletions
diff --git a/Source/WebInspectorUI/UserInterface/CSSStyleDeclarationSection.js b/Source/WebInspectorUI/UserInterface/CSSStyleDeclarationSection.js deleted file mode 100644 index af0d9c505..000000000 --- a/Source/WebInspectorUI/UserInterface/CSSStyleDeclarationSection.js +++ /dev/null @@ -1,261 +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.CSSStyleDeclarationSection = function(style) -{ - WebInspector.Object.call(this); - - console.assert(style); - this._style = style || null; - - this._element = document.createElement("div"); - this._element.className = WebInspector.CSSStyleDeclarationSection.StyleClassName; - - this._headerElement = document.createElement("div"); - this._headerElement.className = WebInspector.CSSStyleDeclarationSection.HeaderElementStyleClassName; - - this._iconElement = document.createElement("img"); - this._iconElement.className = WebInspector.CSSStyleDeclarationSection.IconElementStyleClassName; - this._headerElement.appendChild(this._iconElement); - - this._selectorElement = document.createElement("span"); - this._selectorElement.className = WebInspector.CSSStyleDeclarationSection.SelectorElementStyleClassName; - this._selectorElement.setAttribute("spellcheck", "false"); - this._headerElement.appendChild(this._selectorElement); - - this._originElement = document.createElement("span"); - this._originElement.className = WebInspector.CSSStyleDeclarationSection.OriginElementStyleClassName; - this._headerElement.appendChild(this._originElement); - - this._propertiesElement = document.createElement("div"); - this._propertiesElement.className = WebInspector.CSSStyleDeclarationSection.PropertiesElementStyleClassName; - - this._propertiesTextEditor = new WebInspector.CSSStyleDeclarationTextEditor(this, style); - this._propertiesElement.appendChild(this._propertiesTextEditor.element); - - this._element.appendChild(this._headerElement); - this._element.appendChild(this._propertiesElement); - - var iconClassName; - switch (style.type) { - case WebInspector.CSSStyleDeclaration.Type.Rule: - console.assert(style.ownerRule); - - if (style.inherited) - iconClassName = WebInspector.CSSStyleDeclarationSection.InheritedStyleRuleIconStyleClassName; - else if (style.ownerRule.type === WebInspector.CSSRule.Type.Author) - iconClassName = WebInspector.CSSStyleDeclarationSection.AuthorStyleRuleIconStyleClassName; - else if (style.ownerRule.type === WebInspector.CSSRule.Type.User) - iconClassName = WebInspector.CSSStyleDeclarationSection.UserStyleRuleIconStyleClassName; - else if (style.ownerRule.type === WebInspector.CSSRule.Type.UserAgent) - iconClassName = WebInspector.CSSStyleDeclarationSection.UserAgentStyleRuleIconStyleClassName; - else if (style.ownerRule.type === WebInspector.CSSRule.Type.Inspector) - iconClassName = WebInspector.CSSStyleDeclarationSection.InspectorStyleRuleIconStyleClassName; - break; - - case WebInspector.CSSStyleDeclaration.Type.Inline: - case WebInspector.CSSStyleDeclaration.Type.Attribute: - if (style.inherited) - iconClassName = WebInspector.CSSStyleDeclarationSection.InheritedElementStyleRuleIconStyleClassName; - else - iconClassName = WebInspector.DOMTreeElementPathComponent.DOMElementIconStyleClassName; - break; - } - - console.assert(iconClassName); - this._element.classList.add(iconClassName); - - if (!style.editable) - this._element.classList.add(WebInspector.CSSStyleDeclarationSection.LockedStyleClassName); - else if (style.ownerRule) { - this._commitSelectorKeyboardShortcut = new WebInspector.KeyboardShortcut(null, WebInspector.KeyboardShortcut.Key.Enter, this._commitSelector.bind(this), this._selectorElement); - this._selectorElement.addEventListener("blur", this._commitSelector.bind(this)); - } else - this._element.classList.add(WebInspector.CSSStyleDeclarationSection.SelectorLockedStyleClassName); - - if (!WebInspector.CSSStyleDeclarationSection._generatedLockImages) { - WebInspector.CSSStyleDeclarationSection._generatedLockImages = true; - - var specifications = {"style-lock-normal": {fillColor: [0, 0, 0, 0.5]}}; - generateColoredImagesForCSS("Images/Locked.svg", specifications, 8, 10); - } - - this.refresh(); -}; - -WebInspector.CSSStyleDeclarationSection.StyleClassName = "style-declaration-section"; -WebInspector.CSSStyleDeclarationSection.LockedStyleClassName = "locked"; -WebInspector.CSSStyleDeclarationSection.SelectorLockedStyleClassName = "selector-locked"; -WebInspector.CSSStyleDeclarationSection.LastInGroupStyleClassName = "last-in-group"; -WebInspector.CSSStyleDeclarationSection.HeaderElementStyleClassName = "header"; -WebInspector.CSSStyleDeclarationSection.IconElementStyleClassName = "icon"; -WebInspector.CSSStyleDeclarationSection.SelectorElementStyleClassName = "selector"; -WebInspector.CSSStyleDeclarationSection.OriginElementStyleClassName = "origin"; -WebInspector.CSSStyleDeclarationSection.PropertiesElementStyleClassName = "properties"; -WebInspector.CSSStyleDeclarationSection.MatchedSelectorElementStyleClassName = "matched"; - -WebInspector.CSSStyleDeclarationSection.AuthorStyleRuleIconStyleClassName = "author-style-rule-icon"; -WebInspector.CSSStyleDeclarationSection.UserStyleRuleIconStyleClassName = "user-style-rule-icon"; -WebInspector.CSSStyleDeclarationSection.UserAgentStyleRuleIconStyleClassName = "user-agent-style-rule-icon"; -WebInspector.CSSStyleDeclarationSection.InspectorStyleRuleIconStyleClassName = "inspector-style-rule-icon"; -WebInspector.CSSStyleDeclarationSection.InheritedStyleRuleIconStyleClassName = "inherited-style-rule-icon"; -WebInspector.CSSStyleDeclarationSection.InheritedElementStyleRuleIconStyleClassName = "inherited-element-style-rule-icon"; - -WebInspector.CSSStyleDeclarationSection.prototype = { - constructor: WebInspector.CSSStyleDeclarationSection, - - // Public - - get element() - { - return this._element; - }, - - get style() - { - return this._style; - }, - - get lastInGroup() - { - return this._element.classList.contains(WebInspector.CSSStyleDeclarationSection.LastInGroupStyleClassName); - }, - - set lastInGroup(last) - { - if (last) - this._element.classList.add(WebInspector.CSSStyleDeclarationSection.LastInGroupStyleClassName); - else - this._element.classList.remove(WebInspector.CSSStyleDeclarationSection.LastInGroupStyleClassName); - }, - - get focused() - { - return this._propertiesTextEditor.focused; - }, - - focus: function() - { - this._propertiesTextEditor.focus(); - }, - - refresh: function() - { - this._selectorElement.removeChildren(); - this._originElement.removeChildren(); - - this._originElement.appendChild(document.createTextNode(" \u2014 ")); - - function appendSelector(selectorText, matched) - { - var selectorElement = document.createElement("span"); - if (matched) - selectorElement.className = WebInspector.CSSStyleDeclarationSection.MatchedSelectorElementStyleClassName; - selectorElement.textContent = selectorText; - this._selectorElement.appendChild(selectorElement); - } - - switch (this._style.type) { - case WebInspector.CSSStyleDeclaration.Type.Rule: - console.assert(this._style.ownerRule); - - var selectors = this._style.ownerRule.selectors; - var matchedSelectorIndices = this._style.ownerRule.matchedSelectorIndices; - if (selectors.length && matchedSelectorIndices.length) { - for (var i = 0; i < selectors.length; ++i) { - appendSelector.call(this, selectors[i], matchedSelectorIndices.contains(i)); - if (i < selectors.length - 1) - this._selectorElement.appendChild(document.createTextNode(", ")); - } - } else - appendSelector.call(this, this._style.ownerRule.selectorText, true); - - if (this._style.ownerRule.sourceCodeLocation) { - var sourceCodeLink = WebInspector.createSourceCodeLocationLink(this._style.ownerRule.sourceCodeLocation, true); - this._originElement.appendChild(sourceCodeLink); - } else { - var originString; - switch (this._style.ownerRule.type) { - case WebInspector.CSSRule.Type.Author: - originString = WebInspector.UIString("Author Stylesheet"); - break; - - case WebInspector.CSSRule.Type.User: - originString = WebInspector.UIString("User Stylesheet"); - break; - - case WebInspector.CSSRule.Type.UserAgent: - originString = WebInspector.UIString("User Agent Stylesheet"); - break; - - case WebInspector.CSSRule.Type.Inspector: - originString = WebInspector.UIString("Web Inspector"); - break; - } - - console.assert(originString); - if (originString) - this._originElement.appendChild(document.createTextNode(originString)); - } - - break; - - case WebInspector.CSSStyleDeclaration.Type.Inline: - appendSelector.call(this, WebInspector.displayNameForNode(this._style.node), true); - this._originElement.appendChild(document.createTextNode(WebInspector.UIString("Style Attribute"))); - break; - - case WebInspector.CSSStyleDeclaration.Type.Attribute: - appendSelector.call(this, WebInspector.displayNameForNode(this._style.node), true); - this._originElement.appendChild(document.createTextNode(WebInspector.UIString("HTML Attributes"))); - break; - } - }, - - updateLayout: function() - { - this._propertiesTextEditor.updateLayout(); - }, - - // Private - - _commitSelector: function(mutations) - { - console.assert(this._style.ownerRule); - if (!this._style.ownerRule) - return; - - var newSelectorText = this._selectorElement.textContent.trim(); - if (!newSelectorText) { - // Revert to the current selector (by doing a refresh) since the new selector is empty. - this.refresh(); - return; - } - - this._style.ownerRule.selectorText = newSelectorText; - } -}; - -WebInspector.CSSStyleDeclarationSection.prototype.__proto__ = WebInspector.StyleDetailsPanel.prototype; |