mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
Bug 1599806 - avoid AccessibilityFront's bootstrap method by renaming it into initialize. Do not explicitly destroy accessibility walker front and let accessibility actor manage its lifecycle fully. r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D58027 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
a341082d51
commit
720fd06193
@ -30,22 +30,16 @@ class AccessibilityStartup {
|
||||
}
|
||||
|
||||
get walker() {
|
||||
return this._walker;
|
||||
return this._accessibility.accessibleWalkerFront;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine which features are supported based on the version of the server. Also, sync
|
||||
* the state of the accessibility front/actor.
|
||||
* Determine which features are supported based on the version of the server.
|
||||
* @return {Promise}
|
||||
* A promise that returns true when accessibility front is fully in sync with
|
||||
* the actor.
|
||||
* A promise that returns true when accessibility front is ready.
|
||||
*/
|
||||
async prepareAccessibility() {
|
||||
// We must call a method on an accessibility front here (such as getWalker), in
|
||||
// oreder to be able to check actor's backward compatibility via actorHasMethod.
|
||||
// See targe.js@getActorDescription for more information.
|
||||
try {
|
||||
this._walker = await this._accessibility.getWalker();
|
||||
this._supports = {};
|
||||
// To add a check for backward compatibility add something similar to the
|
||||
// example below:
|
||||
@ -54,9 +48,6 @@ class AccessibilityStartup {
|
||||
// // Please specify the version of Firefox when the feature was added.
|
||||
// this.target.actorHasMethod("accessibility", "getSimulator"),
|
||||
// ]);
|
||||
|
||||
await this._accessibility.bootstrap();
|
||||
|
||||
return true;
|
||||
} catch (e) {
|
||||
// toolbox may be destroyed during this step.
|
||||
@ -124,9 +115,7 @@ class AccessibilityStartup {
|
||||
this._accessibility.off("init", this._updateToolHighlight);
|
||||
this._accessibility.off("shutdown", this._updateToolHighlight);
|
||||
|
||||
await this._walker.destroy();
|
||||
this._accessibility = null;
|
||||
this._walker = null;
|
||||
}.bind(this)();
|
||||
return this._destroyingAccessibility;
|
||||
}
|
||||
|
@ -35,8 +35,14 @@ add_task(async function() {
|
||||
ok(accessibility.getWalker, "The getWalker method exists");
|
||||
ok(accessibility.getSimulator, "The getSimulator method exists");
|
||||
|
||||
ok(accessibility.accessibleWalkerFront, "Accessible walker was initialized");
|
||||
|
||||
let a11yWalker = await accessibility.getWalker();
|
||||
ok(a11yWalker, "The AccessibleWalkerFront was returned");
|
||||
is(
|
||||
a11yWalker,
|
||||
accessibility.accessibleWalkerFront,
|
||||
"The AccessibleWalkerFront was returned"
|
||||
);
|
||||
|
||||
const a11ySimulator = await accessibility.getSimulator();
|
||||
const webRenderEnabled = isWebRenderEnabled(window);
|
||||
|
@ -86,8 +86,6 @@ async function initAccessibilityFrontForUrl(url) {
|
||||
const walker = inspector.walker;
|
||||
const accessibility = await target.getFront("accessibility");
|
||||
|
||||
await accessibility.bootstrap();
|
||||
|
||||
return { inspector, walker, accessibility, target };
|
||||
}
|
||||
|
||||
|
@ -187,12 +187,17 @@ class AccessibilityFront extends FrontClassWithSpec(accessibilitySpec) {
|
||||
this.formAttributeName = "accessibilityActor";
|
||||
}
|
||||
|
||||
bootstrap() {
|
||||
return super.bootstrap().then(state => {
|
||||
this.enabled = state.enabled;
|
||||
this.canBeEnabled = state.canBeEnabled;
|
||||
this.canBeDisabled = state.canBeDisabled;
|
||||
});
|
||||
async initialize() {
|
||||
this.accessibleWalkerFront = await super.getWalker();
|
||||
({
|
||||
enabled: this.enabled,
|
||||
canBeEnabled: this.canBeEnabled,
|
||||
canBeDisabled: this.canBeDisabled,
|
||||
} = await this.bootstrap());
|
||||
}
|
||||
|
||||
async getWalker() {
|
||||
return this.accessibleWalkerFront;
|
||||
}
|
||||
|
||||
init() {
|
||||
|
Loading…
Reference in New Issue
Block a user