Bug 1605404 - Resolve DOM walker inside updateDetails action. r=rcaliman

Differential Revision: https://phabricator.services.mozilla.com/D58013

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Yura Zenevich 2020-01-06 14:42:17 +00:00
parent fbeca6ddf3
commit 8d11189ded
3 changed files with 18 additions and 19 deletions

View File

@ -8,18 +8,21 @@ const { UPDATE_DETAILS } = require("devtools/client/accessibility/constants");
/**
* Update details with the given accessible object.
*
* @param {Object} dom walker front
* @param {Object} accessible front
*/
exports.updateDetails = (domWalker, accessible) => dispatch =>
Promise.all([
domWalker.getNodeFromActor(accessible.actorID, [
"rawAccessible",
"DOMNode",
]),
accessible.getRelations(),
accessible.audit(),
accessible.hydrate(),
])
exports.updateDetails = accessible => dispatch =>
accessible.targetFront
.getFront("inspector")
.then(({ walker: domWalker }) =>
Promise.all([
domWalker.getNodeFromActor(accessible.actorID, [
"rawAccessible",
"DOMNode",
]),
accessible.getRelations(),
accessible.audit(),
accessible.hydrate(),
])
)
.then(response => dispatch({ accessible, type: UPDATE_DETAILS, response }))
.catch(error => dispatch({ accessible, type: UPDATE_DETAILS, error }));

View File

@ -154,7 +154,7 @@ class AccessibilityRow extends Component {
scrollIntoView(row);
}
async update() {
update() {
const {
dispatch,
member: { object },
@ -163,8 +163,7 @@ class AccessibilityRow extends Component {
return;
}
const domWalker = (await object.targetFront.getFront("inspector")).walker;
dispatch(updateDetails(domWalker, object));
dispatch(updateDetails(object));
window.emit(EVENTS.NEW_ACCESSIBLE_FRONT_SELECTED, object);
}

View File

@ -185,16 +185,13 @@ class Accessible extends Component {
}
}
async update() {
update() {
const { dispatch, accessibleFront } = this.props;
if (!accessibleFront.actorID) {
return;
}
const domWalker = (await accessibleFront.targetFront.getFront("inspector"))
.walker;
dispatch(updateDetails(domWalker, accessibleFront));
dispatch(updateDetails(accessibleFront));
}
setExpanded(item, isExpanded) {