You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pm...@apache.org on 2013/05/22 19:31:56 UTC
[2/9] adds support for all browsers
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor-override/webkit/WebCore/inspector/front-end/utilities.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor-override/webkit/WebCore/inspector/front-end/utilities.js b/weinre.build/vendor-override/webkit/WebCore/inspector/front-end/utilities.js
new file mode 100644
index 0000000..f64ed53
--- /dev/null
+++ b/weinre.build/vendor-override/webkit/WebCore/inspector/front-end/utilities.js
@@ -0,0 +1,1087 @@
+/*
+ * Copyright (C) 2007 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.
+ * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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 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.
+ *
+ * Contains diff method based on Javascript Diff Algorithm By John Resig
+ * http://ejohn.org/files/jsdiff.js (released under the MIT license).
+ */
+
+Function.prototype.bind = function(thisObject)
+{
+ var func = this;
+ var args = Array.prototype.slice.call(arguments, 1);
+ function bound()
+ {
+ return func.apply(thisObject, args.concat(Array.prototype.slice.call(arguments, 0)));
+ }
+ bound.toString = function() {
+ return "bound: " + func;
+ };
+ return bound;
+}
+
+Node.prototype.rangeOfWord = function(offset, stopCharacters, stayWithinNode, direction)
+{
+ var startNode;
+ var startOffset = 0;
+ var endNode;
+ var endOffset = 0;
+
+ if (!stayWithinNode)
+ stayWithinNode = this;
+
+ if (!direction || direction === "backward" || direction === "both") {
+ var node = this;
+ while (node) {
+ if (node === stayWithinNode) {
+ if (!startNode)
+ startNode = stayWithinNode;
+ break;
+ }
+
+ if (node.nodeType === Node.TEXT_NODE) {
+ var start = (node === this ? (offset - 1) : (node.nodeValue.length - 1));
+ for (var i = start; i >= 0; --i) {
+ if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {
+ startNode = node;
+ startOffset = i + 1;
+ break;
+ }
+ }
+ }
+
+ if (startNode)
+ break;
+
+ node = node.traversePreviousNode(stayWithinNode);
+ }
+
+ if (!startNode) {
+ startNode = stayWithinNode;
+ startOffset = 0;
+ }
+ } else {
+ startNode = this;
+ startOffset = offset;
+ }
+
+ if (!direction || direction === "forward" || direction === "both") {
+ node = this;
+ while (node) {
+ if (node === stayWithinNode) {
+ if (!endNode)
+ endNode = stayWithinNode;
+ break;
+ }
+
+ if (node.nodeType === Node.TEXT_NODE) {
+ var start = (node === this ? offset : 0);
+ for (var i = start; i < node.nodeValue.length; ++i) {
+ if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {
+ endNode = node;
+ endOffset = i;
+ break;
+ }
+ }
+ }
+
+ if (endNode)
+ break;
+
+ node = node.traverseNextNode(stayWithinNode);
+ }
+
+ if (!endNode) {
+ endNode = stayWithinNode;
+ endOffset = stayWithinNode.nodeType === Node.TEXT_NODE ? stayWithinNode.nodeValue.length : stayWithinNode.childNodes.length;
+ }
+ } else {
+ endNode = this;
+ endOffset = offset;
+ }
+
+ var result = this.ownerDocument.createRange();
+ result.setStart(startNode, startOffset);
+ result.setEnd(endNode, endOffset);
+
+ return result;
+}
+
+Node.prototype.traverseNextTextNode = function(stayWithin)
+{
+ var node = this.traverseNextNode(stayWithin);
+ if (!node)
+ return;
+
+ while (node && node.nodeType !== Node.TEXT_NODE)
+ node = node.traverseNextNode(stayWithin);
+
+ return node;
+}
+
+Node.prototype.rangeBoundaryForOffset = function(offset)
+{
+ var node = this.traverseNextTextNode(this);
+ while (node && offset > node.nodeValue.length) {
+ offset -= node.nodeValue.length;
+ node = node.traverseNextTextNode(this);
+ }
+ if (!node)
+ return { container: this, offset: 0 };
+ return { container: node, offset: offset };
+}
+
+Element.prototype.removeStyleClass = function(className)
+{
+ // Test for the simple case first.
+ if (this.className === className) {
+ this.className = "";
+ return;
+ }
+
+ var index = this.className.indexOf(className);
+ if (index === -1)
+ return;
+
+ this.className = this.className.split(" ").filter(function(s) {
+ return s && s !== className;
+ }).join(" ");
+}
+
+Element.prototype.removeMatchingStyleClasses = function(classNameRegex)
+{
+ var regex = new RegExp("(^|\\s+)" + classNameRegex + "($|\\s+)");
+ if (regex.test(this.className))
+ this.className = this.className.replace(regex, " ");
+}
+
+Element.prototype.addStyleClass = function(className)
+{
+ if (className && !this.hasStyleClass(className))
+ this.className += (this.className.length ? " " + className : className);
+}
+
+Element.prototype.hasStyleClass = function(className)
+{
+ if (!className)
+ return false;
+ // Test for the simple case
+ if (this.className === className)
+ return true;
+
+ var index = this.className.indexOf(className);
+ if (index === -1)
+ return false;
+ var toTest = " " + this.className + " ";
+ return toTest.indexOf(" " + className + " ", index) !== -1;
+}
+
+Element.prototype.positionAt = function(x, y)
+{
+ this.style.left = x + "px";
+ this.style.top = y + "px";
+}
+
+Element.prototype.pruneEmptyTextNodes = function()
+{
+ var sibling = this.firstChild;
+ while (sibling) {
+ var nextSibling = sibling.nextSibling;
+ if (sibling.nodeType === this.TEXT_NODE && sibling.nodeValue === "")
+ this.removeChild(sibling);
+ sibling = nextSibling;
+ }
+}
+
+Element.prototype.isScrolledToBottom = function()
+{
+ // This code works only for 0-width border
+ return this.scrollTop + this.clientHeight === this.scrollHeight;
+}
+
+Node.prototype.enclosingNodeOrSelfWithNodeNameInArray = function(nameArray)
+{
+ for (var node = this; node && node !== this.ownerDocument; node = node.parentNode)
+ for (var i = 0; i < nameArray.length; ++i)
+ if (node.nodeName.toLowerCase() === nameArray[i].toLowerCase())
+ return node;
+ return null;
+}
+
+Node.prototype.enclosingNodeOrSelfWithNodeName = function(nodeName)
+{
+ return this.enclosingNodeOrSelfWithNodeNameInArray([nodeName]);
+}
+
+Node.prototype.enclosingNodeOrSelfWithClass = function(className)
+{
+ for (var node = this; node && node !== this.ownerDocument; node = node.parentNode)
+ if (node.nodeType === Node.ELEMENT_NODE && node.hasStyleClass(className))
+ return node;
+ return null;
+}
+
+Node.prototype.enclosingNodeWithClass = function(className)
+{
+ if (!this.parentNode)
+ return null;
+ return this.parentNode.enclosingNodeOrSelfWithClass(className);
+}
+
+Element.prototype.query = function(query)
+{
+ return this.ownerDocument.evaluate(query, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+}
+
+Element.prototype.removeChildren = function()
+{
+ if (this.firstChild)
+ this.textContent = "";
+}
+
+Element.prototype.isInsertionCaretInside = function()
+{
+ var selection = window.getSelection();
+ if (!selection.rangeCount || !selection.isCollapsed)
+ return false;
+ var selectionRange = selection.getRangeAt(0);
+ return selectionRange.startContainer === this || selectionRange.startContainer.isDescendant(this);
+}
+
+Element.prototype.createChild = function(elementName, className)
+{
+ var element = document.createElement(elementName);
+ if (className)
+ element.className = className;
+ this.appendChild(element);
+ return element;
+}
+
+Object.defineProperty(Element.prototype, "totalOffsetLeft", {get: function()
+{
+ var total = 0;
+ for (var element = this; element; element = element.offsetParent)
+ total += element.offsetLeft + (this !== element ? element.clientLeft : 0);
+ return total;
+}});
+
+Object.defineProperty(Element.prototype, "totalOffsetTop", {get: function()
+{
+ var total = 0;
+ for (var element = this; element; element = element.offsetParent)
+ total += element.offsetTop + (this !== element ? element.clientTop : 0);
+ return total;
+}});
+
+Element.prototype.offsetRelativeToWindow = function(targetWindow)
+{
+ var elementOffset = {x: 0, y: 0};
+ var curElement = this;
+ var curWindow = this.ownerDocument.defaultView;
+ while (curWindow && curElement) {
+ elementOffset.x += curElement.totalOffsetLeft;
+ elementOffset.y += curElement.totalOffsetTop;
+ if (curWindow === targetWindow)
+ break;
+
+ curElement = curWindow.frameElement;
+ curWindow = curWindow.parent;
+ }
+
+ return elementOffset;
+}
+
+Object.defineProperty(KeyboardEvent.prototype, "data", {get: function()
+{
+ // Emulate "data" attribute from DOM 3 TextInput event.
+ // See http://www.w3.org/TR/DOM-Level-3-Events/#events-Events-TextEvent-data
+ switch (this.type) {
+ case "keypress":
+ if (!this.ctrlKey && !this.metaKey)
+ return String.fromCharCode(this.charCode);
+ else
+ return "";
+ case "keydown":
+ case "keyup":
+ if (!this.ctrlKey && !this.metaKey && !this.altKey)
+ return String.fromCharCode(this.which);
+ else
+ return "";
+ }
+}});
+
+Text.prototype.select = function(start, end)
+{
+ start = start || 0;
+ end = end || this.textContent.length;
+
+ if (start < 0)
+ start = end + start;
+
+ var selection = window.getSelection();
+ selection.removeAllRanges();
+ var range = document.createRange();
+ range.setStart(this, start);
+ range.setEnd(this, end);
+ selection.addRange(range);
+ return this;
+}
+
+Object.defineProperty(Element.prototype, "selectionLeftOffset", {get: function() {
+ // Calculate selection offset relative to the current element.
+
+ var selection = window.getSelection();
+ if (!selection.containsNode(this, true))
+ return null;
+
+ var leftOffset = selection.anchorOffset;
+ var node = selection.anchorNode;
+
+ while (node !== this) {
+ while (node.previousSibling) {
+ node = node.previousSibling;
+ leftOffset += node.textContent.length;
+ }
+ node = node.parentNode;
+ }
+
+ return leftOffset;
+}});
+
+Node.prototype.isWhitespace = isNodeWhitespace;
+Node.prototype.displayName = nodeDisplayName;
+Node.prototype.isAncestor = function(node)
+{
+ return isAncestorNode(this, node);
+};
+Node.prototype.isDescendant = isDescendantNode;
+Node.prototype.traverseNextNode = traverseNextNode;
+Node.prototype.traversePreviousNode = traversePreviousNode;
+Node.prototype.onlyTextChild = onlyTextChild;
+
+String.prototype.hasSubstring = function(string, caseInsensitive)
+{
+ if (!caseInsensitive)
+ return this.indexOf(string) !== -1;
+ return this.match(new RegExp(string.escapeForRegExp(), "i"));
+}
+
+String.prototype.findAll = function(string)
+{
+ var matches = [];
+ var i = this.indexOf(string);
+ while (i !== -1) {
+ matches.push(i);
+ i = this.indexOf(string, i + string.length);
+ }
+ return matches;
+}
+
+String.prototype.lineEndings = function()
+{
+ if (!this._lineEndings) {
+ this._lineEndings = this.findAll("\n");
+ this._lineEndings.push(this.length);
+ }
+ return this._lineEndings;
+}
+
+String.prototype.asParsedURL = function()
+{
+ // RegExp groups:
+ // 1 - scheme
+ // 2 - hostname
+ // 3 - ?port
+ // 4 - ?path
+ // 5 - ?fragment
+ var match = this.match(/^([^:]+):\/\/([^\/:]*)(?::([\d]+))?(?:(\/[^#]*)(?:#(.*))?)?$/i);
+ if (!match)
+ return null;
+ var result = {};
+ result.scheme = match[1].toLowerCase();
+ result.host = match[2];
+ result.port = match[3];
+ result.path = match[4] || "/";
+ result.fragment = match[5];
+ return result;
+}
+
+String.prototype.escapeCharacters = function(chars)
+{
+ var foundChar = false;
+ for (var i = 0; i < chars.length; ++i) {
+ if (this.indexOf(chars.charAt(i)) !== -1) {
+ foundChar = true;
+ break;
+ }
+ }
+
+ if (!foundChar)
+ return this;
+
+ var result = "";
+ for (var i = 0; i < this.length; ++i) {
+ if (chars.indexOf(this.charAt(i)) !== -1)
+ result += "\\";
+ result += this.charAt(i);
+ }
+
+ return result;
+}
+
+String.prototype.escapeForRegExp = function()
+{
+ return this.escapeCharacters("^[]{}()\\.$*+?|");
+}
+
+String.prototype.escapeHTML = function()
+{
+ return this.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
+}
+
+String.prototype.collapseWhitespace = function()
+{
+ return this.replace(/[\s\xA0]+/g, " ");
+}
+
+String.prototype.trimURL = function(baseURLDomain)
+{
+ var result = this.replace(/^(https|http|file):\/\//i, "");
+ if (baseURLDomain)
+ result = result.replace(new RegExp("^" + baseURLDomain.escapeForRegExp(), "i"), "");
+ return result;
+}
+
+function isNodeWhitespace()
+{
+ if (!this || this.nodeType !== Node.TEXT_NODE)
+ return false;
+ if (!this.nodeValue.length)
+ return true;
+ return this.nodeValue.match(/^[\s\xA0]+$/);
+}
+
+function nodeDisplayName()
+{
+ if (!this)
+ return "";
+
+ switch (this.nodeType) {
+ case Node.DOCUMENT_NODE:
+ return "Document";
+
+ case Node.ELEMENT_NODE:
+ var name = "<" + this.nodeName.toLowerCase();
+
+ if (this.hasAttributes()) {
+ var value = this.getAttribute("id");
+ if (value)
+ name += " id=\"" + value + "\"";
+ value = this.getAttribute("class");
+ if (value)
+ name += " class=\"" + value + "\"";
+ if (this.nodeName.toLowerCase() === "a") {
+ value = this.getAttribute("name");
+ if (value)
+ name += " name=\"" + value + "\"";
+ value = this.getAttribute("href");
+ if (value)
+ name += " href=\"" + value + "\"";
+ } else if (this.nodeName.toLowerCase() === "img") {
+ value = this.getAttribute("src");
+ if (value)
+ name += " src=\"" + value + "\"";
+ } else if (this.nodeName.toLowerCase() === "iframe") {
+ value = this.getAttribute("src");
+ if (value)
+ name += " src=\"" + value + "\"";
+ } else if (this.nodeName.toLowerCase() === "input") {
+ value = this.getAttribute("name");
+ if (value)
+ name += " name=\"" + value + "\"";
+ value = this.getAttribute("type");
+ if (value)
+ name += " type=\"" + value + "\"";
+ } else if (this.nodeName.toLowerCase() === "form") {
+ value = this.getAttribute("action");
+ if (value)
+ name += " action=\"" + value + "\"";
+ }
+ }
+
+ return name + ">";
+
+ case Node.TEXT_NODE:
+ if (isNodeWhitespace.call(this))
+ return "(whitespace)";
+ return "\"" + this.nodeValue + "\"";
+
+ case Node.COMMENT_NODE:
+ return "<!--" + this.nodeValue + "-->";
+
+ case Node.DOCUMENT_TYPE_NODE:
+ var docType = "<!DOCTYPE " + this.nodeName;
+ if (this.publicId) {
+ docType += " PUBLIC \"" + this.publicId + "\"";
+ if (this.systemId)
+ docType += " \"" + this.systemId + "\"";
+ } else if (this.systemId)
+ docType += " SYSTEM \"" + this.systemId + "\"";
+ if (this.internalSubset)
+ docType += " [" + this.internalSubset + "]";
+ return docType + ">";
+ }
+
+ return this.nodeName.toLowerCase().collapseWhitespace();
+}
+
+function isAncestorNode(ancestor, node)
+{
+ if (!node || !ancestor)
+ return false;
+
+ var currentNode = node.parentNode;
+ while (currentNode) {
+ if (ancestor === currentNode)
+ return true;
+ currentNode = currentNode.parentNode;
+ }
+ return false;
+}
+
+function isDescendantNode(descendant)
+{
+ return isAncestorNode(descendant, this);
+}
+
+function traverseNextNode(stayWithin)
+{
+ if (!this)
+ return;
+
+ var node = this.firstChild;
+ if (node)
+ return node;
+
+ if (stayWithin && this === stayWithin)
+ return null;
+
+ node = this.nextSibling;
+ if (node)
+ return node;
+
+ node = this;
+ while (node && !node.nextSibling && (!stayWithin || !node.parentNode || node.parentNode !== stayWithin))
+ node = node.parentNode;
+ if (!node)
+ return null;
+
+ return node.nextSibling;
+}
+
+function traversePreviousNode(stayWithin)
+{
+ if (!this)
+ return;
+ if (stayWithin && this === stayWithin)
+ return null;
+ var node = this.previousSibling;
+ while (node && node.lastChild)
+ node = node.lastChild;
+ if (node)
+ return node;
+ return this.parentNode;
+}
+
+function onlyTextChild()
+{
+ if (!this)
+ return null;
+
+ var firstChild = this.firstChild;
+ if (!firstChild || firstChild.nodeType !== Node.TEXT_NODE)
+ return null;
+
+ var sibling = firstChild.nextSibling;
+ return sibling ? null : firstChild;
+}
+
+function appropriateSelectorForNode(node, justSelector)
+{
+ if (!node)
+ return "";
+
+ var lowerCaseName = node.localName || node.nodeName.toLowerCase();
+
+ var id = node.getAttribute("id");
+ if (id) {
+ var selector = "#" + id;
+ return (justSelector ? selector : lowerCaseName + selector);
+ }
+
+ var className = node.getAttribute("class");
+ if (className) {
+ var selector = "." + className.replace(/\s+/, ".");
+ return (justSelector ? selector : lowerCaseName + selector);
+ }
+
+ if (lowerCaseName === "input" && node.getAttribute("type"))
+ return lowerCaseName + "[type=\"" + node.getAttribute("type") + "\"]";
+
+ return lowerCaseName;
+}
+
+function getDocumentForNode(node)
+{
+ return node.nodeType == Node.DOCUMENT_NODE ? node : node.ownerDocument;
+}
+
+function parentNode(node)
+{
+ return node.parentNode;
+}
+
+Number.millisToString = function(ms, higherResolution)
+{
+ return Number.secondsToString(ms / 1000, higherResolution);
+}
+
+Number.secondsToString = function(seconds, higherResolution)
+{
+ if (seconds === 0)
+ return "0";
+
+ var ms = seconds * 1000;
+ if (higherResolution && ms < 1000)
+ return WebInspector.UIString("%.3fms", ms);
+ else if (ms < 1000)
+ return WebInspector.UIString("%.0fms", ms);
+
+ if (seconds < 60)
+ return WebInspector.UIString("%.2fs", seconds);
+
+ var minutes = seconds / 60;
+ if (minutes < 60)
+ return WebInspector.UIString("%.1fmin", minutes);
+
+ var hours = minutes / 60;
+ if (hours < 24)
+ return WebInspector.UIString("%.1fhrs", hours);
+
+ var days = hours / 24;
+ return WebInspector.UIString("%.1f days", days);
+}
+
+Number.bytesToString = function(bytes, higherResolution)
+{
+ if (typeof higherResolution === "undefined")
+ higherResolution = true;
+
+ if (bytes < 1024)
+ return WebInspector.UIString("%.0fB", bytes);
+
+ var kilobytes = bytes / 1024;
+ if (higherResolution && kilobytes < 1024)
+ return WebInspector.UIString("%.2fKB", kilobytes);
+ else if (kilobytes < 1024)
+ return WebInspector.UIString("%.0fKB", kilobytes);
+
+ var megabytes = kilobytes / 1024;
+ if (higherResolution)
+ return WebInspector.UIString("%.2fMB", megabytes);
+ else
+ return WebInspector.UIString("%.0fMB", megabytes);
+}
+
+Number.constrain = function(num, min, max)
+{
+ if (num < min)
+ num = min;
+ else if (num > max)
+ num = max;
+ return num;
+}
+
+HTMLTextAreaElement.prototype.moveCursorToEnd = function()
+{
+ var length = this.value.length;
+ this.setSelectionRange(length, length);
+}
+
+Object.defineProperty(Array.prototype, "remove", { value: function(value, onlyFirst)
+{
+ if (onlyFirst) {
+ var index = this.indexOf(value);
+ if (index !== -1)
+ this.splice(index, 1);
+ return;
+ }
+
+ var length = this.length;
+ for (var i = 0; i < length; ++i) {
+ if (this[i] === value)
+ this.splice(i, 1);
+ }
+}});
+
+Object.defineProperty(Array.prototype, "keySet", { value: function()
+{
+ var keys = {};
+ for (var i = 0; i < this.length; ++i)
+ keys[this[i]] = true;
+ return keys;
+}});
+
+Object.defineProperty(Array.prototype, "upperBound", { value: function(value)
+{
+ var first = 0;
+ var count = this.length;
+ while (count > 0) {
+ var step = count >> 1;
+ var middle = first + step;
+ if (value >= this[middle]) {
+ first = middle + 1;
+ count -= step + 1;
+ } else
+ count = step;
+ }
+ return first;
+}});
+
+Array.diff = function(left, right)
+{
+ var o = left;
+ var n = right;
+
+ var ns = {};
+ var os = {};
+
+ for (var i = 0; i < n.length; i++) {
+ if (ns[n[i]] == null)
+ ns[n[i]] = { rows: [], o: null };
+ ns[n[i]].rows.push(i);
+ }
+
+ for (var i = 0; i < o.length; i++) {
+ if (os[o[i]] == null)
+ os[o[i]] = { rows: [], n: null };
+ os[o[i]].rows.push(i);
+ }
+
+ for (var i in ns) {
+ if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) {
+ n[ns[i].rows[0]] = { text: n[ns[i].rows[0]], row: os[i].rows[0] };
+ o[os[i].rows[0]] = { text: o[os[i].rows[0]], row: ns[i].rows[0] };
+ }
+ }
+
+ for (var i = 0; i < n.length - 1; i++) {
+ if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null && n[i + 1] == o[n[i].row + 1]) {
+ n[i + 1] = { text: n[i + 1], row: n[i].row + 1 };
+ o[n[i].row + 1] = { text: o[n[i].row + 1], row: i + 1 };
+ }
+ }
+
+ for (var i = n.length - 1; i > 0; i--) {
+ if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null &&
+ n[i - 1] == o[n[i].row - 1]) {
+ n[i - 1] = { text: n[i - 1], row: n[i].row - 1 };
+ o[n[i].row - 1] = { text: o[n[i].row - 1], row: i - 1 };
+ }
+ }
+
+ return { left: o, right: n };
+}
+
+Array.convert = function(list)
+{
+ // Cast array-like object to an array.
+ return Array.prototype.slice.call(list);
+}
+
+function insertionIndexForObjectInListSortedByFunction(anObject, aList, aFunction)
+{
+ var first = 0;
+ var last = aList.length - 1;
+ var floor = Math.floor;
+ var mid, c;
+
+ while (first <= last) {
+ mid = floor((first + last) / 2);
+ c = aFunction(anObject, aList[mid]);
+
+ if (c > 0)
+ first = mid + 1;
+ else if (c < 0)
+ last = mid - 1;
+ else {
+ // Return the first occurance of an item in the list.
+ while (mid > 0 && aFunction(anObject, aList[mid - 1]) === 0)
+ mid--;
+ first = mid;
+ break;
+ }
+ }
+
+ return first;
+}
+
+String.sprintf = function(format)
+{
+ return String.vsprintf(format, Array.prototype.slice.call(arguments, 1));
+}
+
+String.tokenizeFormatString = function(format)
+{
+ var tokens = [];
+ var substitutionIndex = 0;
+
+ function addStringToken(str)
+ {
+ tokens.push({ type: "string", value: str });
+ }
+
+ function addSpecifierToken(specifier, precision, substitutionIndex)
+ {
+ tokens.push({ type: "specifier", specifier: specifier, precision: precision, substitutionIndex: substitutionIndex });
+ }
+
+ var index = 0;
+ for (var precentIndex = format.indexOf("%", index); precentIndex !== -1; precentIndex = format.indexOf("%", index)) {
+ addStringToken(format.substring(index, precentIndex));
+ index = precentIndex + 1;
+
+ if (format[index] === "%") {
+ addStringToken("%");
+ ++index;
+ continue;
+ }
+
+ if (!isNaN(format[index])) {
+ // The first character is a number, it might be a substitution index.
+ var number = parseInt(format.substring(index));
+ while (!isNaN(format[index]))
+ ++index;
+ // If the number is greater than zero and ends with a "$",
+ // then this is a substitution index.
+ if (number > 0 && format[index] === "$") {
+ substitutionIndex = (number - 1);
+ ++index;
+ }
+ }
+
+ var precision = -1;
+ if (format[index] === ".") {
+ // This is a precision specifier. If no digit follows the ".",
+ // then the precision should be zero.
+ ++index;
+ precision = parseInt(format.substring(index));
+ if (isNaN(precision))
+ precision = 0;
+ while (!isNaN(format[index]))
+ ++index;
+ }
+
+ addSpecifierToken(format[index], precision, substitutionIndex);
+
+ ++substitutionIndex;
+ ++index;
+ }
+
+ addStringToken(format.substring(index));
+
+ return tokens;
+}
+
+String.standardFormatters = {
+ d: function(substitution)
+ {
+ if (typeof substitution == "object" && WebInspector.RemoteObject.type(substitution) === "number")
+ substitution = substitution.description;
+ substitution = parseInt(substitution);
+ return !isNaN(substitution) ? substitution : 0;
+ },
+
+ f: function(substitution, token)
+ {
+ if (typeof substitution == "object" && WebInspector.RemoteObject.type(substitution) === "number")
+ substitution = substitution.description;
+ substitution = parseFloat(substitution);
+ if (substitution && token.precision > -1)
+ substitution = substitution.toFixed(token.precision);
+ return !isNaN(substitution) ? substitution : (token.precision > -1 ? Number(0).toFixed(token.precision) : 0);
+ },
+
+ s: function(substitution)
+ {
+ if (typeof substitution == "object" && WebInspector.RemoteObject.type(substitution) !== "null")
+ substitution = substitution.description;
+ return substitution;
+ },
+};
+
+String.vsprintf = function(format, substitutions)
+{
+ return String.format(format, substitutions, String.standardFormatters, "", function(a, b) { return a + b; }).formattedResult;
+}
+
+String.format = function(format, substitutions, formatters, initialValue, append)
+{
+ if (!format || !substitutions || !substitutions.length)
+ return { formattedResult: append(initialValue, format), unusedSubstitutions: substitutions };
+
+ function prettyFunctionName()
+ {
+ return "String.format(\"" + format + "\", \"" + substitutions.join("\", \"") + "\")";
+ }
+
+ function warn(msg)
+ {
+ console.warn(prettyFunctionName() + ": " + msg);
+ }
+
+ function error(msg)
+ {
+ console.error(prettyFunctionName() + ": " + msg);
+ }
+
+ var result = initialValue;
+ var tokens = String.tokenizeFormatString(format);
+ var usedSubstitutionIndexes = {};
+
+ for (var i = 0; i < tokens.length; ++i) {
+ var token = tokens[i];
+
+ if (token.type === "string") {
+ result = append(result, token.value);
+ continue;
+ }
+
+ if (token.type !== "specifier") {
+ error("Unknown token type \"" + token.type + "\" found.");
+ continue;
+ }
+
+ if (token.substitutionIndex >= substitutions.length) {
+ // If there are not enough substitutions for the current substitutionIndex
+ // just output the format specifier literally and move on.
+ error("not enough substitution arguments. Had " + substitutions.length + " but needed " + (token.substitutionIndex + 1) + ", so substitution was skipped.");
+ result = append(result, "%" + (token.precision > -1 ? token.precision : "") + token.specifier);
+ continue;
+ }
+
+ usedSubstitutionIndexes[token.substitutionIndex] = true;
+
+ if (!(token.specifier in formatters)) {
+ // Encountered an unsupported format character, treat as a string.
+ warn("unsupported format character \u201C" + token.specifier + "\u201D. Treating as a string.");
+ result = append(result, substitutions[token.substitutionIndex]);
+ continue;
+ }
+
+ result = append(result, formatters[token.specifier](substitutions[token.substitutionIndex], token));
+ }
+
+ var unusedSubstitutions = [];
+ for (var i = 0; i < substitutions.length; ++i) {
+ if (i in usedSubstitutionIndexes)
+ continue;
+ unusedSubstitutions.push(substitutions[i]);
+ }
+
+ return { formattedResult: result, unusedSubstitutions: unusedSubstitutions };
+}
+
+function isEnterKey(event) {
+ // Check if in IME.
+ return (event.keyCode !== 229 && event.keyIdentifier === "Enter") || event.keyCode == 13 || event.charCode == 13;
+}
+
+
+function highlightSearchResult(element, offset, length)
+{
+ var lineText = element.textContent;
+ var endOffset = offset + length;
+ var highlightNode = document.createElement("span");
+ highlightNode.className = "webkit-search-result";
+ highlightNode.textContent = lineText.substring(offset, endOffset);
+
+ var boundary = element.rangeBoundaryForOffset(offset);
+ var textNode = boundary.container;
+ var text = textNode.textContent;
+
+ if (boundary.offset + length < text.length) {
+ // Selection belong to a single split mode.
+ textNode.textContent = text.substring(boundary.offset + length);
+ textNode.parentElement.insertBefore(highlightNode, textNode);
+ var prefixNode = document.createTextNode(text.substring(0, boundary.offset));
+ textNode.parentElement.insertBefore(prefixNode, highlightNode);
+ return highlightNode;
+ }
+
+ var parentElement = textNode.parentElement;
+ var anchorElement = textNode.nextSibling;
+
+ length -= text.length - boundary.offset;
+ textNode.textContent = text.substring(0, boundary.offset);
+ textNode = textNode.traverseNextTextNode(element);
+
+ while (textNode) {
+ var text = textNode.textContent;
+ if (length < text.length) {
+ textNode.textContent = text.substring(length);
+ break;
+ }
+
+ length -= text.length;
+ textNode.textContent = "";
+ textNode = textNode.traverseNextTextNode(element);
+ }
+
+ parentElement.insertBefore(highlightNode, anchorElement);
+ return highlightNode;
+}
+
+function createSearchRegex(query)
+{
+ var regex = "";
+ for (var i = 0; i < query.length; ++i) {
+ var char = query.charAt(i);
+ if (char === "]")
+ char = "\\]";
+ regex += "[" + char + "]";
+ }
+ return new RegExp(regex, "i");
+}
+
+function offerFileForDownload(contents)
+{
+ var builder = new BlobBuilder();
+ builder.append(contents);
+ var blob = builder.getBlob("application/octet-stream");
+ var url = window.webkitURL.createObjectURL(blob);
+ window.open(url);
+}
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/AuditLauncherView.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/AuditLauncherView.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/AuditLauncherView.js
index df16a41..e7ab735 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/AuditLauncherView.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/AuditLauncherView.js
@@ -101,7 +101,7 @@ WebInspector.AuditLauncherView.prototype = {
return aTitle.localeCompare(bTitle);
}
var insertBefore = insertionIndexForObjectInListSortedByFunction(category, this._sortedCategories, compareCategories);
- this._categoriesElement.insertBefore(categoryElement, this._categoriesElement.children[insertBefore]);
+ this._categoriesElement.insertBefore(categoryElement, this._categoriesElement.children[insertBefore] || null);
this._sortedCategories.splice(insertBefore, 0, category);
this._updateButton();
},
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/ConsoleView.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/ConsoleView.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/ConsoleView.js
index 35d1ebf..42fd799 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/ConsoleView.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/ConsoleView.js
@@ -45,6 +45,7 @@ WebInspector.ConsoleView = function(drawer)
this.messagesElement.addEventListener("click", this._messagesClicked.bind(this), true);
this.promptElement = document.getElementById("console-prompt");
+ this.promptElement.setAttribute("contenteditable", "true");
this.promptElement.className = "source-code";
this.promptElement.addEventListener("keydown", this._promptKeyDown.bind(this), true);
this.prompt = new WebInspector.TextPrompt(this.promptElement, this.completions.bind(this), ExpressionStopCharacters + ".");
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
index 56c3e75..dab33a6 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
@@ -1060,7 +1060,11 @@ WebInspector.ElementsTreeElement.prototype = {
var previous = element.previousSibling;
if (!previous || previous.nodeType !== Node.TEXT_NODE)
element.parentNode.insertBefore(document.createTextNode(" "), element);
- element.outerHTML = this._attributeHTML(name, value);
+
+ // outerHTML should not be used to replace node content in IE, updated with replaceChild usage
+ element.innerHTML = this._attributeHTML(name, value);
+ element.parentNode.replaceChild(element.firstChild, element);
+ //element.outerHTML = this._attributeHTML(name, value);
}
var parseContainerElement = document.createElement("span");
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/Settings.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/Settings.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/Settings.js
index 68b81a5..f20078a 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/Settings.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/Settings.js
@@ -85,14 +85,17 @@ WebInspector.Settings.prototype = {
if (key in this)
return;
- this.__defineGetter__(key, this._get.bind(this, key, defaultValue));
- this.__defineSetter__(key, this._set.bind(this, key));
+ Object.defineProperty(this, key,{
+ get : this._get.bind(this, key, defaultValue),
+ set : this._set.bind(this, key)});
},
installProjectSetting: function(key, defaultValue)
{
- this.__defineGetter__(key, this._getProjectSetting.bind(this, key, defaultValue));
- this.__defineSetter__(key, this._setProjectSetting.bind(this, key));
+ Object.defineProperty(this, key,{
+ get : this._getProjectSetting.bind(this, key, defaultValue),
+ set : this._setProjectSetting.bind(this, key)});
+
},
inspectedURLChanged: function(url)
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/StylesSidebarPane.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
index 57d3b76..211b059 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
@@ -402,6 +402,7 @@ WebInspector.StylesSidebarPane.prototype = {
_rebuildSectionsForStyleRules: function(styleRules, usedProperties, disabledComputedProperties, pseudoId, anchorElement)
{
+ anchorElement = anchorElement || null;
// Make a property section for each style rule.
var sections = [];
var lastWasSeparator = true;
@@ -1534,7 +1535,7 @@ WebInspector.StylePropertyTreeElement.prototype = {
expanded: this.expanded,
hasChildren: this.hasChildren,
keyDownListener: isEditingName ? null : this.editingValueKeyDown.bind(this),
- isEditingName: isEditingName,
+ isEditingName: isEditingName
};
// Lie about our children to prevent expanding on double click and to collapse shorthands.
@@ -1625,8 +1626,9 @@ WebInspector.StylePropertyTreeElement.prototype = {
{
if (event.handled)
return;
- var arrowKeyPressed = (event.keyIdentifier === "Up" || event.keyIdentifier === "Down");
- var pageKeyPressed = (event.keyIdentifier === "PageUp" || event.keyIdentifier === "PageDown");
+ var key = event.keyIdentifier || event.key;
+ var arrowKeyPressed = (key === "Up" || key === "Down");
+ var pageKeyPressed = (key === "PageUp" || key === "PageDown");
if (!arrowKeyPressed && !pageKeyPressed)
return;
@@ -1650,13 +1652,13 @@ WebInspector.StylePropertyTreeElement.prototype = {
// If the number is near zero or the number is one and the direction will take it near zero.
var numberNearZero = (number < 1 && number > -1);
- if (number === 1 && event.keyIdentifier === "Down")
+ if (number === 1 && key === "Down")
numberNearZero = true;
- else if (number === -1 && event.keyIdentifier === "Up")
+ else if (number === -1 && key === "Up")
numberNearZero = true;
if (numberNearZero && event.altKey && arrowKeyPressed) {
- if (event.keyIdentifier === "Down")
+ if (key === "Down")
number = Math.ceil(number - 1);
else
number = Math.floor(number + 1);
@@ -1671,7 +1673,7 @@ WebInspector.StylePropertyTreeElement.prototype = {
else if (event.altKey || numberNearZero)
changeAmount = 0.1;
- if (event.keyIdentifier === "Down" || event.keyIdentifier === "PageDown")
+ if (key === "Down" || key === "PageDown")
changeAmount *= -1;
// Make the new number and constrain it to a precision of 6, this matches numbers the engine returns.
@@ -1926,7 +1928,7 @@ WebInspector.StylesSidebarPane.CSSPropertyPrompt.prototype = {
_handleNameOrValueUpDown: function(event)
{
- var reverse = event.keyIdentifier === "Up";
+ var reverse = (event.keyIdentifier || event.key) === "Up";
if (this.autoCompleteElement)
this.complete(false, reverse); // Accept the current suggestion, if any.
else {
@@ -1956,6 +1958,8 @@ WebInspector.StylesSidebarPane.CSSPropertyPrompt.prototype = {
_buildPropertyCompletions: function(wordRange, bestMatchOnly, completionsReadyCallback)
{
+ if (!this._cssCompletions) return;
+
var prefix = wordRange.toString().toLowerCase();
var results;
if (bestMatchOnly) {
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/TextPrompt.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/TextPrompt.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/TextPrompt.js
index 36a38cc..684dfa7 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/TextPrompt.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/TextPrompt.js
@@ -51,7 +51,12 @@ WebInspector.TextPrompt.prototype = {
if (!x) {
// Append a break element instead of setting textContent to make sure the selection is inside the prompt.
this.element.removeChildren();
+
+ // For IE we don't need a <br> to correctly set console caret; otherwise there will be two lines (incorrect) instead of one
+ if (!navigator.userAgent.match(/MSIE/i)) {
+
this.element.appendChild(document.createElement("br"));
+ }
} else
this.element.textContent = x;
@@ -75,9 +80,10 @@ WebInspector.TextPrompt.prototype = {
if (event.handled)
return;
- var handled = false;
+ var handled = false,
+ key = event.keyIdentifier || event.key;
- switch (event.keyIdentifier) {
+ switch (key) {
case "Up":
this.upKeyPressed(event);
break;
@@ -118,6 +124,11 @@ WebInspector.TextPrompt.prototype = {
break;
}
+ if (event.keyCode == 13 || event.charCode == 13) {
+ handled = true;
+ event.target.blur();
+ }
+
handled |= event.handled;
if (handled) {
event.handled = true;
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.css
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.css b/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.css
index c992806..d188ce4 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.css
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.css
@@ -43,11 +43,17 @@ body {
font-size: 10px;
margin: 0;
-webkit-text-size-adjust: none;
+ -ms-text-size-adjust: none;
+ -moz-text-size-adjust: none;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
}
* {
-webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ -moz-box-sizing: border-box;
}
:focus {
@@ -77,16 +83,24 @@ img {
right: 0;
height: 56px;
display: -webkit-box;
+ display: -ms-flexbox;
+ display: -moz-box;
padding: 0 5px;
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(191, 191, 191)), to(rgb(151, 151, 151)));
+ background-image: linear-gradient(to bottom, rgb(191, 191, 191) 0%, rgb(151, 151, 151) 100%);
border-bottom: 1px solid rgb(80, 80, 80);
-webkit-box-orient: horizontal;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ -ms-flex-direction: row;
+ -moz-box-orient: horizontal;
+ background-origin: padding;
+ background-clip: padding;
}
body.inactive #toolbar {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(233, 233, 233)), to(rgb(207, 207, 207)));
+ background-image: linear-gradient(to bottom, rgb(233, 233, 233) 0%, rgb(207, 207, 207) 100%);
border-bottom: 1px solid rgb(64%, 64%, 64%);
}
@@ -112,6 +126,8 @@ body.attached.inactive #toolbar {
.toolbar-item {
display: -webkit-box;
+ display: -ms-flexbox;
+ display: -moz-box;
padding: 4px 6px;
margin: 0;
background-color: transparent;
@@ -120,16 +136,26 @@ body.attached.inactive #toolbar {
-webkit-box-orient: vertical;
-webkit-box-align: center;
-webkit-box-pack: end;
+ -ms-flex-direction: column;
+ -ms-flex-align: center;
+ -ms-flex-pack: end;
+ -moz-box-orient: vertical;
+ -moz-box-align: center;
+ -moz-box-pack: end;
}
.toolbar-item.toggleable.toggled-on {
border-width: 0 2px 0 2px;
padding: 4px 4px;
-webkit-border-image: url(Images/toolbarItemSelected.png) 0 2 0 2;
+ border-image: url(Images/toolbarItemSelected.png) 0 2 0 2;
+ border-style: solid;
}
.toolbar-item.flexable-space {
-webkit-box-flex: 1;
+ -ms-flex: 1;
+ -moz-box-flex: 1;
visibility: hidden;
}
@@ -142,6 +168,7 @@ body.attached.inactive #toolbar {
width: 32px;
height: 32px;
-webkit-background-size: 100% auto;
+ background-size: 100% auto;
}
body.attached .toolbar-icon {
@@ -399,13 +426,17 @@ select.status-bar-item {
color: rgb(48, 48, 48);
text-shadow: rgba(255, 255, 255, 0.75) 0 1px 0;
-webkit-border-image: url(Images/statusbarMenuButton.png) 0 17 0 2;
+ border-image: url(Images/statusbarMenuButton.png) 0 17 0 2;
-webkit-border-radius: 0;
+ border-radius: 0;
-webkit-appearance: none;
+ -moz-appearance: none;
}
select.status-bar-item:active {
color: black;
-webkit-border-image: url(Images/statusbarMenuButtonSelected.png) 0 17 0 2;
+ border-image: url(Images/statusbarMenuButtonSelected.png) 0 17 0 2;
}
#dock-status-bar-item .glyph {
@@ -525,10 +556,15 @@ body.platform-linux .monospace, body.platform-linux .source-code {
right: 0;
bottom: 23px;
padding: 2px 0;
- overflow-y: overlay;
+ overflow-y: auto;
+ overflow-y: overlay;
word-wrap: break-word;
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
-webkit-text-size-adjust: auto;
+ -ms-text-size-adjust: auto;
+ -moz-text-size-adjust: auto;
}
#console-prompt {
@@ -537,6 +573,7 @@ body.platform-linux .monospace, body.platform-linux .source-code {
min-height: 16px;
white-space: pre-wrap;
-webkit-user-modify: read-write-plaintext-only;
+ -moz-user-modify: read-write;
}
#console-prompt::before {
@@ -572,6 +609,68 @@ body.platform-linux .monospace, body.platform-linux .source-code {
height: 10px;
margin-top: -5px;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
+}
+
+/* Hack to detect IE*/
+@media screen\0 {
+ /* Set image directly to console div element instead of using pseudo selector
+ since it causes displaying caret in incorrecty place*/
+ #console-prompt {
+ background: url(Images/userInputIcon.png) 7px 5px no-repeat;
+ }
+
+ #console-prompt::before{
+ content: none !important;
+ }
+
+ /*Set icons as background-image since IE doesn't support -webkit-mask-image*/
+ #console-status-bar-item .glyph {
+ background-image: url(Images/consoleButtonGlyph.png);
+ }
+
+ .clear-status-bar-item .glyph {
+ background-image: url(Images/clearConsoleButtonGlyph.png);
+ }
+
+ .node-search-status-bar-item .glyph {
+ background-image: url(Images/nodeSearchButtonGlyph.png);
+ }
+
+ #console-status-bar-item .glyph,
+ .clear-status-bar-item .glyph,
+ .node-search-status-bar-item .glyph{
+ background-color: transparent;
+ }
+
+ /*Set background image for selected tab since IE doesn't support border-image property*/
+ .toolbar-item.toggleable.toggled-on {
+ background: url(Images/toolbarItemSelected.png);
+ background-size: 1px 100%;
+ }
+}
+
+/* Hack to detect Firefox*/
+@-moz-document url-prefix() {
+ /*Set icons as background-image since FF doesn't support mask-image*/
+ #console-status-bar-item .glyph {
+ background-image: url(Images/consoleButtonGlyph.png);
+ }
+
+ .clear-status-bar-item .glyph {
+ background-image: url(Images/clearConsoleButtonGlyph.png);
+ }
+
+ .node-search-status-bar-item .glyph {
+ background-image: url(Images/nodeSearchButtonGlyph.png);
+ }
+
+ #console-status-bar-item .glyph,
+ .clear-status-bar-item .glyph,
+ .node-search-status-bar-item .glyph{
+ background-color: transparent;
+ }
}
.console-message .bubble {
@@ -591,6 +690,7 @@ body.platform-linux .monospace, body.platform-linux .source-code {
text-shadow: none;
color: white;
-webkit-border-radius: 7px;
+ border-radius: 7px;
}
.console-message-text {
@@ -770,7 +870,10 @@ body.platform-linux .monospace, body.platform-linux .source-code {
.auto-complete-text, .editing .auto-complete-text {
color: rgb(128, 128, 128) !important;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
-webkit-user-modify: read-only;
+ -moz-user-modify: read-only;
}
.panel {
@@ -830,6 +933,8 @@ body.platform-linux .monospace, body.platform-linux .source-code {
padding-bottom: 10px;
font-size: 11px;
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
}
.resource-view.image img.resource-image-view {
@@ -837,7 +942,10 @@ body.platform-linux .monospace, body.platform-linux .source-code {
max-height: 1000px;
background-image: url(Images/checker.png);
-webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5);
+ box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5);
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
-webkit-user-drag: auto;
}
@@ -932,6 +1040,7 @@ body.platform-linux .monospace, body.platform-linux .source-code {
height: 24px;
border-width: 0 12px 0 2px;
-webkit-border-image: url(Images/segment.png) 0 12 0 2;
+ border-image: url(Images/segment.png) 0 12 0 2;
margin-right: -12px;
padding-left: 18px;
padding-right: 2px;
@@ -965,34 +1074,41 @@ body.platform-linux .monospace, body.platform-linux .source-code {
border-width: 0 2px 0 2px;
padding-right: 6px;
-webkit-border-image: url(Images/segmentEnd.png) 0 2 0 2;
+ border-image: url(Images/segmentEnd.png) 0 2 0 2;
}
.crumbs .crumb.selected {
-webkit-border-image: url(Images/segmentSelected.png) 0 12 0 2;
+ border-image: url(Images/segmentSelected.png) 0 12 0 2;
color: black;
text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
}
.crumbs .crumb.selected:hover {
-webkit-border-image: url(Images/segmentSelected.png) 0 12 0 2;
+ border-image: url(Images/segmentSelected.png) 0 12 0 2;
}
.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover {
-webkit-border-image: url(Images/segmentSelectedEnd.png) 0 2 0 2;
+ border-image: url(Images/segmentSelectedEnd.png) 0 2 0 2;
}
.crumbs .crumb:hover {
-webkit-border-image: url(Images/segmentHover.png) 0 12 0 2;
+ border-image: url(Images/segmentHover.png) 0 12 0 2;
color: black;
}
.crumbs .crumb.dimmed:hover {
-webkit-border-image: url(Images/segmentHover.png) 0 12 0 2;
+ border-image: url(Images/segmentHover.png) 0 12 0 2;
color: rgba(0, 0, 0, 0.75);
}
.crumbs .crumb.end:hover {
-webkit-border-image: url(Images/segmentHoverEnd.png) 0 2 0 2;
+ border-image: url(Images/segmentHoverEnd.png) 0 2 0 2;
}
.outline-disclosure li.hovered:not(.selected) .selection {
@@ -1001,11 +1117,13 @@ body.platform-linux .monospace, body.platform-linux .source-code {
right: 3px;
background-color: rgba(56, 121, 217, 0.1);
-webkit-border-radius: 5px;
+ border-radius: 5px;
}
.outline-disclosure li.highlighted .highlight {
background-color: rgb(255, 230, 179);
-webkit-border-radius: 4px;
+ border-radius: 4px;
padding-bottom: 2px;
margin-bottom: -2px;
}
@@ -1050,6 +1168,7 @@ body.platform-linux .monospace, body.platform-linux .source-code {
.outline-disclosure, .outline-disclosure ol {
list-style-type: none;
-webkit-padding-start: 12px;
+ -moz-padding-start: 12px;
margin: 0;
}
@@ -1141,18 +1260,23 @@ body.platform-linux .monospace, body.platform-linux .source-code {
.placard.selected {
border-top: 1px solid rgb(145, 160, 192);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(162, 177, 207)), to(rgb(120, 138, 177)));
+ background-image: linear-gradient(to bottom, rgb(162, 177, 207) 0%, rgb(120, 138, 177) 100%);
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-origin: padding;
+ background-clip: padding;
}
:focus .placard.selected {
border-top: 1px solid rgb(68, 128, 200);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(92, 147, 213)), to(rgb(21, 83, 170)));
+ background-image: linear-gradient(to bottom, rgb(92, 147, 213) 0%, rgb(21, 83, 170) 100%);
}
body.inactive .placard.selected {
border-top: 1px solid rgb(151, 151, 151);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(180, 180, 180)), to(rgb(138, 138, 138)));
+ background-image: linear-gradient(to bottom, rgb(180, 180, 180) 0%, rgb(138, 138, 138) 100%);
}
.placard .title {
@@ -1209,6 +1333,8 @@ body.inactive .placard.selected {
white-space: nowrap;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-origin: padding;
+ background-clip: padding;
}
.section .header::before {
@@ -1286,6 +1412,8 @@ body.inactive .placard.selected {
text-overflow: ellipsis;
overflow: hidden;
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
cursor: auto;
}
@@ -1302,6 +1430,8 @@ body.inactive .placard.selected {
margin-top: 0;
padding-right: 3px;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
cursor: default;
}
@@ -1319,6 +1449,7 @@ body.inactive .placard.selected {
display: none;
margin: 0;
-webkit-padding-start: 12px;
+ -moz-padding-start: 12px;
list-style: none;
}
@@ -1366,6 +1497,8 @@ body.inactive .placard.selected {
white-space: nowrap;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-origin: padding;
+ background-clip: padding;
}
.event-bars .event-bar .header .title {
@@ -1394,10 +1527,14 @@ body.inactive .placard.selected {
.editing {
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
-webkit-box-shadow: rgba(0, 0, 0, .5) 3px 3px 4px;
+ box-shadow: rgba(0, 0, 0, .5) 3px 3px 4px;
outline: 1px solid rgb(66%, 66%, 66%) !important;
background-color: white;
-webkit-user-modify: read-write-plaintext-only;
+ -moz-user-modify: read-write;
text-overflow: clip !important;
padding-left: 2px;
margin-left: -2px;
@@ -1425,7 +1562,10 @@ body.inactive .placard.selected {
.elements-tree-editor {
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
-webkit-user-modify: read-write-plaintext-only;
+ -moz-user-modify: read-write-plaintext-only;
}
.section .properties li.editing {
@@ -1512,6 +1652,7 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but
.pane > .title {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(243, 243, 243)), color-stop(0.05, rgb(243, 243, 243)), color-stop(0.05, rgb(230, 230, 230)), to(rgb(209, 209, 209)));
+ background-image: linear-gradient(to bottom, rgb(243, 243, 243) 0%, rgb(243, 243, 243) 10%, rgb(230, 230, 230) 40%, rgb(209, 209, 209) 100%);
height: 20px;
padding: 0 5px;
border-top: 1px solid rgb(189, 189, 189);
@@ -1523,10 +1664,13 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but
text-shadow: white 0 1px 0;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-origin: padding;
+ background-clip: padding;
}
.pane > .title:active {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(231, 231, 231)), color-stop(0.05, rgb(231, 231, 231)), color-stop(0.05, rgb(207, 207, 207)), to(rgb(186, 186, 186)));
+ background-image: linear-gradient(to bottom, rgb(231, 231, 231) 0%,rgb(231, 231, 231) 10%, rgb(207, 207, 207) 40%, rgb(186, 186, 186) 100%);
border-top: 1px solid rgb(178, 178, 178);
border-bottom: 1px solid rgb(178, 178, 178);
}
@@ -1556,7 +1700,12 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but
margin: 1px 0 0 0;
padding: 0;
-webkit-border-radius: 0;
+ border-radius: 0;
-webkit-appearance: none;
+ -moz-appearance: none;
+ /* hack for appearance for non-webkit browsers */
+ padding-left: 10px;
+ padding-right: 13px;
}
.pane > .title > select:hover {
@@ -1583,7 +1732,9 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but
margin: 1px 0 0 0;
padding: 0;
-webkit-border-radius: 0;
+ border-radius: 0;
-webkit-appearance: none;
+ -moz-appearance: none;
}
.pane > .title > button.add:hover {
@@ -1655,7 +1806,9 @@ body.platform-windows .sidebar-pane-subtitle {
margin-left: 0;
margin-top: 0;
margin-bottom: 0.25em;
- vertical-align: bottom;
+ vertical-align: middle;
+ /*Hack for IE - 'box-sizing: border-box' significantly reduce checkbox size so we set it to default*/
+ box-sizing: content-box;
}
.metrics {
@@ -1833,17 +1986,20 @@ body.inactive .sidebar {
.resources.panel .sidebar li.selected .selection {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(162, 177, 207)), to(rgb(120, 138, 177)));
+ background-image: linear-gradient(to bottom, rgb(162, 177, 207) 0%, rgb(120, 138, 177) 100%);
border-top: 1px solid #979797;
height: 17px;
}
.resources.panel .sidebar :focus li.selected .selection {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(92, 147, 213)), to(rgb(21, 83, 170)));
+ background-image: linear-gradient(to bottom, rgb(92, 147, 213) 0%, rgb(21, 83, 170) 100%);
border-top: 1px solid rgb(68, 128, 200);
}
body.inactive .resources.panel .sidebar li.selected .selection {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(180, 180, 180)), to(rgb(138, 138, 138)));
+ background-image: linear-gradient(to bottom, rgb(180, 180, 180) 0%, rgb(138, 138, 138) 100%);
border-top: 1px solid rgb(151, 151, 151);
}
@@ -2003,7 +2159,9 @@ li.selected .base-storage-tree-element-subtitle {
height: 100%;
border-top: 0 none transparent;
background-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(0.5, white), color-stop(0.5, rgb(234, 243, 255)), to(rgb(234, 243, 255)));
+ background-image: linear-gradient(to bottom, white 0%, white 10%, rgb(234, 243, 255) 40%, rgb(234, 243, 255) 100%);
-webkit-background-size: 1px 32px;
+ background-size: 1px 32px;
}
.data-grid.inline table.data {
@@ -2026,6 +2184,8 @@ li.selected .base-storage-tree-element-subtitle {
white-space: nowrap;
border-right: 1px solid #aaa;
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
}
.data-grid td > div, .data-grid th > div {
@@ -2102,6 +2262,8 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
height: 8px;
margin-right: 2px;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
}
.data-grid tr.expanded td.disclosure::before {
@@ -2147,6 +2309,8 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
overflow-y: overlay;
overflow-x: hidden;
-webkit-text-size-adjust: auto;
+ -ms-text-size-adjust: auto;
+ -moz-text-size-adjust: auto;
}
.database-query-prompt {
@@ -2155,7 +2319,10 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
min-height: 16px;
white-space: pre-wrap;
-webkit-user-modify: read-write-plaintext-only;
+ -moz-user-modify: read-write;
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
}
.database-user-query::before, .database-query-prompt::before, .database-query-result::before {
@@ -2168,6 +2335,8 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
height: 10px;
margin-top: -5px;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
}
.database-query-prompt::before {
@@ -2188,6 +2357,8 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
.database-query-text {
color: rgb(0, 128, 255);
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: none;
}
.database-query-result {
@@ -2201,6 +2372,8 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
.database-query-result.error {
color: red;
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: none;
}
.database-query-result.error::before {
@@ -2295,8 +2468,11 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
border: 1px solid rgb(165, 165, 165);
background-color: rgb(237, 237, 237);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(252, 252, 252)), to(rgb(223, 223, 223)));
+ background-image: linear-gradient(to bottom, rgb(252, 252, 252) 0%, rgb(233, 233, 233) 100%);
-webkit-border-radius: 12px;
+ border-radius: 12px;
-webkit-appearance: none;
+ -moz-appearance: none;
}
.panel-enabler-view button:not(.status-bar-item) {
@@ -2347,6 +2523,7 @@ button.show-all-nodes {
.panel-enabler-view button:active:not(.status-bar-item), .pane button:active, button.show-all-nodes:active {
background-color: rgb(215, 215, 215);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(194, 194, 194)), to(rgb(239, 239, 239)));
+ background-image: linear-gradient(to bottom, rgb(194, 194, 194) 0%, rgb(239, 239, 239) 100%);
}
body.inactive .panel-enabler-view button:not(.status-bar-item), .panel-enabler-view button:disabled:not(.status-bar-item), body.inactive .pane button, .pane button:disabled, body.inactive button.show-all-nodes {
@@ -2354,6 +2531,7 @@ body.inactive .panel-enabler-view button:not(.status-bar-item), .panel-enabler-v
border-color: rgb(212, 212, 212);
background-color: rgb(239, 239, 239);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(250, 250, 250)), to(rgb(235, 235, 235)));
+ background-image: linear-gradient(to bottom, rgb(250, 250, 250) 0%, rgb(235, 235, 235) 100%);
}
.panel-enabler-view input {
@@ -2361,19 +2539,24 @@ body.inactive .panel-enabler-view button:not(.status-bar-item), .panel-enabler-v
width: 17px;
border: 1px solid rgb(165, 165, 165);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(252, 252, 252)), to(rgb(223, 223, 223)));
+ background-image: linear-gradient(to bottom, rgb(252, 252, 252) 0%, rgb(223, 223, 223) 100%);
-webkit-border-radius: 8px;
+ border-radius: 8px;
-webkit-appearance: none;
+ -moz-appearance: none;
vertical-align: middle;
margin: 0 5px 5px 0;
}
.panel-enabler-view input:active {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(194, 194, 194)), to(rgb(239, 239, 239)));
+ background-image: linear-gradient(to bottom, rgb(194, 194, 194) 0%, rgb(239, 239, 239) 100%);
}
.panel-enabler-view input:checked {
background: url(Images/radioDot.png) center no-repeat,
-webkit-gradient(linear, left top, left bottom, from(rgb(252, 252, 252)), to(rgb(223, 223, 223)));
+ background-image: linear-gradient(to bottom, rgb(252, 252, 252) 0%, rgb(223, 223, 223) 100%);
}
.panel-enabler-view.scripts img {
@@ -2527,6 +2710,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
#resources-filter, #console-filter.console-filter-top {
background: -webkit-gradient(linear, left top, left bottom, from(rgb(236, 236, 236)), to(rgb(217, 217, 217)));
+ background-image: linear-gradient(to bottom, rgb(236, 236, 236) 0%, rgb(217, 217, 217) 100%);
border-bottom: 1px solid rgb(64%, 64%, 64%);
width: 100%;
}
@@ -2541,11 +2725,15 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
.tabbed-pane {
-webkit-box-orient: vertical;
+ -ms-flex-direction: column;
+ -moz-box-orient: vertical;
height: 100%;
}
.tabbed-pane-content {
-webkit-box-flex: 1;
+ -ms-flex: 1;
+ -moz-box-flex: 1;
position: relative;
}
@@ -2593,6 +2781,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
background: transparent;
text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
-webkit-border-radius: 8px;
+ border-radius: 8px;
vertical-align: middle;
}
@@ -2617,11 +2806,13 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
.scope-bar li.selected {
background: rgba(0, 0, 0, 0.3);
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset, 0 -1px 1px rgba(255, 255, 255, 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.5);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset, 0 -1px 1px rgba(255, 255, 255, 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.5);
}
.scope-bar li:active {
background: rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset, 0 -1px 1px rgba(255, 255, 255, 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.5);
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset, 0 -1px 1px rgba(255, 255, 255, 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.5);
}
#resources-container {
@@ -2675,6 +2866,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
border-left: 1px solid rgb(102, 102, 102);
background-color: rgb(101, 111, 130);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
+ background-image: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 50%);
background-repeat: repeat-x;
background-position: bottom;
text-align: center;
@@ -2684,6 +2876,9 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
-webkit-background-size: 1px 6px;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-size: 1px 6px;
+ background-origin: padding;
+ background-clip: padding;
z-index: 400;
}
@@ -2831,6 +3026,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
font-weight: bold;
opacity: 0;
-webkit-transition: opacity 250ms ease-in-out;
+ transition: opacity 250ms ease-in-out;
}
.resources-graph-side:hover .resources-graph-label {
@@ -2885,6 +3081,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
min-width: 14px;
opacity: 0.65;
-webkit-border-image: url(Images/timelinePillGray.png) 6 7 6 7;
+ border-image: url(Images/timelinePillGray.png) 6 7 6 7;
}
.resources-category-documents, .resources-category-stylesheets, .resources-category-images,
@@ -2925,63 +3122,78 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillGray.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillGray.png) 6 7 6 7;
}
.resources-category-documents .resources-graph-bar {
-webkit-border-image: url(Images/timelinePillBlue.png) 6 7 6 7;
+ border-image: url(Images/timelinePillBlue.png) 6 7 6 7;
}
.resources-category-documents.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillBlue.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillBlue.png) 6 7 6 7;
}
.resources-category-stylesheets .resources-graph-bar {
-webkit-border-image: url(Images/timelinePillGreen.png) 6 7 6 7;
+ border-image: url(Images/timelinePillGreen.png) 6 7 6 7;
}
.resources-category-stylesheets.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillGreen.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillGreen.png) 6 7 6 7;
}
.resources-category-images .resources-graph-bar {
-webkit-border-image: url(Images/timelinePillPurple.png) 6 7 6 7;
+ border-image: url(Images/timelinePillPurple.png) 6 7 6 7;
}
.resources-category-images.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillPurple.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillPurple.png) 6 7 6 7;
}
.resources-category-fonts .resources-graph-bar {
-webkit-border-image: url(Images/timelinePillRed.png) 6 7 6 7;
+ border-image: url(Images/timelinePillRed.png) 6 7 6 7;
}
.resources-category-fonts.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillRed.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillRed.png) 6 7 6 7;
}
.resources-category-scripts .resources-graph-bar {
-webkit-border-image: url(Images/timelinePillOrange.png) 6 7 6 7;
+ border-image: url(Images/timelinePillOrange.png) 6 7 6 7;
}
.resources-category-scripts.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillOrange.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillOrange.png) 6 7 6 7;
}
.resources-category-xhr .resources-graph-bar {
-webkit-border-image: url(Images/timelinePillYellow.png) 6 7 6 7;
+ border-image: url(Images/timelinePillYellow.png) 6 7 6 7;
}
.resources-category-xhr.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillYellow.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillYellow.png) 6 7 6 7;
}
/* FIXME: Create bar images for WebSocket. */
.resources-category-websockets .resources-graph-bar {
-webkit-border-image: url(Images/timelinePillGray.png) 6 7 6 7;
+ border-image: url(Images/timelinePillGray.png) 6 7 6 7;
}
.resources-category-websockets.resource-cached .resources-graph-bar {
-webkit-border-image: url(Images/timelineHollowPillGray.png) 6 7 6 7;
+ border-image: url(Images/timelineHollowPillGray.png) 6 7 6 7;
}
#resource-views {
@@ -3085,6 +3297,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
background-repeat: no-repeat;
background-position: center;
-webkit-apearance: none;
+ -moz-apearance: none;
}
.sidebar-tree.hide-disclosure-buttons .sidebar-tree-item .disclosure-button {
@@ -3160,6 +3373,7 @@ li .status .bubble {
text-shadow: none;
color: white;
-webkit-border-radius: 7px;
+ border-radius: 7px;
}
li .status .bubble:empty {
@@ -3196,20 +3410,25 @@ body.inactive li.selected .status .bubble {
color: white;
border-top: 1px solid rgb(145, 160, 192);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(162, 177, 207)), to(rgb(120, 138, 177)));
+ background-image: linear-gradient(to bottom, rgb(162, 177, 207) 0%, rgb(120, 138, 177) 100%);
text-shadow: rgba(0, 0, 0, 0.33) 0 1px 0;
font-weight: bold;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-origin: padding;
+ background-clip: padding;
}
:focus .sidebar-tree-item.selected {
border-top: 1px solid rgb(68, 128, 200);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(92, 147, 213)), to(rgb(21, 83, 170)));
+ background-image: linear-gradient(to bottom, rgb(92, 147, 213) 0%, rgb(21, 83, 170) 100%);
}
body.inactive .sidebar-tree-item.selected {
border-top: 1px solid rgb(151, 151, 151);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(180, 180, 180)), to(rgb(138, 138, 138)));
+ background-image: linear-gradient(to bottom, rgb(180, 180, 180) 0%, rgb(138, 138, 138) 100%);
}
.sidebar-tree-item .titles {
@@ -3440,6 +3659,7 @@ body.inactive li.selected .bubble.search-matches {
left: 0;
right: 0;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(253, 253, 253)), to(rgb(213, 213, 213)));
+ background-image: linear-gradient(to bottom, rgb(253, 253, 253) 0%, rgb(213, 213, 213) 100%);
border-top: 1px solid rgb(140, 140, 140);
border-bottom: 1px solid rgb(115, 115, 115);
height: 10px;
@@ -3453,6 +3673,7 @@ body.inactive li.selected .bubble.search-matches {
left: 0px;
padding-top: 2px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(242, 242, 242)), to(rgb(209, 209, 209)));
+ background-image: linear-gradient(to bottom, rgb(242, 242, 242) 0%, rgb(209, 209, 209) 100%);
border-right: 1px solid rgb(163, 163, 163);
}
@@ -3513,7 +3734,9 @@ body.inactive li.selected .bubble.search-matches {
z-index: 500;
cursor: col-resize;
-webkit-border-radius: 2px;
+ border-radius: 2px;
-webkit-box-shadow: white 1px 0 0, white -1px 0 0, white 0 1px 0, white 0 -1px 0;
+ box-shadow: white 1px 0 0, white -1px 0 0, white 0 1px 0, white 0 -1px 0;
}
#timeline-overview-grid #resources-graphs {
@@ -3555,6 +3778,7 @@ body.inactive li.selected .bubble.search-matches {
background-position: 0 -66px;
vertical-align: -1px;
-webkit-appearance: none;
+ -moz-appearance: none;
}
.timeline-category-statusbar-item .timeline-category-checkbox:checked {
@@ -3705,6 +3929,7 @@ body.inactive li.selected .bubble.search-matches {
min-width: 5px;
opacity: 0.8;
-webkit-border-image: url(Images/timelineBarGray.png) 4 4 5 4;
+ border-image: url(Images/timelineBarGray.png) 4 4 5 4;
z-index: 180;
pointer-events: visibleFill;
}
@@ -3723,14 +3948,17 @@ body.inactive li.selected .bubble.search-matches {
.timeline-category-loading .timeline-graph-bar {
-webkit-border-image: url(Images/timelineBarBlue.png) 4 4 5 4;
+ border-image: url(Images/timelineBarBlue.png) 4 4 5 4;
}
.timeline-category-scripting .timeline-graph-bar {
-webkit-border-image: url(Images/timelineBarOrange.png) 4 4 5 4;
+ border-image: url(Images/timelineBarOrange.png) 4 4 5 4;
}
.timeline-category-rendering .timeline-graph-bar {
-webkit-border-image: url(Images/timelineBarPurple.png) 4 4 5 4;
+ border-image: url(Images/timelineBarPurple.png) 4 4 5 4;
}
.timeline-aggregated-category {
@@ -3745,14 +3973,17 @@ body.inactive li.selected .bubble.search-matches {
.timeline-loading {
-webkit-border-image: url(Images/timelineBarBlue.png) 4 4 5 4;
+ border-image: url(Images/timelineBarBlue.png) 4 4 5 4;
}
.timeline-scripting {
-webkit-border-image: url(Images/timelineBarOrange.png) 4 4 5 4;
+ border-image: url(Images/timelineBarOrange.png) 4 4 5 4;
}
.timeline-rendering {
-webkit-border-image: url(Images/timelineBarPurple.png) 4 4 5 4;
+ border-image: url(Images/timelineBarPurple.png) 4 4 5 4;
}
.popover .timeline-aggregated-category.timeline-loading {
@@ -3773,6 +4004,8 @@ body.inactive li.selected .bubble.search-matches {
.timeline-details {
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
vertical-align: top;
}
@@ -3983,6 +4216,7 @@ button.enable-toggle-status-bar-item .glyph {
ol.breakpoint-list {
-webkit-padding-start: 0;
+ -moz-padding-start: 0;
list-style: none;
margin: 0;
}
@@ -4037,6 +4271,7 @@ li.breakpoint-hit .breakpoint-hit-marker {
padding: 4px;
background-color: rgb(203, 226, 255);
-webkit-border-radius: 7px;
+ border-radius: 7px;
border: 2px solid rgb(169, 172, 203);
width: 90%;
}
@@ -4060,6 +4295,7 @@ li.breakpoint-hit .breakpoint-hit-marker {
box-shadow: none !important;
outline: none !important;
-webkit-user-modify: read-write;
+ -moz-user-modify: read-write;
}
.source-frame-popover-title {
@@ -4088,6 +4324,7 @@ li.breakpoint-hit .breakpoint-hit-marker {
.styles-sidebar-separator {
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(243, 243, 243)), color-stop(0.05, rgb(243, 243, 243)), color-stop(0.05, rgb(230, 230, 230)), to(rgb(209, 209, 209)));
+ background-image: linear-gradient(to bottom, rgb(243, 243, 243) 0%,rgb(243, 243 ,243) 10%, rgb(230, 230, 230) 40%, rgb(209, 209, 209) 100%);
padding: 0 5px;
border-top: 1px solid rgb(189, 189, 189);
border-bottom: 1px solid rgb(189, 189, 189);
@@ -4129,7 +4366,11 @@ a.worker-item {
white-space: nowrap;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-origin: padding;
+ background-clip: padding;
-webkit-user-select: text;
+ -ms-user-select: text;
+ -moz-user-select: text;
}
.styles-section:not(.first-styles-section) {
@@ -4154,6 +4395,8 @@ a.worker-item {
padding-right: 5px;
vertical-align: sub;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
cursor: default;
}
@@ -4161,6 +4404,8 @@ a.worker-item {
white-space: nowrap;
-webkit-background-origin: padding;
-webkit-background-clip: padding;
+ background-origin: padding;
+ background-clip: padding;
}
.styles-section .header .title {
@@ -4220,6 +4465,7 @@ a.worker-item {
display: none;
margin: 0;
-webkit-padding-start: 12px;
+ -moz-padding-start: 12px;
list-style: none;
}
@@ -4236,6 +4482,8 @@ a.worker-item {
margin-top: 0;
padding-right: 3px;
-webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none;
cursor: default;
}
@@ -4265,6 +4513,8 @@ a.worker-item {
vertical-align: top;
position: relative;
z-index: 1;
+ /*Removes checkbox padding that is set in IE by default*/
+ padding: 0;
}
.styles-section .properties .overloaded, .styles-section .properties .inactive, .styles-section .properties .disabled {
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.js
index 0959289..9707cb3 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/inspector.js
@@ -120,9 +120,14 @@ var WebInspector = {
this._previousFocusElement = this._currentFocusElement;
this._currentFocusElement = x;
- if (this._currentFocusElement) {
+ if (this._currentFocusElement && typeof(this._currentFocusElement.focus) === 'function') {
this._currentFocusElement.focus();
+ // Hack for IE - return if 'select' is in focus; otherwise it will lost the focus after we call addRange.
+ if(this._currentFocusElement.nodeName.toUpperCase() == 'SELECT'){
+ return;
+ }
+
// Make a caret selection inside the new element if there isn't a range selection and
// there isn't already a caret selection inside.
var selection = window.getSelection();
@@ -134,7 +139,8 @@ var WebInspector = {
selection.removeAllRanges();
selection.addRange(selectionRange);
}
- } else if (this._previousFocusElement)
+ } // Hack for IE - do not call blur() for body element; otherwise browser window will become inactive
+ else if (this._previousFocusElement && this._previousFocusElement.nodeName.toUpperCase() != 'BODY')
this._previousFocusElement.blur();
},
@@ -755,9 +761,9 @@ WebInspector.documentKeyDown = function(event)
var isInputElement = event.target.nodeName === "INPUT";
var isInEditMode = event.target.enclosingNodeOrSelfWithClass("text-prompt") || WebInspector.isEditingAnyField();
const helpKey = WebInspector.isMac() ? "U+003F" : "U+00BF"; // "?" for both platforms
-
- if (event.keyIdentifier === "F1" ||
- (event.keyIdentifier === helpKey && event.shiftKey && (!isInEditMode && !isInputElement || event.metaKey))) {
+ var key = event.keyIdentifier || event.key;
+ if (key === "F1" ||
+ (key === helpKey && event.shiftKey && (!isInEditMode && !isInputElement || event.metaKey))) {
WebInspector.shortcutsHelp.show();
event.stopPropagation();
event.preventDefault();
@@ -784,7 +790,7 @@ WebInspector.documentKeyDown = function(event)
}
var isMac = WebInspector.isMac();
- switch (event.keyIdentifier) {
+ switch (key) {
case "Left":
var isBackKey = !isInEditMode && (isMac ? event.metaKey : event.ctrlKey);
if (isBackKey && this._panelHistory.canGoBack()) {
@@ -1562,7 +1568,7 @@ WebInspector._searchKeyDown = function(event)
WebInspector.performSearch = function(event)
{
- var forceSearch = event.keyIdentifier === "Enter";
+ var forceSearch = (event.keyIdentifier || event.key) === "Enter";
this.doPerformSearch(event.target.value, forceSearch, event.shiftKey, false);
}
@@ -1732,6 +1738,7 @@ WebInspector.startEditing = function(element, config)
var moveDirection = "";
element.addStyleClass("editing");
+ element.setAttribute("contenteditable", "true");
var oldTabIndex = element.tabIndex;
if (element.tabIndex < 0)
@@ -1753,6 +1760,8 @@ WebInspector.startEditing = function(element, config)
delete WebInspector.__editing;
this.removeStyleClass("editing");
+ this.removeAttribute("contenteditable");
+
this.tabIndex = oldTabIndex;
this.scrollTop = 0;
this.scrollLeft = 0;
@@ -1794,7 +1803,7 @@ WebInspector.startEditing = function(element, config)
return "commit";
else if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Esc.code)
return "cancel";
- else if (event.keyIdentifier === "U+0009") // Tab key
+ else if ((event.keyIdentifier || event.key) === "U+0009") // Tab key
return "move-" + (event.shiftKey ? "backward" : "forward");
}
@@ -1810,7 +1819,7 @@ WebInspector.startEditing = function(element, config)
event.stopPropagation();
} else if (result && result.indexOf("move-") === 0) {
moveDirection = result.substring(5);
- if (event.keyIdentifier !== "U+0009")
+ if ((event.keyIdentifier || event.key) !== "U+0009")
blurEventListener();
}
}
http://git-wip-us.apache.org/repos/asf/cordova-weinre/blob/4992e917/weinre.build/vendor/webkit/WebCore/inspector/front-end/utilities.js
----------------------------------------------------------------------
diff --git a/weinre.build/vendor/webkit/WebCore/inspector/front-end/utilities.js b/weinre.build/vendor/webkit/WebCore/inspector/front-end/utilities.js
index 64670e1..f64ed53 100644
--- a/weinre.build/vendor/webkit/WebCore/inspector/front-end/utilities.js
+++ b/weinre.build/vendor/webkit/WebCore/inspector/front-end/utilities.js
@@ -280,21 +280,21 @@ Element.prototype.createChild = function(elementName, className)
return element;
}
-Element.prototype.__defineGetter__("totalOffsetLeft", function()
+Object.defineProperty(Element.prototype, "totalOffsetLeft", {get: function()
{
var total = 0;
for (var element = this; element; element = element.offsetParent)
total += element.offsetLeft + (this !== element ? element.clientLeft : 0);
return total;
-});
+}});
-Element.prototype.__defineGetter__("totalOffsetTop", function()
+Object.defineProperty(Element.prototype, "totalOffsetTop", {get: function()
{
var total = 0;
for (var element = this; element; element = element.offsetParent)
total += element.offsetTop + (this !== element ? element.clientTop : 0);
return total;
-});
+}});
Element.prototype.offsetRelativeToWindow = function(targetWindow)
{
@@ -314,7 +314,7 @@ Element.prototype.offsetRelativeToWindow = function(targetWindow)
return elementOffset;
}
-KeyboardEvent.prototype.__defineGetter__("data", function()
+Object.defineProperty(KeyboardEvent.prototype, "data", {get: function()
{
// Emulate "data" attribute from DOM 3 TextInput event.
// See http://www.w3.org/TR/DOM-Level-3-Events/#events-Events-TextEvent-data
@@ -331,7 +331,7 @@ KeyboardEvent.prototype.__defineGetter__("data", function()
else
return "";
}
-});
+}});
Text.prototype.select = function(start, end)
{
@@ -350,7 +350,7 @@ Text.prototype.select = function(start, end)
return this;
}
-Element.prototype.__defineGetter__("selectionLeftOffset", function() {
+Object.defineProperty(Element.prototype, "selectionLeftOffset", {get: function() {
// Calculate selection offset relative to the current element.
var selection = window.getSelection();
@@ -369,7 +369,7 @@ Element.prototype.__defineGetter__("selectionLeftOffset", function() {
}
return leftOffset;
-});
+}});
Node.prototype.isWhitespace = isNodeWhitespace;
Node.prototype.displayName = nodeDisplayName;
@@ -1017,7 +1017,7 @@ String.format = function(format, substitutions, formatters, initialValue, append
function isEnterKey(event) {
// Check if in IME.
- return event.keyCode !== 229 && event.keyIdentifier === "Enter";
+ return (event.keyCode !== 229 && event.keyIdentifier === "Enter") || event.keyCode == 13 || event.charCode == 13;
}