mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 08:12:05 +00:00
Bug 840247 - Entering the Inspector from the Web Console should show the <html> and <body> tag expanded. r=jwalker
This commit is contained in:
parent
9a6f3ac9cc
commit
2f23ac8d4c
@ -122,17 +122,19 @@ InspectorPanel.prototype = {
|
||||
|
||||
// All the components are initialized. Let's select a node.
|
||||
if (this.target.isLocalTab) {
|
||||
let root = this.browser.contentDocument.documentElement;
|
||||
this._selection.setNode(root);
|
||||
this._selection.setNode(
|
||||
this._getDefaultNodeForSelection(this.browser.contentDocument));
|
||||
} else if (this.target.window) {
|
||||
let root = this.target.window.document.documentElement;
|
||||
this._selection.setNode(root);
|
||||
this._selection.setNode(
|
||||
this._getDefaultNodeForSelection(this.target.window.document));
|
||||
}
|
||||
|
||||
if (this.highlighter) {
|
||||
this.highlighter.unlock();
|
||||
}
|
||||
|
||||
this.markup.expandNode(this.selection.node);
|
||||
|
||||
this.emit("ready");
|
||||
deferred.resolve(this);
|
||||
}.bind(this));
|
||||
@ -143,6 +145,16 @@ InspectorPanel.prototype = {
|
||||
return deferred.promise;
|
||||
},
|
||||
|
||||
/**
|
||||
* Select node for default selection
|
||||
*/
|
||||
_getDefaultNodeForSelection : function(document) {
|
||||
// if available set body node as default selected node
|
||||
// else set documentElement
|
||||
var defaultNode = document.body || document.documentElement;
|
||||
return defaultNode;
|
||||
},
|
||||
|
||||
/**
|
||||
* Selection object (read only)
|
||||
*/
|
||||
@ -253,21 +265,26 @@ InspectorPanel.prototype = {
|
||||
this.selection.setNode(null);
|
||||
this._destroyMarkup();
|
||||
this.isDirty = false;
|
||||
let self = this;
|
||||
|
||||
function onDOMReady() {
|
||||
let onDOMReady = function() {
|
||||
newWindow.removeEventListener("DOMContentLoaded", onDOMReady, true);
|
||||
|
||||
if (self._destroyed) {
|
||||
if (this._destroyed) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!self.selection.node) {
|
||||
self.selection.setNode(newWindow.document.documentElement, "navigateaway");
|
||||
if (!this.selection.node) {
|
||||
let defaultNode = this._getDefaultNodeForSelection(newWindow.document);
|
||||
this.selection.setNode(defaultNode, "navigateaway");
|
||||
}
|
||||
self._initMarkup();
|
||||
self.setupSearchBox();
|
||||
}
|
||||
this._initMarkup();
|
||||
|
||||
this.once("markuploaded", () => {
|
||||
this.markup.expandNode(this.selection.node);
|
||||
});
|
||||
|
||||
this.setupSearchBox();
|
||||
}.bind(this);
|
||||
|
||||
if (newWindow.document.readyState == "loading") {
|
||||
newWindow.addEventListener("DOMContentLoaded", onDOMReady, true);
|
||||
|
@ -35,28 +35,16 @@ function test()
|
||||
inspector = aInspector;
|
||||
|
||||
executeSoon(function() {
|
||||
inspector.selection.once("new-node", highlightBodyNode);
|
||||
inspector.selection.once("new-node", highlightHeaderNode);
|
||||
// Test that navigating around without a selected node gets us to the
|
||||
// body element.
|
||||
node = doc.querySelector("body");
|
||||
// head element.
|
||||
node = doc.querySelector("h1");
|
||||
let bc = inspector.breadcrumbs;
|
||||
bc.nodeHierarchy[bc.currentIndex].button.focus();
|
||||
EventUtils.synthesizeKey("VK_RIGHT", { });
|
||||
});
|
||||
}
|
||||
|
||||
function highlightBodyNode()
|
||||
{
|
||||
is(inspector.selection.node, node, "selected body element");
|
||||
|
||||
executeSoon(function() {
|
||||
inspector.selection.once("new-node", highlightHeaderNode);
|
||||
// Test that moving to the child works.
|
||||
node = doc.querySelector("h1");
|
||||
EventUtils.synthesizeKey("VK_RIGHT", { });
|
||||
});
|
||||
}
|
||||
|
||||
function highlightHeaderNode()
|
||||
{
|
||||
is(inspector.selection.node, node, "selected h1 element");
|
||||
|
@ -255,14 +255,7 @@ function test() {
|
||||
var target = TargetFactory.forTab(gBrowser.selectedTab);
|
||||
gDevTools.showToolbox(target, "inspector").then(function(toolbox) {
|
||||
inspector = toolbox.getCurrentPanel();
|
||||
runTests();
|
||||
});
|
||||
}
|
||||
|
||||
function runTests() {
|
||||
inspector.selection.once("new-node", startTests);
|
||||
executeSoon(function() {
|
||||
inspector.selection.setNode(doc.body);
|
||||
startTests();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -10,10 +10,10 @@ function test() {
|
||||
let doc;
|
||||
|
||||
let keySequences = [
|
||||
["right", "html"],
|
||||
["pageup", "*doctype*"],
|
||||
["down", "html"],
|
||||
["down", "head"],
|
||||
["down", "body"],
|
||||
["right", "body"],
|
||||
["down", "node0"],
|
||||
["right", "node0"],
|
||||
["down", "node1"],
|
||||
|
@ -18,10 +18,8 @@ function openRuleView()
|
||||
|
||||
// Highlight a node.
|
||||
let node = content.document.getElementsByTagName("h1")[0];
|
||||
inspector.selection.once("new-node", testFocus);
|
||||
|
||||
inspector.sidebar.once("ruleview-ready",
|
||||
() => inspector.selection.setNode(doc.body));
|
||||
inspector.sidebar.once("ruleview-ready", testFocus);
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user