Commit 7af1a0b8 authored by Carsten Schoenert's avatar Carsten Schoenert
Browse files

New upstream version 88.0~b2

parent d316a1c1
......@@ -2,16 +2,6 @@
# It was generated by `mach vendor rust`.
# Please do not edit.
[source."https://github.com/zakarumych/gpu-descriptor"]
git = "https://github.com/zakarumych/gpu-descriptor"
replace-with = "vendored-sources"
rev = "831460c4b5120d9a74744d542f39a95b9816b5ab"
[source."https://github.com/zakarumych/gpu-alloc"]
git = "https://github.com/zakarumych/gpu-alloc"
replace-with = "vendored-sources"
rev = "d07be73f9439a37c89f5b72f2500cbf0eb4ff613"
[source."https://github.com/shravanrn/nix/"]
git = "https://github.com/shravanrn/nix/"
replace-with = "vendored-sources"
......@@ -20,17 +10,32 @@ 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 = "4ea371049a9cca212cc13c19b7952c1c014085c6"
rev = "01c7a0da8d34059f7dae8ab9e7512529ff16347a"
[source."https://github.com/mozilla/neqo"]
git = "https://github.com/mozilla/neqo"
replace-with = "vendored-sources"
tag = "v0.4.19"
tag = "v0.4.23"
[source."https://github.com/mozilla/mp4parse-rust"]
git = "https://github.com/mozilla/mp4parse-rust"
replace-with = "vendored-sources"
rev = "3d9efdc868ce8c5767cea28708fa6512c0ab6d17"
rev = "94c3b1f368c82aefcbf51967f6aa296a9ccceb69"
[source."https://github.com/mozilla/cubeb-pulse-rs"]
git = "https://github.com/mozilla/cubeb-pulse-rs"
replace-with = "vendored-sources"
rev = "c87b50aebfa088c1ad30c74819d4e9829f88b2e3"
[source."https://github.com/mozilla/cubeb-coreaudio-rs"]
git = "https://github.com/mozilla/cubeb-coreaudio-rs"
replace-with = "vendored-sources"
rev = "ad56ea14ac915f1e7ecbcf6ac38182443b0dd29e"
[source."https://github.com/mozilla/audioipc-2"]
git = "https://github.com/mozilla/audioipc-2"
replace-with = "vendored-sources"
rev = "8fb5ff19fba7b09e8e66598122421e68a5c573ac"
[source."https://github.com/mozilla/application-services"]
git = "https://github.com/mozilla/application-services"
......@@ -40,7 +45,7 @@ rev = "8a576fbe79199fa8664f64285524017f74ebcc5f"
[source."https://github.com/mozilla-spidermonkey/wasmtime"]
git = "https://github.com/mozilla-spidermonkey/wasmtime"
replace-with = "vendored-sources"
rev = "3334d92350da40b90d2529c147db3ea44918b558"
rev = "a25399760e9f12b679aa267dd2af7cfedc72bb71"
[source."https://github.com/mozilla-spidermonkey/wasm-tools"]
git = "https://github.com/mozilla-spidermonkey/wasm-tools"
......@@ -55,10 +60,10 @@ rev = "fc5d1d33317b0fbd36725757f80a95127eff5109"
[source."https://github.com/mozilla-spidermonkey/jsparagus"]
git = "https://github.com/mozilla-spidermonkey/jsparagus"
replace-with = "vendored-sources"
rev = "d910c7a0f2f836cc70ed14bb92b8d0437b4e4a24"
rev = "d5d8c00ebd3281d12e0be5dfddbb69f791f836f1"
[source."https://github.com/kvark/spirv_cross"]
branch = "wgpu4"
branch = "wgpu5"
git = "https://github.com/kvark/spirv_cross"
replace-with = "vendored-sources"
......@@ -90,17 +95,22 @@ rev = "fd4ed671ef495af4dcda4c4cba3ef8d426db8af1"
[source."https://github.com/gfx-rs/naga"]
git = "https://github.com/gfx-rs/naga"
replace-with = "vendored-sources"
rev = "96c80738650822de35f77ab6a589f309460c8f39"
tag = "gfx-12"
[source."https://github.com/gfx-rs/metal-rs"]
git = "https://github.com/gfx-rs/metal-rs"
replace-with = "vendored-sources"
rev = "439c986eb7a9b91e88b61def2daa66e4043fcbef"
[source."https://github.com/gfx-rs/gfx"]
git = "https://github.com/gfx-rs/gfx"
replace-with = "vendored-sources"
rev = "1d14789011cb892f4c1a205d3f8a87d479c2e354"
rev = "0a201d1c406b5119ec11068293a40e50ec0be4c8"
[source."https://github.com/djg/cubeb-pulse-rs"]
git = "https://github.com/djg/cubeb-pulse-rs"
[source."https://github.com/gfx-rs/d3d12-rs"]
git = "https://github.com/gfx-rs/d3d12-rs"
replace-with = "vendored-sources"
rev = "bf31534d08b2c16fb5e4c5834944ae3271efbd63"
rev = "be19a243b86e0bafb9937d661fc8eabb3e42b44e"
[source."https://github.com/badboy/failure"]
git = "https://github.com/badboy/failure"
......@@ -117,11 +127,6 @@ git = "https://github.com/PLSysSec/lucet_sandbox_compiler"
replace-with = "vendored-sources"
rev = "cd07861d1c92147b35b538e6f94fde7d1986f9ad"
[source."https://github.com/ChunMinChang/cubeb-coreaudio-rs"]
git = "https://github.com/ChunMinChang/cubeb-coreaudio-rs"
replace-with = "vendored-sources"
rev = "1e1222d6213e28eabd7f4302d00765ae1153a31e"
[source.crates-io]
replace-with = "vendored-sources"
......
......@@ -172,6 +172,7 @@ modules/woff2/.*
modules/xz-embedded/.*
modules/zlib/.*
mozglue/misc/decimal/.*
mozglue/tests/glibc_printf_tests/.*
netwerk/dns/nsIDNKitInterface.h
netwerk/sctp/src/.*
netwerk/srtp/src/.*
......
......@@ -267,24 +267,6 @@ jobs:
- {weekday: 'Saturday', hour: 3, minute: 0}
- {weekday: 'Sunday', hour: 3, minute: 0}
- name: raptor-tp6-windows10-64-ref-hw-2017
job:
type: decision-task
treeherder-symbol: tp6
target-tasks-method: raptor_tp6_windows10_64_ref_hw_2017
include-push-tasks: true
run-on-projects:
- mozilla-central
when:
- {weekday: 'Monday', hour: 3, minute: 0}
- {weekday: 'Tuesday', hour: 3, minute: 0}
- {weekday: 'Wednesday', hour: 3, minute: 0}
- {weekday: 'Thursday', hour: 3, minute: 0}
- {weekday: 'Friday', hour: 3, minute: 0}
- {weekday: 'Saturday', hour: 3, minute: 0}
- {weekday: 'Sunday', hour: 3, minute: 0}
- name: condprof
job:
type: decision-task
......
......@@ -61,7 +61,6 @@ browser/extensions/formautofill/phonenumberutils/PhoneNumberMetaData.jsm
# See https://github.com/firefox-devtools/debugger/blob/master/package.json#L24
devtools/client/debugger/configs/
devtools/client/debugger/dist/
devtools/client/debugger/flow-typed/
devtools/client/debugger/images/
devtools/client/debugger/test/
devtools/client/debugger/index.html
......@@ -158,8 +157,8 @@ modules/libpref/test/unit/*data/
python/
# These are (mainly) imported code that we don't want to lint to make imports easier.
remote/Protocol.jsm
remote/test/browser/chrome-remote-interface.js
remote/cdp/Protocol.jsm
remote/cdp/test/browser/chrome-remote-interface.js
# services/ exclusions
......@@ -220,3 +219,6 @@ tools/tryselect/selectors/chooser/templates/chooser.html
# Ignore preprocessed *(P)refs.js files in update-packaging.
tools/update-packaging/**/*refs.js
# Ignore backgroundtasks preferences files.
toolkit/components/backgroundtasks/defaults
......@@ -247,6 +247,7 @@ module.exports = {
"dom/security/test/general/**",
"dom/security/test/https-only/**",
"dom/security/test/mixedcontentblocker/**",
"dom/security/test/sec-fetch/**",
"dom/security/test/sri/**",
"dom/security/test/referrer-policy/**",
"dom/serviceworkers/**",
......@@ -378,25 +379,13 @@ module.exports = {
"docshell/test/chrome/test_viewsource_forbidden_in_iframe.xhtml",
],
rules: {
"dot-notation": "off",
"no-global-assign": "off",
"no-octal": "off",
"object-shorthand": "off",
"mozilla/consistent-if-bracing": "off",
"mozilla/no-compare-against-boolean-literals": "off",
"mozilla/no-useless-parameters": "off",
"mozilla/no-useless-removeEventListener": "off",
"mozilla/use-cc-etc": "off",
"mozilla/use-services": "off",
"mozilla/use-chromeutils-generateqi": "off",
"consistent-return": "off",
"no-delete-var": "off",
"no-redeclare": "off",
"no-sequences": "off",
"no-shadow": "off",
"no-undef": "off",
"no-unused-vars": "off",
"no-useless-call": "off",
},
},
{
......@@ -519,6 +508,7 @@ module.exports = {
"browser/components/customizableui/test/browser_989338_saved_placements_not_resaved.js",
"browser/components/customizableui/test/browser_currentset_post_reset.js",
"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",
......@@ -657,61 +647,7 @@ module.exports = {
"toolkit/mozapps/installer/precompile_cache.js",
],
rules: {
"mozilla/reject-chromeutils-import-null": "off",
},
},
{
files: [
"browser/base/content/browser-gestureSupport.js",
"browser/base/content/tabbrowser-tab.js",
"browser/base/content/tabbrowser-tabs.js",
"browser/base/content/tabbrowser.js",
"browser/components/downloads/DownloadsCommon.jsm",
"browser/components/downloads/content/allDownloadsView.js",
"browser/components/downloads/content/downloads.js",
"browser/components/downloads/content/indicator.js",
"browser/components/payments/res/components/csc-input.js",
"browser/components/payments/res/components/labelled-checkbox.js",
"browser/components/pocket/content/Pocket.jsm",
"browser/components/preferences/search.js",
"browser/components/search/content/search-one-offs.js",
"browser/components/search/content/searchbar.js",
"browser/components/sessionstore/ContentSessionStore.jsm",
"browser/components/urlbar/UrlbarInput.jsm",
"browser/components/urlbar/UrlbarView.jsm",
"browser/extensions/formautofill/content/customElements.js",
"browser/modules/PageActions.jsm",
"devtools/client/shared/async-store-helper.js",
"devtools/client/shared/prefs.js",
"devtools/shared/task.js",
"dom/base/SlowScriptDebug.jsm",
"dom/media/PeerConnection.jsm",
"mobile/android/chrome/geckoview/SessionStateAggregator.js",
"mobile/android/modules/geckoview/DelayedInit.jsm",
"services/sync/modules/record.js",
"toolkit/actors/AutoCompleteChild.jsm",
"toolkit/components/autocomplete/tests/unit/test_stopSearch.js",
"toolkit/components/enterprisepolicies/EnterprisePoliciesParent.jsm",
"toolkit/components/extensions/ExtensionParent.jsm",
"toolkit/components/osfile/modules/osfile_async_front.jsm",
"toolkit/components/osfile/modules/osfile_shared_allthreads.jsm",
"toolkit/content/aboutSupport.js",
"toolkit/content/customElements.js",
"toolkit/content/preferencesBindings.js",
"toolkit/content/tests/chrome/test_custom_element_base.xhtml",
"toolkit/content/viewZoomOverlay.js",
"toolkit/content/widgets/*.js",
"toolkit/modules/NewTabUtils.jsm",
"toolkit/modules/tests/modules/Task.jsm",
"toolkit/mozapps/extensions/AddonManager.jsm",
"toolkit/mozapps/extensions/internal/PluginProvider.jsm",
"toolkit/mozapps/extensions/internal/XPIDatabase.jsm",
"toolkit/mozapps/extensions/test/browser/head.js",
"toolkit/mozapps/extensions/test/xpcshell/head_addons.js",
"toolkit/mozapps/handling/content/dialog.js",
],
rules: {
"no-setter-return": "off",
"mozilla/reject-chromeutils-import-params": "off",
},
},
],
......
......@@ -73,6 +73,7 @@ exclude =
testing/marionette/harness/marionette_harness/tests,
testing/mochitest/pywebsocket3,
testing/mozharness/configs/test/test_malformed.py,
testing/web-platform/mozilla/tests/tools/wptserve_py2,
testing/web-platform/tests,
tools/lint/test/files,
tools/infer/test/*.configure,
......
......@@ -58,3 +58,6 @@ devtools/client/debugger/src/test/mochitest/examples/ember/quickstart
# These are source mapped and the locations are asserted in the test case.
devtools/client/webconsole/test/browser/test-mangled-function.*
# Ignore backgroundtasks preferences files.
toolkit/components/backgroundtasks/defaults
......@@ -222,7 +222,7 @@ tasks:
# Note: This task is built server side without the context or tooling that
# exist in tree so we must hard code the hash
image: 'taskcluster/decision:2.2.0@sha256:0e9689e94605eb8395f5b49141a48148416b0d825f6f7be04c29642d1a85ee3d'
image: 'mozillareleases/gecko_decision:3.0.1@sha256:9964730ed951584e65032bd1d6a2b7ede6d880a8b7aefb72d0d7f82346d834e3'
maxRunTime: 1800
......
This diff is collapsed.
......@@ -5,8 +5,6 @@
# and do not need to be listed here. Their external dependencies are vendored
# into `third_party/rust` by `mach vendor rust`.
members = [
"js/rust",
"js/src",
"js/src/frontend/smoosh",
"js/src/rust",
"js/src/wasm/cranelift",
......@@ -33,8 +31,6 @@ exclude = [
# be included in the top-level one.
"gfx/wgpu",
"gfx/wr",
"media/audioipc",
"media/cubeb-rs",
# Excluded because they are used only as dependencies, not top-level targets,
# so we don't need to vendor their dev-dependencies.
......@@ -70,6 +66,13 @@ opt-level = 1
[profile.release.build-override]
opt-level = 1
# optimizing glsl more makes a big difference in swgl build times
[profile.dev.package.glsl]
opt-level = 2
[profile.release.package.glsl]
opt-level = 2
[patch.crates-io]
chardetng = { git = "https://github.com/hsivonen/chardetng", rev="fd4ed671ef495af4dcda4c4cba3ef8d426db8af1" }
chardetng_c = { git = "https://github.com/hsivonen/chardetng_c", rev="ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" }
......@@ -77,19 +80,19 @@ libudev-sys = { path = "dom/webauthn/libudev-sys" }
packed_simd = { git = "https://github.com/hsivonen/packed_simd", rev="0917fe780032a6bbb23d71be545f9c1834128d75" }
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 = "wgpu4" }
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 = "4ea371049a9cca212cc13c19b7952c1c014085c6" }
minidump_writer_linux = { git = "https://github.com/msirringhaus/minidump_writer_linux.git", rev = "01c7a0da8d34059f7dae8ab9e7512529ff16347a" }
[patch.crates-io.cranelift-codegen]
git = "https://github.com/mozilla-spidermonkey/wasmtime"
rev = "3334d92350da40b90d2529c147db3ea44918b558"
rev = "a25399760e9f12b679aa267dd2af7cfedc72bb71"
[patch.crates-io.cranelift-wasm]
git = "https://github.com/mozilla-spidermonkey/wasmtime"
rev = "3334d92350da40b90d2529c147db3ea44918b558"
rev = "a25399760e9f12b679aa267dd2af7cfedc72bb71"
# Patch autocfg to hide rustc output. Workaround for https://github.com/cuviper/autocfg/issues/30
[patch.crates-io.autocfg]
......
......@@ -6,7 +6,7 @@
#include "AccessibleWrap.h"
#include "JavaBuiltins.h"
#include "Accessible-inl.h"
#include "LocalAccessible-inl.h"
#include "HyperTextAccessible-inl.h"
#include "AccEvent.h"
#include "AndroidInputType.h"
......@@ -45,7 +45,7 @@ IDSet sIDSet(31UL);
// construction
//-----------------------------------------------------
AccessibleWrap::AccessibleWrap(nsIContent* aContent, DocAccessible* aDoc)
: Accessible(aContent, aDoc) {
: LocalAccessible(aContent, aDoc) {
if (aDoc) {
mID = AcquireID();
DocAccessibleWrap* doc = static_cast<DocAccessibleWrap*>(aDoc);
......@@ -100,7 +100,7 @@ nsresult AccessibleWrap::HandleAccEvent(AccEvent* aEvent) {
if ((ht && ht->SelectionCount())) {
DOMPoint point =
AsHyperText()->OffsetToDOMPoint(caretEvent->GetCaretOffset());
if (Accessible* newPos =
if (LocalAccessible* newPos =
doc->GetAccessibleOrContainer(point.node)) {
static_cast<AccessibleWrap*>(newPos)->PivotTo(
java::SessionAccessibility::HTML_GRANULARITY_DEFAULT, true,
......@@ -120,7 +120,7 @@ nsresult AccessibleWrap::HandleAccEvent(AccEvent* aEvent) {
}
}
nsresult rv = Accessible::HandleAccEvent(aEvent);
nsresult rv = LocalAccessible::HandleAccEvent(aEvent);
NS_ENSURE_SUCCESS(rv, rv);
accessible->HandleLiveRegionEvent(aEvent);
......@@ -247,12 +247,12 @@ void AccessibleWrap::Shutdown() {
}
}
Accessible::Shutdown();
LocalAccessible::Shutdown();
}
bool AccessibleWrap::DoAction(uint8_t aIndex) const {
if (ActionCount()) {
return Accessible::DoAction(aIndex);
return LocalAccessible::DoAction(aIndex);
}
if (mContent) {
......@@ -300,7 +300,7 @@ void AccessibleWrap::PivotTo(int32_t aGranularity, bool aForward,
a11y::Pivot pivot(accOrProxyRoot);
TraversalRule rule(aGranularity);
AccessibleOrProxy accOrProxy = AccessibleOrProxy(this);
Accessible* result =
LocalAccessible* result =
aForward ? pivot.Next(accOrProxy, rule, aInclusive).AsAccessible()
: pivot.Prev(accOrProxy, rule, aInclusive).AsAccessible();
if (result && (result != this || aInclusive)) {
......@@ -317,7 +317,7 @@ void AccessibleWrap::ExploreByTouch(float aX, float aY) {
a11y::Pivot pivot(RootAccessible());
TraversalRule rule;
Accessible* result = pivot.AtPoint(aX, aY, rule).AsAccessible();
LocalAccessible* result = pivot.AtPoint(aX, aY, rule).AsAccessible();
if (result && result != this) {
RefPtr<AccEvent> event =
......@@ -357,7 +357,7 @@ void AccessibleWrap::NavigateText(int32_t aGranularity, int32_t aStartOffset,
}
int32_t newOffset;
Accessible* newAnchor = nullptr;
LocalAccessible* newAnchor = nullptr;
if (aForward) {
newAnchor = pivot.NextText(this, &start, &end, pivotGranularity);
newOffset = end;
......@@ -367,7 +367,7 @@ void AccessibleWrap::NavigateText(int32_t aGranularity, int32_t aStartOffset,
}
if (newAnchor && (start != aStartOffset || end != aEndOffset)) {
if (IsTextLeaf() && newAnchor == Parent()) {
if (IsTextLeaf() && newAnchor == LocalParent()) {
// For paragraphs, divs, spans, etc., we put a11y focus on the text leaf
// node instead of the HyperTextAccessible. However, Pivot will always
// return a HyperTextAccessible. Android doesn't support text navigation
......@@ -856,7 +856,7 @@ mozilla::java::GeckoBundle::LocalRef AccessibleWrap::ToBundle(
auto childCount = ChildCount();
nsTArray<int32_t> children(childCount);
for (uint32_t i = 0; i < childCount; i++) {
auto child = static_cast<AccessibleWrap*>(GetChildAt(i));
auto child = static_cast<AccessibleWrap*>(LocalChildAt(i));
children.AppendElement(child->VirtualViewID());
}
......@@ -909,12 +909,12 @@ bool AccessibleWrap::HandleLiveRegionEvent(AccEvent* aEvent) {
nsString atomic;
rv = attributes->GetStringProperty("container-atomic"_ns, atomic);
Accessible* announcementTarget = this;
LocalAccessible* announcementTarget = this;
nsAutoString announcement;
if (atomic.EqualsIgnoreCase("true")) {
Accessible* atomicAncestor = nullptr;
for (Accessible* parent = announcementTarget; parent;
parent = parent->Parent()) {
LocalAccessible* atomicAncestor = nullptr;
for (LocalAccessible* parent = announcementTarget; parent;
parent = parent->LocalParent()) {
dom::Element* element = parent->Elm();
if (element &&
element->AttrValueIs(kNameSpaceID_None, nsGkAtoms::aria_atomic,
......
......@@ -6,8 +6,8 @@
#ifndef mozilla_a11y_AccessibleWrap_h_
#define mozilla_a11y_AccessibleWrap_h_
#include "Accessible.h"
#include "mozilla/a11y/ProxyAccessible.h"
#include "LocalAccessible.h"
#include "mozilla/a11y/RemoteAccessible.h"
#include "mozilla/java/GeckoBundleWrappers.h"
#include "mozilla/java/SessionAccessibilityWrappers.h"
#include "nsCOMPtr.h"
......@@ -15,7 +15,7 @@
namespace mozilla {
namespace a11y {
class AccessibleWrap : public Accessible {
class AccessibleWrap : public LocalAccessible {
public:
AccessibleWrap(nsIContent* aContent, DocAccessible* aDoc);
virtual ~AccessibleWrap();
......@@ -90,7 +90,7 @@ class AccessibleWrap : public Accessible {
private:
virtual AccessibleWrap* WrapperParent() {
return static_cast<AccessibleWrap*>(Parent());
return static_cast<AccessibleWrap*>(LocalParent());
}
virtual bool WrapperRangeInfo(double* aCurVal, double* aMinVal,
......@@ -112,7 +112,7 @@ class AccessibleWrap : public Accessible {
static uint32_t GetFlags(role aRole, uint64_t aState, uint8_t aActionCount);
};
static inline AccessibleWrap* WrapperFor(const ProxyAccessible* aProxy) {
static inline AccessibleWrap* WrapperFor(const RemoteAccessible* aProxy) {
return reinterpret_cast<AccessibleWrap*>(aProxy->GetWrapper());
}
......
......@@ -4,7 +4,7 @@
* 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/. */
#include "Accessible-inl.h"
#include "LocalAccessible-inl.h"
#include "AccessibleOrProxy.h"
#include "DocAccessibleChild.h"
#include "DocAccessibleWrap.h"
......@@ -110,17 +110,25 @@ void DocAccessibleWrap::CacheViewportCallback(nsITimer* aTimer,
continue;
}
Accessible* visibleAcc = docAcc->GetAccessibleOrContainer(content);
LocalAccessible* visibleAcc = docAcc->GetAccessibleOrContainer(content);
if (!visibleAcc) {
continue;
}
for (Accessible* acc = visibleAcc; acc && acc != docAcc->Parent();
acc = acc->Parent()) {
if (inViewAccs.Contains(acc->UniqueID())) {
for (LocalAccessible* acc = visibleAcc; acc && acc != docAcc->LocalParent();
acc = acc->LocalParent()) {
const bool alreadyPresent =
inViewAccs.WithEntryHandle(acc->UniqueID(), [&](auto&& entry) {
if (entry) {
return true;
}
entry.Insert(RefPtr{acc});
return false;
});
if (alreadyPresent) {
break;
}
inViewAccs.Put(acc->UniqueID(), RefPtr{acc});
}
}
......@@ -128,7 +136,7 @@ void DocAccessibleWrap::CacheViewportCallback(nsITimer* aTimer,
DocAccessibleChild* ipcDoc = docAcc->IPCDoc();
nsTArray<BatchData> cacheData(inViewAccs.Count());
for (auto iter = inViewAccs.Iter(); !iter.Done(); iter.Next()) {
Accessible* accessible = iter.Data();
LocalAccessible* accessible = iter.Data();
nsAutoString name;
accessible->Name(name);
nsAutoString textValue;
......@@ -150,9 +158,8 @@ void DocAccessibleWrap::CacheViewportCallback(nsITimer* aTimer,
} else if (RefPtr<SessionAccessibility> sessionAcc =
SessionAccessibility::GetInstanceFor(docAcc)) {
nsTArray<AccessibleWrap*> accessibles(inViewAccs.Count());
for (auto iter = inViewAccs.Iter(); !iter.Done(); iter.Next()) {
accessibles.AppendElement(
static_cast<AccessibleWrap*>(iter.Data().get()));
for (const auto& entry : inViewAccs) {
accessibles.AppendElement(static_cast<AccessibleWrap*>(entry.GetWeak()));
}
sessionAcc->ReplaceViewportCache(accessibles);
......@@ -162,8 +169,8 @@ void DocAccessibleWrap::CacheViewportCallback(nsITimer* aTimer,
AccessibleOrProxy accOrProxy = AccessibleOrProxy(docAcc);
a11y::Pivot pivot(accOrProxy);
TraversalRule rule(java::SessionAccessibility::HTML_GRANULARITY_DEFAULT);
Accessible* first = pivot.First(rule).AsAccessible();
Accessible* last = pivot.Last(rule).AsAccessible();
LocalAccessible* first = pivot.First(rule).AsAccessible();
LocalAccessible* last = pivot.Last(rule).AsAccessible();
// If first/last are null, pass the root document as pivot boundary.
if (IPCAccessibilityActive()) {
......@@ -222,8 +229,8 @@ void DocAccessibleWrap::CacheFocusPath(AccessibleWrap* aAccessible) {
if (IPCAccessibilityActive()) {
DocAccessibleChild* ipcDoc = IPCDoc();
nsTArray<BatchData> cacheData;
for (AccessibleWrap* acc = aAccessible; acc && acc != this->Parent();
acc = static_cast<AccessibleWrap*>(acc->Parent())) {
for (AccessibleWrap* acc = aAccessible; acc && acc != this->LocalParent();
acc = static_cast<AccessibleWrap*>(acc->LocalParent())) {
nsAutoString name;
acc->Name(name);
nsAutoString textValue;
......@@ -240,17 +247,17 @@ void DocAccessibleWrap::CacheFocusPath(AccessibleWrap* aAccessible) {
acc->Bounds(), acc->ActionCount(), name, textValue, nodeID,
description, acc->CurValue(), acc->MinValue(),
acc->MaxValue(), acc->Step(), attributes));
mFocusPath.Put(acc->UniqueID(), RefPtr{acc});
mFocusPath.InsertOrUpdate(acc->UniqueID(), RefPtr{acc});
}
ipcDoc->SendBatch(eBatch_FocusPath, cacheData);
} else if (RefPtr<SessionAccessibility> sessionAcc =
SessionAccessibility::GetInstanceFor(this)) {
nsTArray<AccessibleWrap*> accessibles;
for (AccessibleWrap* acc = aAccessible; acc && acc != this->Parent();
acc = static_cast<AccessibleWrap*>(acc->Parent())) {
for (AccessibleWrap* acc = aAccessible; acc && acc != this->LocalParent();
acc = static_cast<AccessibleWrap*>(acc->LocalParent())) {
accessibles.AppendElement(acc);
mFocusPath.Put(acc->UniqueID(), RefPtr{acc});
mFocusPath.InsertOrUpdate(acc->UniqueID(), RefPtr{acc});
}
sessionAcc->ReplaceFocusPathCache(accessibles);
......@@ -266,7 +273,7 @@ void DocAccessibleWrap::UpdateFocusPathBounds() {
DocAccessibleChild* ipcDoc = IPCDoc();
nsTArray<BatchData> boundsData(mFocusPath.Count());
for (auto iter = mFocusPath.Iter(); !iter.Done(); iter.Next()) {
Accessible* accessible = iter.Data();
LocalAccessible* accessible = iter.Data();
if (!accessible || accessible->IsDefunct()) {
MOZ_ASSERT_UNREACHABLE("Focus path cached accessible is gone.");
continue;
......@@ -285,7 +292,7 @@ void DocAccessibleWrap::UpdateFocusPathBounds() {
SessionAccessibility::GetInstanceFor(this)) {
nsTArray<AccessibleWrap*> accessibles(mFocusPath.Count());
for (auto iter = mFocusPath.Iter(); !iter.Done(); iter.Next()) {
Accessible* accessible = iter.Data();
LocalAccessible* accessible = iter.Data();
if (!accessible || accessible->IsDefunct()) {
MOZ_ASSERT_UNREACHABLE("Focus path cached accessible is gone.");