Bug 679753 - Remove Scratchpad's status bar, the Environment menu and the Tools menu; r=ehsan,rcampbell,dao
|
@ -983,11 +983,12 @@
|
|||
label="&inspectButton.label;"
|
||||
accesskey="&inspectButton.accesskey;"
|
||||
command="Inspector:Inspect"/>
|
||||
<toolbarseparator/>
|
||||
<arrowscrollbox id="inspector-breadcrumbs"
|
||||
flex="1" orient="horizontal"
|
||||
clicktoscroll="true"/>
|
||||
<hbox id="inspector-tools">
|
||||
<!-- registered tools go here -->
|
||||
</hbox>
|
||||
<spacer flex="1"/>
|
||||
<resizer id="inspector-end-resizer"
|
||||
class="inspector-resizer"
|
||||
dir="top" disabled="true"
|
||||
|
|
|
@ -36,6 +36,10 @@
|
|||
z-index: 1;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
/*
|
||||
* Node Infobar
|
||||
*/
|
||||
|
|
|
@ -49,6 +49,7 @@ var EXPORTED_SYMBOLS = ["InspectorUI"];
|
|||
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
Cu.import("resource:///modules/TreePanel.jsm");
|
||||
|
||||
const INSPECTOR_INVISIBLE_ELEMENTS = {
|
||||
"head": true,
|
||||
|
@ -874,9 +875,8 @@ InspectorUI.prototype = {
|
|||
|
||||
this.initTools();
|
||||
|
||||
if (!this.TreePanel && this.treePanelEnabled) {
|
||||
Cu.import("resource:///modules/TreePanel.jsm", this);
|
||||
this.treePanel = new this.TreePanel(this.chromeWin, this);
|
||||
if (this.treePanelEnabled) {
|
||||
this.treePanel = new TreePanel(this.chromeWin, this);
|
||||
}
|
||||
|
||||
if (Services.prefs.getBoolPref("devtools.styleinspector.enabled") &&
|
||||
|
@ -887,6 +887,9 @@ InspectorUI.prototype = {
|
|||
this.toolbar.hidden = false;
|
||||
this.inspectMenuitem.setAttribute("checked", true);
|
||||
|
||||
// initialize the HTML Breadcrumbs
|
||||
this.breadcrumbs = new HTMLBreadcrumbs(this);
|
||||
|
||||
this.isDirty = false;
|
||||
|
||||
this.progressListener = new InspectorProgressListener(this);
|
||||
|
@ -999,6 +1002,11 @@ InspectorUI.prototype = {
|
|||
this.highlighter = null;
|
||||
}
|
||||
|
||||
if (this.breadcrumbs) {
|
||||
this.breadcrumbs.destroy();
|
||||
this.breadcrumbs = null;
|
||||
}
|
||||
|
||||
this.inspectMenuitem.setAttribute("checked", false);
|
||||
this.browser = this.win = null; // null out references to browser and window
|
||||
this.winID = null;
|
||||
|
@ -1009,7 +1017,6 @@ InspectorUI.prototype = {
|
|||
delete this.treePanel;
|
||||
delete this.stylePanel;
|
||||
delete this.toolbar;
|
||||
delete this.TreePanel;
|
||||
Services.obs.notifyObservers(null, INSPECTOR_NOTIFICATIONS.CLOSED, null);
|
||||
},
|
||||
|
||||
|
@ -1093,6 +1100,8 @@ InspectorUI.prototype = {
|
|||
}
|
||||
}
|
||||
|
||||
this.breadcrumbs.update();
|
||||
|
||||
this.toolsSelect(aScroll);
|
||||
},
|
||||
|
||||
|
@ -1888,6 +1897,456 @@ InspectorProgressListener.prototype = {
|
|||
},
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//// HTML Breadcrumbs
|
||||
|
||||
/**
|
||||
* Display the ancestors of the current node and its children.
|
||||
* Only one "branch" of children are displayed (only one line).
|
||||
*
|
||||
* Mechanism:
|
||||
* . If no nodes displayed yet:
|
||||
* then display the ancestor of the selected node and the selected node;
|
||||
* else select the node;
|
||||
* . If the selected node is the last node displayed, append its first (if any).
|
||||
*
|
||||
* @param object aInspector
|
||||
* The InspectorUI instance.
|
||||
*/
|
||||
function HTMLBreadcrumbs(aInspector)
|
||||
{
|
||||
this.IUI = aInspector;
|
||||
this.DOMHelpers = new DOMHelpers(this.IUI.win);
|
||||
this._init();
|
||||
}
|
||||
|
||||
HTMLBreadcrumbs.prototype = {
|
||||
_init: function BC__init()
|
||||
{
|
||||
this.container = this.IUI.chromeDoc.getElementById("inspector-breadcrumbs");
|
||||
this.container.addEventListener("mousedown", this, true);
|
||||
|
||||
// We will save a list of already displayed nodes in this array.
|
||||
this.nodeHierarchy = [];
|
||||
|
||||
// Last selected node in nodeHierarchy.
|
||||
this.currentIndex = -1;
|
||||
|
||||
// Siblings menu
|
||||
this.menu = this.IUI.chromeDoc.createElement("menupopup");
|
||||
this.menu.id = "inspector-breadcrumbs-menu";
|
||||
|
||||
let popupSet = this.IUI.chromeDoc.getElementById("mainPopupSet");
|
||||
popupSet.appendChild(this.menu);
|
||||
|
||||
this.menu.addEventListener("popuphiding", (function() {
|
||||
while (this.menu.hasChildNodes()) {
|
||||
this.menu.removeChild(this.menu.firstChild);
|
||||
}
|
||||
let button = this.container.querySelector("button[siblings-menu-open]");
|
||||
button.removeAttribute("siblings-menu-open");
|
||||
}).bind(this), false);
|
||||
},
|
||||
|
||||
/**
|
||||
* Build a string that represents the node: tagName#id.class1.class2.
|
||||
*
|
||||
* @param aNode The node to pretty-print
|
||||
* @returns a string
|
||||
*/
|
||||
prettyPrintNodeAsText: function BC_prettyPrintNodeText(aNode)
|
||||
{
|
||||
let text = aNode.tagName.toLowerCase();
|
||||
if (aNode.id) {
|
||||
text += "#" + aNode.id;
|
||||
}
|
||||
for (let i = 0; i < aNode.classList.length; i++) {
|
||||
text += "." + aNode.classList[i];
|
||||
}
|
||||
return text;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Build <label>s that represent the node:
|
||||
* <label class="inspector-breadcrumbs-tag">tagName</label>
|
||||
* <label class="inspector-breadcrumbs-id">#id</label>
|
||||
* <label class="inspector-breadcrumbs-classes">.class1.class2</label>
|
||||
*
|
||||
* @param aNode The node to pretty-print
|
||||
* @returns a document fragment.
|
||||
*/
|
||||
prettyPrintNodeAsXUL: function BC_prettyPrintNodeXUL(aNode)
|
||||
{
|
||||
let fragment = this.IUI.chromeDoc.createDocumentFragment();
|
||||
|
||||
let tagLabel = this.IUI.chromeDoc.createElement("label");
|
||||
tagLabel.className = "inspector-breadcrumbs-tag plain";
|
||||
|
||||
let idLabel = this.IUI.chromeDoc.createElement("label");
|
||||
idLabel.className = "inspector-breadcrumbs-id plain";
|
||||
|
||||
let classesLabel = this.IUI.chromeDoc.createElement("label");
|
||||
classesLabel.className = "inspector-breadcrumbs-classes plain";
|
||||
|
||||
tagLabel.textContent = aNode.tagName.toLowerCase();
|
||||
idLabel.textContent = aNode.id ? ("#" + aNode.id) : "";
|
||||
|
||||
let classesText = "";
|
||||
for (let i = 0; i < aNode.classList.length; i++) {
|
||||
classesText += "." + aNode.classList[i];
|
||||
}
|
||||
classesLabel.textContent = classesText;
|
||||
|
||||
fragment.appendChild(tagLabel);
|
||||
fragment.appendChild(idLabel);
|
||||
fragment.appendChild(classesLabel);
|
||||
|
||||
return fragment;
|
||||
},
|
||||
|
||||
/**
|
||||
* Open the sibling menu.
|
||||
*
|
||||
* @param aButton the button representing the node.
|
||||
* @param aNode the node we want the siblings from.
|
||||
*/
|
||||
openSiblingMenu: function BC_openSiblingMenu(aButton, aNode)
|
||||
{
|
||||
let title = this.IUI.chromeDoc.createElement("menuitem");
|
||||
title.setAttribute("label",
|
||||
this.IUI.strings.GetStringFromName("breadcrumbs.siblings"));
|
||||
title.setAttribute("disabled", "true");
|
||||
|
||||
let separator = this.IUI.chromeDoc.createElement("menuseparator");
|
||||
|
||||
this.menu.appendChild(title);
|
||||
this.menu.appendChild(separator);
|
||||
|
||||
let fragment = this.IUI.chromeDoc.createDocumentFragment();
|
||||
|
||||
let nodes = aNode.parentNode.childNodes;
|
||||
for (let i = 0; i < nodes.length; i++) {
|
||||
if (nodes[i].nodeType == aNode.ELEMENT_NODE) {
|
||||
let item = this.IUI.chromeDoc.createElement("menuitem");
|
||||
let inspector = this.IUI;
|
||||
if (nodes[i] === aNode) {
|
||||
item.setAttribute("disabled", "true");
|
||||
item.setAttribute("checked", "true");
|
||||
}
|
||||
|
||||
item.setAttribute("type", "radio");
|
||||
item.setAttribute("label", this.prettyPrintNodeAsText(nodes[i]));
|
||||
|
||||
item.onmouseup = (function(aNode) {
|
||||
return function() {
|
||||
inspector.select(aNode, true, true);
|
||||
}
|
||||
})(nodes[i]);
|
||||
|
||||
fragment.appendChild(item);
|
||||
}
|
||||
}
|
||||
this.menu.appendChild(fragment);
|
||||
this.menu.openPopup(aButton, "before_start", 0, 0, true, false);
|
||||
},
|
||||
|
||||
/**
|
||||
* Generic event handler.
|
||||
*
|
||||
* @param nsIDOMEvent aEvent
|
||||
* The DOM event object.
|
||||
*/
|
||||
handleEvent: function BC_handleEvent(aEvent)
|
||||
{
|
||||
if (aEvent.type == "mousedown") {
|
||||
// on Click and Hold, open the Siblings menu
|
||||
|
||||
let timer;
|
||||
let container = this.container;
|
||||
let window = this.IUI.win;
|
||||
|
||||
function openMenu(aEvent) {
|
||||
cancelHold();
|
||||
let target = aEvent.originalTarget;
|
||||
if (target.tagName == "button") {
|
||||
target.onBreadcrumbsHold();
|
||||
target.setAttribute("siblings-menu-open", "true");
|
||||
}
|
||||
}
|
||||
|
||||
function handleClick(aEvent) {
|
||||
cancelHold();
|
||||
let target = aEvent.originalTarget;
|
||||
if (target.tagName == "button") {
|
||||
target.onBreadcrumbsClick();
|
||||
}
|
||||
}
|
||||
|
||||
function cancelHold(aEvent) {
|
||||
window.clearTimeout(timer);
|
||||
container.removeEventListener("mouseout", cancelHold, false);
|
||||
container.removeEventListener("mouseup", handleClick, false);
|
||||
}
|
||||
|
||||
container.addEventListener("mouseout", cancelHold, false);
|
||||
container.addEventListener("mouseup", handleClick, false);
|
||||
timer = window.setTimeout(openMenu, 500, aEvent);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove nodes and delete properties.
|
||||
*/
|
||||
destroy: function BC_destroy()
|
||||
{
|
||||
this.empty();
|
||||
this.container.removeEventListener("mousedown", this, true);
|
||||
this.menu.parentNode.removeChild(this.menu);
|
||||
this.container = null;
|
||||
this.nodeHierarchy = null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Empty the breadcrumbs container.
|
||||
*/
|
||||
empty: function BC_empty()
|
||||
{
|
||||
while (this.container.hasChildNodes()) {
|
||||
this.container.removeChild(this.container.firstChild);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Re-init the cache and remove all the buttons.
|
||||
*/
|
||||
invalidateHierarchy: function BC_invalidateHierarchy()
|
||||
{
|
||||
this.menu.hidePopup();
|
||||
this.nodeHierarchy = [];
|
||||
this.empty();
|
||||
},
|
||||
|
||||
/**
|
||||
* Set which button represent the selected node.
|
||||
*
|
||||
* @param aIdx Index of the displayed-button to select
|
||||
*/
|
||||
setCursor: function BC_setCursor(aIdx)
|
||||
{
|
||||
// Unselect the previously selected button
|
||||
if (this.currentIndex > -1 && this.currentIndex < this.nodeHierarchy.length) {
|
||||
this.nodeHierarchy[this.currentIndex].button.removeAttribute("checked");
|
||||
}
|
||||
if (aIdx > -1) {
|
||||
this.nodeHierarchy[aIdx].button.setAttribute("checked", "true");
|
||||
}
|
||||
this.currentIndex = aIdx;
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the index of the node in the cache.
|
||||
*
|
||||
* @param aNode
|
||||
* @returns integer the index, -1 if not found
|
||||
*/
|
||||
indexOf: function BC_indexOf(aNode)
|
||||
{
|
||||
let i = this.nodeHierarchy.length - 1;
|
||||
for (let i = this.nodeHierarchy.length - 1; i >= 0; i--) {
|
||||
if (this.nodeHierarchy[i].node === aNode) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove all the buttons and their references in the cache
|
||||
* after a given index.
|
||||
*
|
||||
* @param aIdx
|
||||
*/
|
||||
cutAfter: function BC_cutAfter(aIdx)
|
||||
{
|
||||
while (this.nodeHierarchy.length > (aIdx + 1)) {
|
||||
let toRemove = this.nodeHierarchy.pop();
|
||||
this.container.removeChild(toRemove.button);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Build a button representing the node.
|
||||
*
|
||||
* @param aNode The node from the page.
|
||||
* @returns aNode The <button>.
|
||||
*/
|
||||
buildButton: function BC_buildButton(aNode)
|
||||
{
|
||||
let button = this.IUI.chromeDoc.createElement("button");
|
||||
let inspector = this.IUI;
|
||||
button.appendChild(this.prettyPrintNodeAsXUL(aNode));
|
||||
button.className = "inspector-breadcrumbs-button";
|
||||
|
||||
button.setAttribute("tooltiptext", this.prettyPrintNodeAsText(aNode));
|
||||
|
||||
button.onBreadcrumbsClick = function onBreadcrumbsClick() {
|
||||
inspector.stopInspecting();
|
||||
inspector.select(aNode, true, true);
|
||||
};
|
||||
|
||||
button.onclick = (function _onBreadcrumbsRightClick(aEvent) {
|
||||
if (aEvent.button == 2) {
|
||||
this.openSiblingMenu(button, aNode);
|
||||
}
|
||||
}).bind(this);
|
||||
|
||||
button.onBreadcrumbsHold = (function _onBreadcrumbsHold() {
|
||||
this.openSiblingMenu(button, aNode);
|
||||
}).bind(this);
|
||||
return button;
|
||||
},
|
||||
|
||||
/**
|
||||
* Connecting the end of the breadcrumbs to a node.
|
||||
*
|
||||
* @param aNode The node to reach.
|
||||
*/
|
||||
expand: function BC_expand(aNode)
|
||||
{
|
||||
let fragment = this.IUI.chromeDoc.createDocumentFragment();
|
||||
let toAppend = aNode;
|
||||
let lastButtonInserted = null;
|
||||
let originalLength = this.nodeHierarchy.length;
|
||||
let stopNode = null;
|
||||
if (originalLength > 0) {
|
||||
stopNode = this.nodeHierarchy[originalLength - 1].node;
|
||||
}
|
||||
while (toAppend && toAppend.tagName && toAppend != stopNode) {
|
||||
let button = this.buildButton(toAppend);
|
||||
fragment.insertBefore(button, lastButtonInserted);
|
||||
lastButtonInserted = button;
|
||||
this.nodeHierarchy.splice(originalLength, 0, {node: toAppend, button: button});
|
||||
toAppend = this.DOMHelpers.getParentObject(toAppend);
|
||||
}
|
||||
this.container.appendChild(fragment, this.container.firstChild);
|
||||
},
|
||||
|
||||
/**
|
||||
* Get a child of a node that can be displayed in the breadcrumbs.
|
||||
* By default, we want a node that can highlighted by the highlighter.
|
||||
* If no highlightable child is found, we return the first node of type
|
||||
* ELEMENT_NODE.
|
||||
*
|
||||
* @param aNode The parent node.
|
||||
* @returns nsIDOMNode|null
|
||||
*/
|
||||
getFirstHighlightableChild: function BC_getFirstHighlightableChild(aNode)
|
||||
{
|
||||
let nextChild = this.DOMHelpers.getChildObject(aNode, 0);
|
||||
let fallback = null;
|
||||
|
||||
while (nextChild) {
|
||||
if (this.IUI.highlighter.isNodeHighlightable(nextChild)) {
|
||||
return nextChild;
|
||||
}
|
||||
if (!fallback && nextChild.nodeType == aNode.ELEMENT_NODE) {
|
||||
fallback = nextChild;
|
||||
}
|
||||
nextChild = this.DOMHelpers.getNextSibling(nextChild);
|
||||
}
|
||||
return fallback;
|
||||
},
|
||||
|
||||
/**
|
||||
* Find the "youngest" ancestor of a node which is already in the breadcrumbs.
|
||||
*
|
||||
* @param aNode
|
||||
* @returns Index of the ancestor in the cache
|
||||
*/
|
||||
getCommonAncestor: function BC_getCommonAncestor(aNode)
|
||||
{
|
||||
let node = aNode;
|
||||
while (node) {
|
||||
let idx = this.indexOf(node);
|
||||
if (idx > -1) {
|
||||
return idx;
|
||||
} else {
|
||||
node = this.DOMHelpers.getParentObject(node);
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
|
||||
/**
|
||||
* Make sure that the latest node in the breadcrumbs is not the selected node
|
||||
* if the selected node still has children.
|
||||
*/
|
||||
ensureFirstChild: function BC_ensureFirstChild()
|
||||
{
|
||||
// If the last displayed node is the selected node
|
||||
if (this.currentIndex == this.nodeHierarchy.length - 1) {
|
||||
let node = this.nodeHierarchy[this.currentIndex].node;
|
||||
let child = this.getFirstHighlightableChild(node);
|
||||
// If the node has a child
|
||||
if (child) {
|
||||
// Show this child
|
||||
this.expand(child);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Ensure the selected node is visible.
|
||||
*/
|
||||
scroll: function BC_scroll()
|
||||
{
|
||||
// FIXME bug 684352: make sure its immediate neighbors are visible too.
|
||||
|
||||
let scrollbox = this.container;
|
||||
let element = this.nodeHierarchy[this.currentIndex].button;
|
||||
scrollbox.ensureElementIsVisible(element);
|
||||
},
|
||||
|
||||
/**
|
||||
* Update the breadcrumbs display when a new node is selected.
|
||||
*/
|
||||
update: function BC_update()
|
||||
{
|
||||
this.menu.hidePopup();
|
||||
|
||||
let selection = this.IUI.selection;
|
||||
let idx = this.indexOf(selection);
|
||||
|
||||
// Is the node already displayed in the breadcrumbs?
|
||||
if (idx > -1) {
|
||||
// Yes. We select it.
|
||||
this.setCursor(idx);
|
||||
} else {
|
||||
// No. Is the breadcrumbs display empty?
|
||||
if (this.nodeHierarchy.length > 0) {
|
||||
// No. We drop all the element that are not direct ancestors
|
||||
// of the selection
|
||||
let parent = this.DOMHelpers.getParentObject(selection);
|
||||
let idx = this.getCommonAncestor(parent);
|
||||
this.cutAfter(idx);
|
||||
}
|
||||
// we append the missing button between the end of the breadcrumbs display
|
||||
// and the current node.
|
||||
this.expand(selection);
|
||||
|
||||
// we select the current node button
|
||||
idx = this.indexOf(selection);
|
||||
this.setCursor(idx);
|
||||
}
|
||||
// Add the first child of the very last node of the breadcrumbs if possible.
|
||||
this.ensureFirstChild();
|
||||
|
||||
// Make sure the selected node and its neighbours are visible.
|
||||
this.scroll();
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//// Initializers
|
||||
|
||||
|
|
|
@ -63,6 +63,8 @@ _BROWSER_FILES = \
|
|||
browser_inspector_bug_690361.js \
|
||||
browser_inspector_bug_672902_keyboard_shortcuts.js \
|
||||
browser_inspector_keybindings.js \
|
||||
browser_inspector_breadcrumbs.html \
|
||||
browser_inspector_breadcrumbs.js \
|
||||
$(NULL)
|
||||
|
||||
# Disabled due to constant failures
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
div {
|
||||
min-height: 10px; min-width: 10px;
|
||||
border: 1px solid red;
|
||||
margin: 10px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<article id="i1">
|
||||
<div id="i11">
|
||||
<div id="i111">
|
||||
<div id="i1111">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
<article id="i2">
|
||||
<div id="i21">
|
||||
<div id="i211">
|
||||
<div id="i2111">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="i22">
|
||||
<div id="i221">
|
||||
</div>
|
||||
<div id="i222">
|
||||
<div id="i2221">
|
||||
<div id="i22211">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,105 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
function test()
|
||||
{
|
||||
waitForExplicitFinish();
|
||||
|
||||
let nodes = [
|
||||
{nodeId: "i1111", result: "i1 i11 i111 i1111"},
|
||||
{nodeId: "i22", result: "i2 i22 i221"},
|
||||
{nodeId: "i2111", result: "i2 i21 i211 i2111"},
|
||||
{nodeId: "i21", result: "i2 i21 i211 i2111"},
|
||||
{nodeId: "i22211", result: "i2 i22 i222 i2221 i22211"},
|
||||
{nodeId: "i22", result: "i2 i22 i222 i2221 i22211"},
|
||||
];
|
||||
|
||||
let doc;
|
||||
let nodes;
|
||||
let cursor;
|
||||
|
||||
gBrowser.selectedTab = gBrowser.addTab();
|
||||
gBrowser.selectedBrowser.addEventListener("load", function onload() {
|
||||
gBrowser.selectedBrowser.removeEventListener("load", onload, true);
|
||||
doc = content.document;
|
||||
waitForFocus(setupTest, content);
|
||||
}, true);
|
||||
|
||||
content.location = "http://mochi.test:8888/browser/browser/devtools/highlighter/test/browser_inspector_breadcrumbs.html";
|
||||
|
||||
function setupTest()
|
||||
{
|
||||
for (let i = 0; i < nodes.length; i++) {
|
||||
let node = doc.getElementById(nodes[i].nodeId);
|
||||
nodes[i].node = node;
|
||||
ok(nodes[i].node, "node " + nodes[i].nodeId + " found");
|
||||
}
|
||||
|
||||
Services.obs.addObserver(runTests,
|
||||
InspectorUI.INSPECTOR_NOTIFICATIONS.OPENED, false);
|
||||
InspectorUI.toggleInspectorUI();
|
||||
}
|
||||
|
||||
function runTests()
|
||||
{
|
||||
Services.obs.removeObserver(runTests,
|
||||
InspectorUI.INSPECTOR_NOTIFICATIONS.OPENED);
|
||||
|
||||
cursor = 0;
|
||||
executeSoon(function() {
|
||||
Services.obs.addObserver(nodeSelected,
|
||||
InspectorUI.INSPECTOR_NOTIFICATIONS.HIGHLIGHTING, false);
|
||||
|
||||
InspectorUI.inspectNode(nodes[0].node);
|
||||
});
|
||||
}
|
||||
|
||||
function nodeSelected()
|
||||
{
|
||||
executeSoon(function() {
|
||||
performTest();
|
||||
cursor++;
|
||||
if (cursor >= nodes.length) {
|
||||
|
||||
Services.obs.removeObserver(nodeSelected,
|
||||
InspectorUI.INSPECTOR_NOTIFICATIONS.HIGHLIGHTING);
|
||||
Services.obs.addObserver(finishUp,
|
||||
InspectorUI.INSPECTOR_NOTIFICATIONS.CLOSED, false);
|
||||
|
||||
executeSoon(function() {
|
||||
InspectorUI.closeInspectorUI();
|
||||
});
|
||||
} else {
|
||||
let node = nodes[cursor].node;
|
||||
InspectorUI.inspectNode(node);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function performTest()
|
||||
{
|
||||
let container = document.getElementById("inspector-breadcrumbs");
|
||||
let buttonsLabelIds = nodes[cursor].result.split(" ");
|
||||
|
||||
// html > body > …
|
||||
is(container.childNodes.length, buttonsLabelIds.length + 2, "Node " + cursor + ": Items count");
|
||||
|
||||
for (let i = 2; i < container.childNodes.length; i++) {
|
||||
let expectedId = "#" + buttonsLabelIds[i - 2];
|
||||
let button = container.childNodes[i];
|
||||
let labelId = button.querySelector(".inspector-breadcrumbs-id");
|
||||
is(labelId.textContent, expectedId, "Node " + cursor + ": button " + i + " matches");
|
||||
}
|
||||
|
||||
let checkedButton = container.querySelector("button[checked]");
|
||||
let labelId = checkedButton.querySelector(".inspector-breadcrumbs-id");
|
||||
is(labelId.textContent, "#" + InspectorUI.selection.id, "Node " + cursor + ": selection matches");
|
||||
}
|
||||
|
||||
function finishUp() {
|
||||
Services.obs.removeObserver(finishUp, InspectorUI.INSPECTOR_NOTIFICATIONS.CLOSED);
|
||||
doc = nodes = null;
|
||||
gBrowser.removeCurrentTab();
|
||||
finish();
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ confirmNavigationAway.buttonLeaveAccesskey=L
|
|||
confirmNavigationAway.buttonStay=Stay on Page
|
||||
confirmNavigationAway.buttonStayAccesskey=S
|
||||
|
||||
breadcrumbs.siblings=Siblings
|
||||
# LOCALIZATION NOTE (htmlPanel): Used in the Inspector tool's openInspectorUI
|
||||
# method when registering the HTML panel.
|
||||
|
||||
|
|
|
@ -2086,3 +2086,161 @@ panel[dimmed="true"] {
|
|||
#highlighter-nodeinfobar-container[hide-arrow] > #highlighter-nodeinfobar {
|
||||
margin: 7px 0;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs */
|
||||
|
||||
#inspector-breadcrumbs {
|
||||
padding: 0 6px;
|
||||
/* A fake 1px-shadow is included in the border-images of the
|
||||
inspector-breadcrumbs-buttons, to match toolbar-buttons style.
|
||||
This negative margin compensate the extra row of pixels created
|
||||
by the shadow.*/
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button {
|
||||
-moz-appearance: none;
|
||||
background-color: transparent;
|
||||
border-width: 1px 13px 2px 13px;
|
||||
color: hsl(210,30%,85%);
|
||||
max-width: 85px;
|
||||
/* The content of the button can be larger than the button */
|
||||
overflow: hidden;
|
||||
min-height: 25px;
|
||||
|
||||
margin: 0 -11px 0 0;
|
||||
padding: 0 9px;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] > .inspector-breadcrumbs-tag {
|
||||
color: hsl(208,100%,60%);
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] > .inspector-breadcrumbs-id {
|
||||
color: hsl(205,100%,70%);
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-id,
|
||||
.inspector-breadcrumbs-classes {
|
||||
color: #8d99a6;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs - LTR */
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(ltr):first-of-type {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:not([checked]),
|
||||
.inspector-breadcrumbs-button:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked][siblings-menu-open],
|
||||
.inspector-breadcrumbs-button[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type:not([checked]),
|
||||
.inspector-breadcrumbs-button:first-of-type:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type[checked],
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type:not([checked]),
|
||||
.inspector-breadcrumbs-button:last-of-type:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type[checked],
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs - RTL */
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(rtl):first-of-type {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked][siblings-menu-open]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:first-of-type:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type[checked]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:last-of-type:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type[checked]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
|
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-end-pressed.png
Normal file
После Ширина: | Высота: | Размер: 869 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-end-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 879 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-end-selected.png
Normal file
После Ширина: | Высота: | Размер: 879 B |
После Ширина: | Высота: | Размер: 610 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-middle-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1012 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-middle-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1.0 KiB |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-middle-selected.png
Normal file
После Ширина: | Высота: | Размер: 982 B |
После Ширина: | Высота: | Размер: 640 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-start-pressed.png
Normal file
После Ширина: | Высота: | Размер: 855 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-start-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 838 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/ltr-start-selected.png
Normal file
После Ширина: | Высота: | Размер: 858 B |
После Ширина: | Высота: | Размер: 646 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-end-pressed.png
Normal file
После Ширина: | Высота: | Размер: 872 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-end-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 871 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-end-selected.png
Normal file
После Ширина: | Высота: | Размер: 871 B |
После Ширина: | Высота: | Размер: 600 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-middle-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1004 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-middle-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1007 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-middle-selected.png
Normal file
После Ширина: | Высота: | Размер: 957 B |
После Ширина: | Высота: | Размер: 624 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-start-pressed.png
Normal file
После Ширина: | Высота: | Размер: 846 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-start-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 840 B |
Двоичные данные
browser/themes/gnomestripe/browser/devtools/breadcrumbs/rtl-start-selected.png
Normal file
После Ширина: | Высота: | Размер: 854 B |
После Ширина: | Высота: | Размер: 637 B |
|
@ -87,6 +87,8 @@ browser.jar:
|
|||
skin/classic/browser/devtools/search.png (devtools/search.png)
|
||||
skin/classic/browser/devtools/csshtmltree.css (devtools/csshtmltree.css)
|
||||
skin/classic/browser/devtools/gcli.css (devtools/gcli.css)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end-pressed.png (devtools/breadcrumbs/ltr-end-pressed.png)
|
||||
|
||||
#ifdef MOZ_SERVICES_SYNC
|
||||
skin/classic/browser/sync-16-throbber.png
|
||||
skin/classic/browser/sync-16.png
|
||||
|
|
|
@ -2681,3 +2681,160 @@ panel[dimmed="true"] {
|
|||
#highlighter-nodeinfobar-container[hide-arrow] > #highlighter-nodeinfobar {
|
||||
margin: 7px 0;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs */
|
||||
|
||||
#inspector-breadcrumbs {
|
||||
padding: 0 6px;
|
||||
/* A fake 1px-shadow is included in the border-images of the
|
||||
inspector-breadcrumbs-buttons, to match toolbar-buttons style.
|
||||
This negative margin compensate the extra row of pixels created
|
||||
by the shadow.*/
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button {
|
||||
-moz-appearance: none;
|
||||
border-width: 1px 13px 2px 13px;
|
||||
color: hsl(210,30%,85%);
|
||||
max-width: 85px;
|
||||
/* The content of the button can be larger than the button */
|
||||
overflow: hidden;
|
||||
min-height: 25px;
|
||||
|
||||
margin: 0 -11px 0 0;
|
||||
padding: 0 9px;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] > .inspector-breadcrumbs-tag {
|
||||
color: hsl(208,100%,60%);
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] > .inspector-breadcrumbs-id {
|
||||
color: hsl(205,100%,70%);
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-id,
|
||||
.inspector-breadcrumbs-classes {
|
||||
color: #8d99a6;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs - LTR */
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(ltr):first-of-type {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:not([checked]),
|
||||
.inspector-breadcrumbs-button:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked][siblings-menu-open],
|
||||
.inspector-breadcrumbs-button[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type:not([checked]),
|
||||
.inspector-breadcrumbs-button:first-of-type:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type[checked],
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type:not([checked]),
|
||||
.inspector-breadcrumbs-button:last-of-type:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type[checked],
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs - RTL */
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(rtl):first-of-type {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked][siblings-menu-open]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:first-of-type:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type[checked]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:last-of-type:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-selected.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type[checked]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-selected-pressed.png") 1 13 2 13 stretch;
|
||||
}
|
||||
|
|
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-end-pressed.png
Normal file
После Ширина: | Высота: | Размер: 869 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-end-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 879 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-end-selected.png
Normal file
После Ширина: | Высота: | Размер: 879 B |
После Ширина: | Высота: | Размер: 610 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-middle-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1012 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-middle-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1.0 KiB |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-middle-selected.png
Normal file
После Ширина: | Высота: | Размер: 982 B |
После Ширина: | Высота: | Размер: 640 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-start-pressed.png
Normal file
После Ширина: | Высота: | Размер: 855 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-start-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 838 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/ltr-start-selected.png
Normal file
После Ширина: | Высота: | Размер: 858 B |
После Ширина: | Высота: | Размер: 646 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-end-pressed.png
Normal file
После Ширина: | Высота: | Размер: 872 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-end-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 871 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-end-selected.png
Normal file
После Ширина: | Высота: | Размер: 871 B |
После Ширина: | Высота: | Размер: 600 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-middle-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1004 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-middle-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 1007 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-middle-selected.png
Normal file
После Ширина: | Высота: | Размер: 957 B |
После Ширина: | Высота: | Размер: 624 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-start-pressed.png
Normal file
После Ширина: | Высота: | Размер: 846 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-start-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 840 B |
Двоичные данные
browser/themes/pinstripe/browser/devtools/breadcrumbs/rtl-start-selected.png
Normal file
После Ширина: | Высота: | Размер: 854 B |
После Ширина: | Высота: | Размер: 637 B |
|
@ -126,6 +126,31 @@ browser.jar:
|
|||
skin/classic/browser/devtools/search.png (devtools/search.png)
|
||||
skin/classic/browser/devtools/csshtmltree.css (devtools/csshtmltree.css)
|
||||
skin/classic/browser/devtools/gcli.css (devtools/gcli.css)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end-pressed.png (devtools/breadcrumbs/ltr-end-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end-selected-pressed.png (devtools/breadcrumbs/ltr-end-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end-selected.png (devtools/breadcrumbs/ltr-end-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end.png (devtools/breadcrumbs/ltr-end.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle-pressed.png (devtools/breadcrumbs/ltr-middle-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle-selected-pressed.png (devtools/breadcrumbs/ltr-middle-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle-selected.png (devtools/breadcrumbs/ltr-middle-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle.png (devtools/breadcrumbs/ltr-middle.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start-pressed.png (devtools/breadcrumbs/ltr-start-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start-selected-pressed.png (devtools/breadcrumbs/ltr-start-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start.png (devtools/breadcrumbs/ltr-start.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start-selected.png (devtools/breadcrumbs/ltr-start-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end-pressed.png (devtools/breadcrumbs/rtl-end-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end-selected-pressed.png (devtools/breadcrumbs/rtl-end-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end-selected.png (devtools/breadcrumbs/rtl-end-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end.png (devtools/breadcrumbs/rtl-end.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle-pressed.png (devtools/breadcrumbs/rtl-middle-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle-selected-pressed.png (devtools/breadcrumbs/rtl-middle-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle-selected.png (devtools/breadcrumbs/rtl-middle-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle.png (devtools/breadcrumbs/rtl-middle.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start-pressed.png (devtools/breadcrumbs/rtl-start-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start-selected-pressed.png (devtools/breadcrumbs/rtl-start-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start.png (devtools/breadcrumbs/rtl-start.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start-selected.png (devtools/breadcrumbs/rtl-start-selected.png)
|
||||
|
||||
#ifdef MOZ_SERVICES_SYNC
|
||||
skin/classic/browser/sync-throbber.png
|
||||
skin/classic/browser/sync-16.png
|
||||
|
|
|
@ -2779,3 +2779,162 @@ panel[dimmed="true"] {
|
|||
#highlighter-nodeinfobar-container[hide-arrow] > #highlighter-nodeinfobar {
|
||||
margin: 7px 0;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs */
|
||||
|
||||
#inspector-breadcrumbs {
|
||||
padding: 0 6px;
|
||||
/* A fake 1px-shadow is included in the border-images of the
|
||||
inspector-breadcrumbs-buttons, to match toolbar-buttons style.
|
||||
This negative margin compensate the extra row of pixels created
|
||||
by the shadow.*/
|
||||
margin: -1px 0;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button {
|
||||
-moz-appearance: none;
|
||||
background-color: transparent;
|
||||
border-width: 2px 13px;
|
||||
outline: none;
|
||||
color: hsl(210,30%,85%);
|
||||
max-width: 85px;
|
||||
/* The content of the button can be larger than the button */
|
||||
overflow: hidden;
|
||||
min-height: 25px;
|
||||
|
||||
margin: 0 -11px 0 0;
|
||||
padding: 0 9px;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] > .inspector-breadcrumbs-tag {
|
||||
color: hsl(200,100%,60%);
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] > .inspector-breadcrumbs-id {
|
||||
color: hsl(200,100%,70%);
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-id,
|
||||
.inspector-breadcrumbs-classes {
|
||||
color: #8d99a6;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs - LTR */
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(ltr):first-of-type {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:not([checked]),
|
||||
.inspector-breadcrumbs-button:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-selected.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked][siblings-menu-open],
|
||||
.inspector-breadcrumbs-button[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-middle-selected-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type:not([checked]),
|
||||
.inspector-breadcrumbs-button:first-of-type:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-selected.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type[checked],
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-start-selected-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type:not([checked]),
|
||||
.inspector-breadcrumbs-button:last-of-type:not([checked]):hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type[checked] {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-selected.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type[checked],
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:hover:active {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/ltr-end-selected-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
/* Highlighter toolbar - breadcrumbs - RTL */
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(rtl):first-of-type {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-selected.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[checked][siblings-menu-open]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-middle-selected-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:first-of-type:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-selected.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:first-of-type[checked]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:first-of-type[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-start-selected-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type:not([checked]):-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:last-of-type:not([checked]):hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-selected.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
||||
.inspector-breadcrumbs-button[siblings-menu-open]:last-of-type[checked]:-moz-locale-dir(rtl),
|
||||
.inspector-breadcrumbs-button:last-of-type[checked]:hover:active:-moz-locale-dir(rtl) {
|
||||
-moz-border-image: url("chrome://browser/skin/devtools/breadcrumbs/rtl-end-selected-pressed.png") 2 13 2 13 stretch;
|
||||
}
|
||||
|
|
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-end-pressed.png
Normal file
После Ширина: | Высота: | Размер: 889 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-end-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 450 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-end-selected.png
Normal file
После Ширина: | Высота: | Размер: 461 B |
После Ширина: | Высота: | Размер: 749 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-middle-pressed.png
Normal file
После Ширина: | Высота: | Размер: 964 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-middle-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 469 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-middle-selected.png
Normal file
После Ширина: | Высота: | Размер: 472 B |
После Ширина: | Высота: | Размер: 694 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-start-pressed.png
Normal file
После Ширина: | Высота: | Размер: 877 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-start-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 452 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/ltr-start-selected.png
Normal file
После Ширина: | Высота: | Размер: 445 B |
После Ширина: | Высота: | Размер: 802 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-end-pressed.png
Normal file
После Ширина: | Высота: | Размер: 923 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-end-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 529 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-end-selected.png
Normal file
После Ширина: | Высота: | Размер: 570 B |
После Ширина: | Высота: | Размер: 679 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-middle-pressed.png
Normal file
После Ширина: | Высота: | Размер: 923 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-middle-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 537 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-middle-selected.png
Normal file
После Ширина: | Высота: | Размер: 566 B |
После Ширина: | Высота: | Размер: 656 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-start-pressed.png
Normal file
После Ширина: | Высота: | Размер: 874 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-start-selected-pressed.png
Normal file
После Ширина: | Высота: | Размер: 532 B |
Двоичные данные
browser/themes/winstripe/browser/devtools/breadcrumbs/rtl-start-selected.png
Normal file
После Ширина: | Высота: | Размер: 561 B |
После Ширина: | Высота: | Размер: 815 B |
|
@ -110,6 +110,31 @@ browser.jar:
|
|||
skin/classic/browser/devtools/search.png (devtools/search.png)
|
||||
skin/classic/browser/devtools/csshtmltree.css (devtools/csshtmltree.css)
|
||||
skin/classic/browser/devtools/gcli.css (devtools/gcli.css)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end-pressed.png (devtools/breadcrumbs/ltr-end-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end-selected-pressed.png (devtools/breadcrumbs/ltr-end-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end-selected.png (devtools/breadcrumbs/ltr-end-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-end.png (devtools/breadcrumbs/ltr-end.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle-pressed.png (devtools/breadcrumbs/ltr-middle-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle-selected-pressed.png (devtools/breadcrumbs/ltr-middle-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle-selected.png (devtools/breadcrumbs/ltr-middle-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-middle.png (devtools/breadcrumbs/ltr-middle.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start-pressed.png (devtools/breadcrumbs/ltr-start-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start-selected-pressed.png (devtools/breadcrumbs/ltr-start-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start.png (devtools/breadcrumbs/ltr-start.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/ltr-start-selected.png (devtools/breadcrumbs/ltr-start-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end-pressed.png (devtools/breadcrumbs/rtl-end-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end-selected-pressed.png (devtools/breadcrumbs/rtl-end-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end-selected.png (devtools/breadcrumbs/rtl-end-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-end.png (devtools/breadcrumbs/rtl-end.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle-pressed.png (devtools/breadcrumbs/rtl-middle-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle-selected-pressed.png (devtools/breadcrumbs/rtl-middle-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle-selected.png (devtools/breadcrumbs/rtl-middle-selected.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-middle.png (devtools/breadcrumbs/rtl-middle.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start-pressed.png (devtools/breadcrumbs/rtl-start-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start-selected-pressed.png (devtools/breadcrumbs/rtl-start-selected-pressed.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start.png (devtools/breadcrumbs/rtl-start.png)
|
||||
skin/classic/browser/devtools/breadcrumbs/rtl-start-selected.png (devtools/breadcrumbs/rtl-start-selected.png)
|
||||
|
||||
#ifdef MOZ_SERVICES_SYNC
|
||||
skin/classic/browser/sync-throbber.png
|
||||
skin/classic/browser/sync-16.png
|
||||
|
@ -236,6 +261,31 @@ browser.jar:
|
|||
skin/classic/aero/browser/devtools/search.png (devtools/search.png)
|
||||
skin/classic/aero/browser/devtools/csshtmltree.css (devtools/csshtmltree.css)
|
||||
skin/classic/aero/browser/devtools/gcli.css (devtools/gcli.css)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-end-pressed.png (devtools/breadcrumbs/ltr-end-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-end-selected-pressed.png (devtools/breadcrumbs/ltr-end-selected-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-end-selected.png (devtools/breadcrumbs/ltr-end-selected.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-end.png (devtools/breadcrumbs/ltr-end.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-middle-pressed.png (devtools/breadcrumbs/ltr-middle-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-middle-selected-pressed.png (devtools/breadcrumbs/ltr-middle-selected-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-middle-selected.png (devtools/breadcrumbs/ltr-middle-selected.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-middle.png (devtools/breadcrumbs/ltr-middle.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-start-pressed.png (devtools/breadcrumbs/ltr-start-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-start-selected-pressed.png (devtools/breadcrumbs/ltr-start-selected-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-start.png (devtools/breadcrumbs/ltr-start.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/ltr-start-selected.png (devtools/breadcrumbs/ltr-start-selected.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-end-pressed.png (devtools/breadcrumbs/rtl-end-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-end-selected-pressed.png (devtools/breadcrumbs/rtl-end-selected-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-end-selected.png (devtools/breadcrumbs/rtl-end-selected.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-end.png (devtools/breadcrumbs/rtl-end.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-middle-pressed.png (devtools/breadcrumbs/rtl-middle-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-middle-selected-pressed.png (devtools/breadcrumbs/rtl-middle-selected-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-middle-selected.png (devtools/breadcrumbs/rtl-middle-selected.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-middle.png (devtools/breadcrumbs/rtl-middle.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-start-pressed.png (devtools/breadcrumbs/rtl-start-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-start-selected-pressed.png (devtools/breadcrumbs/rtl-start-selected-pressed.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-start.png (devtools/breadcrumbs/rtl-start.png)
|
||||
skin/classic/aero/browser/devtools/breadcrumbs/rtl-start-selected.png (devtools/breadcrumbs/rtl-start-selected.png)
|
||||
|
||||
#ifdef MOZ_SERVICES_SYNC
|
||||
skin/classic/aero/browser/sync-throbber.png
|
||||
skin/classic/aero/browser/sync-16.png
|
||||
|
|