Commit 3c76a94c authored by Carsten Schoenert's avatar Carsten Schoenert
Browse files

New upstream version 90.0~b2

parent 74911c77
......@@ -15,17 +15,17 @@ rev = "4af6c367603869a30fddb5ffb0aba2b9477ba92e"
[source."https://github.com/msirringhaus/minidump_writer_linux.git"]
git = "https://github.com/msirringhaus/minidump_writer_linux.git"
replace-with = "vendored-sources"
rev = "667c38bf1d9a8ea0c2c0a219d13006a39847b3f2"
rev = "5cea1c9a3d8ed3ed2d7bdd5be3285e7821400b7f"
[source."https://github.com/mozilla/neqo"]
git = "https://github.com/mozilla/neqo"
replace-with = "vendored-sources"
tag = "v0.4.23"
tag = "v0.4.25"
[source."https://github.com/mozilla/mp4parse-rust"]
git = "https://github.com/mozilla/mp4parse-rust"
replace-with = "vendored-sources"
rev = "94c3b1f368c82aefcbf51967f6aa296a9ccceb69"
rev = "dd967732ac836cc1ed5f1a7259d912c5d13e009b"
[source."https://github.com/mozilla/cubeb-pulse-rs"]
git = "https://github.com/mozilla/cubeb-pulse-rs"
......@@ -40,28 +40,13 @@ rev = "ad56ea14ac915f1e7ecbcf6ac38182443b0dd29e"
[source."https://github.com/mozilla/audioipc-2"]
git = "https://github.com/mozilla/audioipc-2"
replace-with = "vendored-sources"
rev = "8fb5ff19fba7b09e8e66598122421e68a5c573ac"
rev = "7537bfadad2e981577eb75e4f13662fc517e1a09"
[source."https://github.com/mozilla/application-services"]
git = "https://github.com/mozilla/application-services"
replace-with = "vendored-sources"
rev = "8a576fbe79199fa8664f64285524017f74ebcc5f"
[source."https://github.com/mozilla-spidermonkey/wasmtime"]
git = "https://github.com/mozilla-spidermonkey/wasmtime"
replace-with = "vendored-sources"
rev = "a25399760e9f12b679aa267dd2af7cfedc72bb71"
[source."https://github.com/mozilla-spidermonkey/wasm-tools"]
git = "https://github.com/mozilla-spidermonkey/wasm-tools"
replace-with = "vendored-sources"
rev = "1b7763faa484e62752538b78e7a69883f4faceee"
[source."https://github.com/mozilla-spidermonkey/regalloc.rs"]
git = "https://github.com/mozilla-spidermonkey/regalloc.rs"
replace-with = "vendored-sources"
rev = "fc5d1d33317b0fbd36725757f80a95127eff5109"
[source."https://github.com/mozilla-spidermonkey/jsparagus"]
git = "https://github.com/mozilla-spidermonkey/jsparagus"
replace-with = "vendored-sources"
......@@ -77,10 +62,15 @@ git = "https://github.com/kinetiknz/mio-named-pipes"
replace-with = "vendored-sources"
rev = "21c26326f5f45f415c49eac4ba5bc41a2f961321"
[source."https://github.com/kinetiknz/ashmem-rs"]
git = "https://github.com/kinetiknz/ashmem-rs"
replace-with = "vendored-sources"
rev = "e47f470a54193532d60057ec54f864e06aeaff36"
[source."https://github.com/jfkthame/mapped_hyph.git"]
git = "https://github.com/jfkthame/mapped_hyph.git"
replace-with = "vendored-sources"
rev = "578d7058a638c955a597f035ce1a11049c3021d7"
rev = "746743227485a83123784df0c53227ab466612ed"
[source."https://github.com/hsivonen/xmldecl"]
git = "https://github.com/hsivonen/xmldecl"
......@@ -105,27 +95,27 @@ rev = "39f95e2f7cd6e632a379cdeee62c68e8cedd7810"
[source."https://github.com/gfx-rs/naga"]
git = "https://github.com/gfx-rs/naga"
replace-with = "vendored-sources"
tag = "gfx-20"
tag = "gfx-22"
[source."https://github.com/gfx-rs/metal-rs"]
git = "https://github.com/gfx-rs/metal-rs"
replace-with = "vendored-sources"
rev = "439c986eb7a9b91e88b61def2daa66e4043fcbef"
rev = "78f632d194c7c16d18b71d7373c4080847d110b0"
[source."https://github.com/gfx-rs/gfx"]
git = "https://github.com/gfx-rs/gfx"
replace-with = "vendored-sources"
rev = "3ee1ca9ba486b166a52765024d8d149cbb28d486"
rev = "84e02f96149207b1bafecb1924b14315930c98ee"
[source."https://github.com/gfx-rs/d3d12-rs"]
git = "https://github.com/gfx-rs/d3d12-rs"
replace-with = "vendored-sources"
rev = "be19a243b86e0bafb9937d661fc8eabb3e42b44e"
[source."https://github.com/badboy/failure"]
git = "https://github.com/badboy/failure"
[source."https://github.com/bytecodealliance/wasmtime"]
git = "https://github.com/bytecodealliance/wasmtime"
replace-with = "vendored-sources"
rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5"
rev = "824fa69756523f2b6d49029fe25de94130b1f144"
[source."https://github.com/PLSysSec/rlbox_lucet_sandbox/"]
git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/"
......
......@@ -96,17 +96,6 @@ jobs:
by-project:
mozilla-central: [{hour: 10, minute: 0}]
- name: live-site-perf-testing
job:
type: decision-task
treeherder-symbol: lst
target-tasks-method: live_site_perf_testing
include-push-tasks: true
run-on-projects:
- mozilla-central
when:
- {weekday: 'Sunday', hour: 5, minute: 0}
- name: general-perf-testing
job:
type: decision-task
......
......@@ -40,9 +40,6 @@ browser/components/sessionstore/test/unit/data/sessionstore_invalid.js
browser/components/enterprisepolicies/schemas/schema.jsm
# generated & special files in cld2
browser/components/translation/cld2/
# Screenshots is imported as a system add-on and has
# their own lint rules currently.
browser/extensions/screenshots/
# generated or library files in pocket
browser/components/pocket/content/panels/js/tmpl.js
......@@ -221,3 +218,6 @@ tools/update-packaging/**/*refs.js
# Ignore backgroundtasks preferences files.
toolkit/components/backgroundtasks/defaults
# Ignore pre-generated webpack and typescript transpiled files for translations
browser/extensions/translations/extension/
......@@ -489,7 +489,6 @@ module.exports = {
files: [
"browser/base/content/test/forms/head.js",
"browser/base/content/test/general/browser_datachoices_notification.js",
"browser/base/content/test/plugins/head.js",
"browser/base/content/test/sync/browser_fxa_web_channel.js",
"browser/base/content/test/webextensions/head.js",
"browser/components/customizableui/test/browser_1042100_default_placements_update.js",
......@@ -500,7 +499,6 @@ module.exports = {
"browser/components/customizableui/test/browser_panel_keyboard_navigation.js",
"browser/components/customizableui/test/browser_proton_toolbar_hide_toolbarbuttons.js",
"browser/components/enterprisepolicies/tests/browser/browser_policies_setAndLockPref_API.js",
"browser/components/enterprisepolicies/tests/browser/head.js",
"browser/components/enterprisepolicies/tests/xpcshell/head.js",
"browser/components/enterprisepolicies/tests/xpcshell/test_proxy.js",
"browser/components/enterprisepolicies/tests/xpcshell/test_runOnce_helper.js",
......@@ -518,7 +516,6 @@ module.exports = {
"browser/components/extensions/test/browser/browser_ext_sessions_getRecentlyClosed_private.js",
"browser/components/extensions/test/browser/browser_ext_sessions_restore.js",
"browser/components/extensions/test/browser/browser_ext_tabs_audio.js",
"browser/components/extensions/test/browser/browser_ext_tabs_create_url.js",
"browser/components/extensions/test/browser/browser_ext_tabs_duplicate.js",
"browser/components/extensions/test/browser/browser_ext_tabs_newtab_private.js",
"browser/components/extensions/test/browser/browser_ext_tabs_removeCSS.js",
......@@ -526,30 +523,17 @@ module.exports = {
"browser/components/extensions/test/browser/browser_ext_windows.js",
"browser/components/extensions/test/browser/browser_ext_windows_events.js",
"browser/components/extensions/test/browser/head.js",
"browser/components/extensions/test/browser/head_webNavigation.js",
"browser/components/extensions/test/xpcshell/test_ext_url_overrides_newtab.js",
"browser/components/migration/tests/unit/test_Edge_db_migration.js",
"browser/components/preferences/tests/browser_contentblocking.js",
"browser/components/translation/test/unit/test_cld2.js",
"browser/components/urlbar/tests/ext/browser/update/browser_getBrowserUpdateStatus_updateDisabledByPolicy.js",
"browser/extensions/formautofill/test/unit/head.js",
"browser/extensions/formautofill/test/unit/test_creditCardRecords.js",
"browser/extensions/formautofill/test/unit/test_migrateRecords.js",
"browser/extensions/formautofill/test/unit/test_storage_remove.js",
"browser/extensions/formautofill/test/unit/test_storage_tombstones.js",
"browser/extensions/formautofill/test/unit/test_sync.js",
"browser/extensions/formautofill/test/unit/test_transformFields.js",
"browser/extensions/report-site-issue/experimentalAPIs/pageActionExtras.js",
"browser/extensions/report-site-issue/test/browser/head.js",
"devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_addons_debug_popup.js",
"dom/ipc/tests/browser_memory_distribution_telemetry.js",
"dom/push/test/xpcshell/head.js",
"dom/push/test/xpcshell/test_broadcast_success.js",
"dom/push/test/xpcshell/test_crypto.js",
"gfx/layers/apz/test/mochitest/browser_test_select_zoom.js",
"security/manager/ssl/RemoteSecuritySettings.jsm",
"security/manager/ssl/tests/unit/test_der.js",
"security/manager/ssl/X509.jsm",
"services/common/tests/unit/head_helpers.js",
"services/common/tests/unit/test_uptake_telemetry.js",
"services/fxaccounts/tests/xpcshell/test_accounts.js",
......@@ -559,26 +543,14 @@ module.exports = {
"services/fxaccounts/tests/xpcshell/test_oauth_tokens.js",
"services/fxaccounts/tests/xpcshell/test_web_channel.js",
"services/sync/modules-testing/utils.js",
"services/sync/tests/unit/test_doctor.js",
"services/sync/tests/unit/test_postqueue.js",
"testing/marionette/components/marionette.js",
"testing/marionette/driver.js",
"testing/marionette/format.js",
"testing/marionette/server.js",
"testing/marionette/test/unit/test_prefs.js",
"testing/mochitest/browser-test.js",
"testing/mochitest/BrowserTestUtils/content/content-task.js",
"testing/xpcshell/head.js",
"toolkit/components/cloudstorage/tests/unit/test_cloudstorage.js",
"toolkit/components/crashes/tests/xpcshell/test_crash_manager.js",
"toolkit/components/crashes/tests/xpcshell/test_crash_service.js",
"toolkit/components/crashes/tests/xpcshell/test_crash_store.js",
"toolkit/components/enterprisepolicies/tests/browser/head.js",
"toolkit/components/enterprisepolicies/tests/EnterprisePolicyTesting.jsm",
"toolkit/components/enterprisepolicies/tests/xpcshell/head.js",
"toolkit/components/extensions/ExtensionPreferencesManager.jsm",
"toolkit/components/extensions/ExtensionXPCShellUtils.jsm",
"toolkit/components/extensions/ExtensionXPCShellUtils.jsm",
"toolkit/components/extensions/parent/ext-management.js",
"toolkit/components/extensions/test/mochitest/test_ext_contentscript_cache.html",
"toolkit/components/extensions/test/xpcshell/head_native_messaging.js",
......@@ -597,7 +569,6 @@ module.exports = {
"toolkit/components/extensions/test/xpcshell/test_ext_tab_teardown.js",
"toolkit/components/extensions/test/xpcshell/test_native_manifests.js",
"toolkit/components/featuregates/test/unit/test_FeatureGate.js",
"toolkit/components/mozintl/mozIntl.jsm",
"toolkit/components/normandy/test/browser/browser_actions_ShowHeartbeatAction.js",
"toolkit/components/osfile/modules/osfile_async_front.jsm",
"toolkit/components/osfile/modules/osfile_native.jsm",
......
This diff is collapsed.
......@@ -82,19 +82,16 @@ packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="0917fe7800
rlbox_lucet_sandbox = { git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/", rev="f3cace4fb8b53db0849c62af4fa62bade5a620f7" }
nix = { git = "https://github.com/shravanrn/nix/", rev="4af6c367603869a30fddb5ffb0aba2b9477ba92e" }
spirv_cross = { git = "https://github.com/kvark/spirv_cross", branch = "wgpu5" }
# failure's backtrace feature might break our builds, see bug 1608157.
failure = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
failure_derive = { git = "https://github.com/badboy/failure", rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5" }
minidump_writer_linux = { git = "https://github.com/msirringhaus/minidump_writer_linux.git", rev = "667c38bf1d9a8ea0c2c0a219d13006a39847b3f2" }
minidump_writer_linux = { git = "https://github.com/msirringhaus/minidump_writer_linux.git", rev = "5cea1c9a3d8ed3ed2d7bdd5be3285e7821400b7f" }
xmldecl = { git = "https://github.com/hsivonen/xmldecl", rev="a74f7df5bf6cb11194fb74daa0c3cf42f326fd90" }
[patch.crates-io.cranelift-codegen]
git = "https://github.com/mozilla-spidermonkey/wasmtime"
rev = "a25399760e9f12b679aa267dd2af7cfedc72bb71"
git = "https://github.com/bytecodealliance/wasmtime"
rev = "824fa69756523f2b6d49029fe25de94130b1f144"
[patch.crates-io.cranelift-wasm]
git = "https://github.com/mozilla-spidermonkey/wasmtime"
rev = "a25399760e9f12b679aa267dd2af7cfedc72bb71"
git = "https://github.com/bytecodealliance/wasmtime"
rev = "824fa69756523f2b6d49029fe25de94130b1f144"
# Patch autocfg to hide rustc output. Workaround for https://github.com/cuviper/autocfg/issues/30
[patch.crates-io.autocfg]
......@@ -103,3 +100,12 @@ path = "third_party/rust/autocfg"
[patch.crates-io.autocfg01]
path = "third_party/rust/autocfg-0.1.6"
package = "autocfg"
# Patch mio 0.6 to use winapi 0.3 and miow 0.3, getting rid of winapi 0.2.
# There is not going to be new version of mio 0.6, mio now being >= 0.7.11.
[patch.crates-io.mio]
path = "third_party/rust/mio"
# Patch failure 0.1.8 to disable the backtrace feature by default. See bug 1608157.
[patch.crates-io.failure]
path = "third_party/rust/failure"
......@@ -19,11 +19,6 @@
#endif
#include <gtk/gtk.h>
#ifdef MOZ_WIDGET_GTK
extern "C" __attribute__((weak, visibility("default"))) int
atk_bridge_adaptor_init(int*, char**[]);
#endif
using namespace mozilla;
using namespace mozilla::a11y;
......@@ -33,8 +28,7 @@ GType (*gAtkTableCellGetTypeFunc)();
extern "C" {
typedef GType (*AtkGetTypeType)(void);
typedef void (*GnomeAccessibilityInit)(void);
typedef void (*GnomeAccessibilityShutdown)(void);
typedef void (*AtkBridgeAdaptorInit)(int*, char**[]);
}
static PRLibrary* sATKLib = nullptr;
......@@ -50,62 +44,26 @@ static gulong sToplevel_hide_hook = 0;
GType g_atk_hyperlink_impl_type = G_TYPE_INVALID;
struct GnomeAccessibilityModule {
struct AtkBridgeModule {
const char* libName;
PRLibrary* lib;
const char* initName;
GnomeAccessibilityInit init;
const char* shutdownName;
GnomeAccessibilityShutdown shutdown;
AtkBridgeAdaptorInit init;
};
static GnomeAccessibilityModule sAtkBridge = {
#ifdef AIX
"libatk-bridge.a(libatk-bridge.so.0)", nullptr,
#else
"libatk-bridge.so", nullptr,
#endif
"gnome_accessibility_module_init", nullptr,
"gnome_accessibility_module_shutdown", nullptr};
static AtkBridgeModule sAtkBridge = {"libatk-bridge-2.0.so.0", nullptr,
"atk_bridge_adaptor_init", nullptr};
static nsresult LoadGtkModule(GnomeAccessibilityModule& aModule) {
static nsresult LoadGtkModule(AtkBridgeModule& aModule) {
NS_ENSURE_ARG(aModule.libName);
if (!(aModule.lib = PR_LoadLibrary(aModule.libName))) {
// try to load the module with "gtk-2.0/modules" appended
char* curLibPath = PR_GetLibraryPath();
nsAutoCString libPath(curLibPath);
#if defined(LINUX) && defined(__x86_64__)
libPath.AppendLiteral(":/usr/lib64:/usr/lib");
#else
libPath.AppendLiteral(":/usr/lib");
#endif
PR_FreeLibraryName(curLibPath);
int16_t loc1 = 0, loc2 = 0;
int16_t subLen = 0;
while (loc2 >= 0) {
loc2 = libPath.FindChar(':', loc1);
if (loc2 < 0) {
subLen = libPath.Length() - loc1;
} else {
subLen = loc2 - loc1;
}
nsAutoCString sub(Substring(libPath, loc1, subLen));
sub.AppendLiteral("/gtk-3.0/modules/");
sub.Append(aModule.libName);
aModule.lib = PR_LoadLibrary(sub.get());
if (aModule.lib) break;
loc1 = loc2 + 1;
}
if (!aModule.lib) return NS_ERROR_FAILURE;
return NS_ERROR_FAILURE;
}
// we have loaded the library, try to get the function ptrs
if (!(aModule.init = PR_FindFunctionSymbol(aModule.lib, aModule.initName)) ||
!(aModule.shutdown =
PR_FindFunctionSymbol(aModule.lib, aModule.shutdownName))) {
if (!(aModule.init = (AtkBridgeAdaptorInit)PR_FindFunctionSymbol(
aModule.lib, aModule.initName))) {
// fail, :(
PR_UnloadLibrary(aModule.lib);
aModule.lib = nullptr;
......@@ -164,16 +122,9 @@ void a11y::PlatformInit() {
// Init atk-bridge now
PR_SetEnv("NO_AT_BRIDGE=0");
#ifdef MOZ_WIDGET_GTK
if (atk_bridge_adaptor_init) {
atk_bridge_adaptor_init(nullptr, nullptr);
} else
#endif
{
nsresult rv = LoadGtkModule(sAtkBridge);
if (NS_SUCCEEDED(rv)) {
(*sAtkBridge.init)();
}
nsresult rv = LoadGtkModule(sAtkBridge);
if (NS_SUCCEEDED(rv)) {
(*sAtkBridge.init)(nullptr, nullptr);
}
if (!sToplevel_event_hook_added) {
......@@ -199,12 +150,9 @@ void a11y::PlatformShutdown() {
if (sAtkBridge.lib) {
// Do not shutdown/unload atk-bridge,
// an exit function registered will take care of it
// if (sAtkBridge.shutdown)
// (*sAtkBridge.shutdown)();
// PR_UnloadLibrary(sAtkBridge.lib);
sAtkBridge.lib = nullptr;
sAtkBridge.init = nullptr;
sAtkBridge.shutdown = nullptr;
}
// if (sATKLib) {
// PR_UnloadLibrary(sATKLib);
......
......@@ -32,6 +32,8 @@ using namespace mozilla::a11y;
using mozilla::dom::BorrowedAttrInfo;
MOZ_DEFINE_MALLOC_SIZE_OF(AccessibleLoggingMallocSizeOf)
////////////////////////////////////////////////////////////////////////////////
// Logging helpers
......@@ -52,6 +54,7 @@ static ModuleRep sModuleMap[] = {{"docload", logging::eDocLoad},
{"platforms", logging::ePlatforms},
{"text", logging::eText},
{"tree", logging::eTree},
{"treeSize", logging::eTreeSize},
{"DOMEvents", logging::eDOMEvents},
{"focus", logging::eFocus},
......@@ -743,6 +746,49 @@ void logging::DOMTree(const char* aTitle, const char* aMsgText,
logging::MsgEnd();
}
void logging::TreeSize(const char* aTitle, const char* aMsgText,
LocalAccessible* aRoot) {
logging::MsgBegin(aTitle, "%s", aMsgText);
logging::AccessibleInfo("Logging tree size from: ", aRoot);
size_t b = 0;
size_t n = 0;
LocalAccessible* root = aRoot;
do {
// Process the current acc
b += AccessibleLoggingMallocSizeOf(root);
n++;
// Get next acc
if (root->LocalFirstChild() && !root->LocalFirstChild()->IsDoc()) {
root = root->LocalFirstChild();
continue;
}
int32_t idxInParent = root != aRoot && root->mParent
? root->mParent->mChildren.IndexOf(root)
: -1;
if (idxInParent != -1 &&
idxInParent <
static_cast<int32_t>(root->mParent->mChildren.Length() - 1)) {
root = root->mParent->mChildren.ElementAt(idxInParent + 1);
continue;
}
while (root != aRoot && (root = root->LocalParent())) {
int32_t idxInParent = !root->IsDoc() && root->mParent
? root->mParent->mChildren.IndexOf(root)
: -1;
if (idxInParent != -1 &&
idxInParent <
static_cast<int32_t>(root->mParent->mChildren.Length() - 1)) {
root = root->mParent->mChildren.ElementAt(idxInParent + 1);
break;
}
}
} while (root && root != aRoot);
printf("\nTree contains %zu accessibles and is %zu bytes\n", n, b);
logging::MsgEnd();
}
void logging::MsgBegin(const char* aTitle, const char* aMsgText, ...) {
printf("\nA11Y %s: ", aTitle);
......
......@@ -43,15 +43,16 @@ enum EModules {
ePlatforms = 1 << 5,
eText = 1 << 6,
eTree = 1 << 7,
eTreeSize = 1 << 8,
eDOMEvents = 1 << 8,
eFocus = 1 << 9,
eSelection = 1 << 10,
eDOMEvents = 1 << 9,
eFocus = 1 << 10,
eSelection = 1 << 11,
eNotifications = eDOMEvents | eSelection | eFocus,
// extras
eStack = 1 << 11,
eVerbose = 1 << 12
eStack = 1 << 12,
eVerbose = 1 << 13
};
/**
......@@ -152,6 +153,11 @@ void Tree(const char* aTitle, const char* aMsgText, LocalAccessible* aRoot,
void* aGetTreePrefixData = nullptr);
void DOMTree(const char* aTitle, const char* aMsgText, DocAccessible* aDoc);
/**
* Log the tree size in bytes.
*/
void TreeSize(const char* aTitle, const char* aMsgText, LocalAccessible* aRoot);
/**
* Log the message ('title: text' format) on new line. Print the start and end
* boundaries of the message body designated by '{' and '}' (2 spaces indent for
......
......@@ -909,7 +909,7 @@ void NotificationController::WillRefresh(mozilla::TimeStamp aTime) {
#if defined(XP_WIN)
parentIPCDoc->ConstructChildDocInParentProcess(
ipcDoc, id, AccessibleWrap::GetChildIDFor(childDoc));
ipcDoc, id, MsaaAccessible::GetChildIDFor(childDoc));
#else
nsCOMPtr<nsIBrowserChild> browserChild =
do_GetInterface(mDocument->DocumentNode()->GetDocShell());
......
......@@ -154,7 +154,12 @@ enum class RelationType {
*/
ERRORMSG_FOR = 0x18,
LAST = ERRORMSG_FOR
/**
* The target object is the anchor referenced by this link.
*/
LINKS_TO = 0x19,
LAST = LINKS_TO
};
} // namespace a11y
......
......@@ -85,3 +85,6 @@ RELATIONTYPE(ERRORMSG, "error", ATK_RELATION_ERROR_MESSAGE, NAVRELATION_ERROR,
RELATIONTYPE(ERRORMSG_FOR, "error for", ATK_RELATION_ERROR_FOR,
NAVRELATION_ERROR_FOR, IA2_RELATION_ERROR_FOR)
RELATIONTYPE(LINKS_TO, "links to", ATK_RELATION_LINKS_TO, NAVRELATION_LINKS_TO,
IA2_RELATION_LINKS_TO)
......@@ -101,6 +101,24 @@ void SelectionManager::RemoveDocSelectionListener(PresShell* aPresShell) {
// selection.
Selection* spellSel = frameSel->GetSelection(SelectionType::eSpellCheck);
spellSel->RemoveSelectionListener(this);
if (mCurrCtrlNormalSel) {
if (mCurrCtrlNormalSel->GetPresShell() == aPresShell) {
// Remove 'this' registered as selection listener for the normal selection
// if we are removing listeners for its PresShell.
mCurrCtrlNormalSel->RemoveSelectionListener(this);
mCurrCtrlNormalSel = nullptr;
}
}
if (mCurrCtrlSpellSel) {
if (mCurrCtrlSpellSel->GetPresShell() == aPresShell) {
// Remove 'this' registered as selection listener for the spellcheck
// selection if we are removing listeners for its PresShell.
mCurrCtrlSpellSel->RemoveSelectionListener(this);
mCurrCtrlSpellSel = nullptr;
}
}
}
void SelectionManager::ProcessTextSelChangeEvent(AccEvent* aEvent) {
......
......@@ -548,19 +548,6 @@ void nsAccessibilityService::RangeValueChanged(PresShell* aPresShell,
}
}
void nsAccessibilityService::UpdateListBullet(PresShell* aPresShell,
nsIContent* aHTMLListItemContent,
bool aHasBullet) {
DocAccessible* document = GetDocAccessible(aPresShell);
if (document) {
LocalAccessible* accessible = document->GetAccessible(aHTMLListItemContent);
if (accessible) {
HTMLLIAccessible* listItem = accessible->AsHTMLListItem();
if (listItem) listItem->UpdateBullet(aHasBullet);
}
}
}
void nsAccessibilityService::UpdateImageMap(nsImageFrame* aImageFrame) {
PresShell* presShell = aImageFrame->PresShell();
DocAccessible* document = GetDocAccessible(presShell);
......@@ -1138,6 +1125,14 @@ LocalAccessible* nsAccessibilityService::CreateAccessible(
nsGkAtoms::mspace_, nsGkAtoms::semantics_)) {
newAcc = new HyperTextAccessible(content, document);
}
} else if (content->IsGeneratedContentContainerForMarker()) {
if (aContext->IsHTMLListItem()) {
const nsStyleList* styleList = frame->StyleList();
if (!styleList->mListStyleImage.IsNone() ||
!styleList->mCounterStyle.IsNone()) {
newAcc = new HTMLListBulletAccessible(content, document);
}
}
}
}
......
......@@ -192,12 +192,6 @@ class nsAccessibilityService final : public mozilla::a11y::DocManager,
*/
void RangeValueChanged(mozilla::PresShell* aPresShell, nsIContent* aContent);
/**
* Update list bullet accessible.
*/
void UpdateListBullet(mozilla::PresShell* aPresShell,
nsIContent* aHTMLListItemContent, bool aHasBullet);
/**
* Update the image map.
*/
......
......@@ -1763,7 +1763,7 @@ void DocAccessible::DoInitialUpdate() {
IAccessibleHolder holder(
CreateHolderFromAccessible(WrapNotNull(this)));
MOZ_ASSERT(!holder.IsNull());
int32_t childID = AccessibleWrap::GetChildIDFor(this);
int32_t childID = MsaaAccessible::GetChildIDFor(this);
#else
int32_t holder = 0, childID = 0;
#endif
......@@ -1795,6 +1795,9 @@ void DocAccessible::DoInitialUpdate() {
if (logging::IsEnabled(logging::eVerbose)) {
logging::Tree("TREE", "Initial subtree", this);
}
if (logging::IsEnabled(logging::eTreeSize)) {
logging::TreeSize("TREE SIZE", "Initial subtree", this);
}
#endif
// Fire reorder event after the document tree is constructed. Note, since
......@@ -1875,15 +1878,7 @@ void DocAccessible::AddDependentIDsFor(LocalAccessible* aRelProvider,
const nsDependentSubstring id = iter.NextID();
if (id.IsEmpty()) break;
nsIContent* dependentContent = iter.GetElem(id);
if (!dependentContent ||
(relAttr == nsGkAtoms::aria_owns &&