This changes the behavior of the element picker so that when it is cancelled the previously selected DOM node is re-scrolled into view. Additionally the existing behavior of the keyboard shortcuts for the element picker was broken when the devtools toolbox was docked. The main content area was not being focused, so the keyboard shortcuts for the element picker were not being used. When the toolbox is detached, the focus event is still not fired, as it's not desirable to have the content pop into view over the devtools. Finally there is now an additional implementation of the Escape shortcut when the devtools are focused. The console Escape shortcut is ignored until the element picker has been disabled making disabling the element picker consistent irrelevant of the context. MozReview-Commit-ID: HxENmPBoTcD
64 lines
1.2 KiB
JavaScript
64 lines
1.2 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
"use strict";
|
|
|
|
const {
|
|
Arg,
|
|
Option,
|
|
RetVal,
|
|
generateActorSpec
|
|
} = require("devtools/shared/protocol");
|
|
|
|
const highlighterSpec = generateActorSpec({
|
|
typeName: "highlighter",
|
|
|
|
methods: {
|
|
showBoxModel: {
|
|
request: {
|
|
node: Arg(0, "domnode"),
|
|
region: Option(1),
|
|
hideInfoBar: Option(1),
|
|
hideGuides: Option(1),
|
|
showOnly: Option(1),
|
|
onlyRegionArea: Option(1)
|
|
}
|
|
},
|
|
hideBoxModel: {
|
|
request: {}
|
|
},
|
|
pick: {},
|
|
pickAndFocus: {},
|
|
cancelPick: {}
|
|
}
|
|
});
|
|
|
|
exports.highlighterSpec = highlighterSpec;
|
|
|
|
const customHighlighterSpec = generateActorSpec({
|
|
typeName: "customhighlighter",
|
|
|
|
methods: {
|
|
release: {
|
|
release: true
|
|
},
|
|
show: {
|
|
request: {
|
|
node: Arg(0, "domnode"),
|
|
options: Arg(1, "nullable:json")
|
|
},
|
|
response: {
|
|
value: RetVal("nullable:boolean")
|
|
}
|
|
},
|
|
hide: {
|
|
request: {}
|
|
},
|
|
finalize: {
|
|
oneway: true
|
|
}
|
|
}
|
|
});
|
|
|
|
exports.customHighlighterSpec = customHighlighterSpec;
|