| external_a11y_helper.py |
External-observer helper for the bug 2028944 regression test.
Launches a Firefox process and, from this (separate) process, verifies that
the accessibility (AX) API on the launched process is queryable as soon as
`NSWorkspaceDidLaunchApplicationNotification` fires. This mirrors what an
assistive technology like VoiceControl does at app launch time.
Exit codes:
0 - PASS: notification observed, AX queries succeeded.
2 - FAIL: notification did not arrive for the launched pid before timeout.
3 - FAIL: AX query returned a non-zero error.
77 - SKIP: PyObjC not available in this environment.
Based on a debug script by Eitan Isaacson (:eeejay) in bug 2028944 comment 3.
|
4476 |
- |
| gen_win32k_tests.py |
def test_{testnum}(self):
# {line[0:80]}...\n |
5082 |
- |
| manifest.toml |
|
368 |
- |
| test_exitcode.py |
Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit);
|
1004 |
- |
| test_external_a11y_after_launch.py |
Regression test for bug 2028944.
The original bug: on macOS, the early-startup code in
`toolkit/xre/nsAppRunner.cpp` spun the event loop (via
`ReceiveNextEvent`) before NSApplication was fully initialized. Any
external observer of `NSWorkspaceDidLaunchApplicationNotification` would
receive the launch notification before Firefox's accessibility responder
was wired up, so an assistive technology like VoiceControl that queried
Firefox's AX tree at that moment would silently fail.
This test launches Firefox from a separate Python process and, from
that process, verifies that `AXTitle` / `AXRole` queries on the new
Firefox pid succeed as soon as the launch notification fires.
Based on a debug script by Eitan Isaacson (:eeejay) in bug 2028944
comment 3.
|
2464 |
- |
| test_fission_autostart.py |
let win = Services.wm.getMostRecentWindow("navigator:browser");
return {
fissionAutostart: Services.appinfo.fissionAutostart,
decisionStatus: Services.appinfo.fissionDecisionStatus,
decisionStatusString: Services.appinfo.fissionDecisionStatusString,
useRemoteSubframes: win.docShell.nsILoadContext.useRemoteSubframes,
fissionAutostartSession: Services.prefs.getBoolPref("fission.autostart.session"),
dynamicFissionAutostart: Services.prefs.getBoolPref("fission.autostart"),
};
|
7422 |
- |
| test_win32k_enrollment.py |
let win = Services.wm.getMostRecentWindow("navigator:browser");
let ses = "security.sandbox.content.win32k-experiment.startupEnrollmentStatus";
return {
win32kSessionStatus: Services.appinfo.win32kSessionStatus,
win32kStatus: Services.appinfo.win32kLiveStatusTestingOnly,
win32kExperimentStatus: Services.appinfo.win32kExperimentStatus,
win32kPref: Services.prefs.getBoolPref("security.sandbox.content.win32k-disable"),
win32kStartupEnrollmentStatusPref: Services.prefs.getIntPref(ses),
};
|
68640 |
- |
| test_win32k_enrollment.template.py |
let win = Services.wm.getMostRecentWindow("navigator:browser");
let ses = "security.sandbox.content.win32k-experiment.startupEnrollmentStatus";
return {
win32kSessionStatus: Services.appinfo.win32kSessionStatus,
win32kStatus: Services.appinfo.win32kLiveStatusTestingOnly,
win32kExperimentStatus: Services.appinfo.win32kExperimentStatus,
win32kPref: Services.prefs.getBoolPref("security.sandbox.content.win32k-disable"),
win32kStartupEnrollmentStatusPref: Services.prefs.getIntPref(ses),
};
|
7476 |
- |
| win32k_tests.txt |
|
12533 |
- |
| xdg_config |
|
|
- |