Bug 1813980: Check IsDoc before Parent in RemoteAccessibleBase::ApplyCrossDocOffset. r=morgan
We call this function on every ancestor when calculating bounds.
RemoteParent() currently requires a hash lookup, so it's more efficient to early return for !IsDoc() first.
This is a micro-optimisation, but it might have some impact given that we call this on every ancestor, especially when hit testing, where we call Bounds() a lot.
As a bit of drive-by cleanup, use RemoteParent() rather than calling Parent() and IsRemote/AsRemote().
Differential Revision:
https://phabricator.services.mozilla.com/D168346
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1151663
-->
<head>
<meta charset="utf-8">
<title>Tests related to scrollframe activation</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript" src="apz_test_native_event_utils.js"></script>
<script type="application/javascript" src="apz_test_utils.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
<script type="application/javascript">
if (isApzEnabled()) {
SimpleTest.waitForExplicitFinish();
let prefs = [
["apz.test.logging_enabled", true]
];
var subtests = [
{ file: "helper_scrollframe_activation_on_load.html", prefs },
{ file: "helper_bug982141.html", prefs },
];
if (getPlatform() != "android") {
// promiseMoveMouseAndScrollWheelOver in helper_check_dp_size doesn't
// work on android. Trying to use promiseNativeTouchDrag on android
// leads to very large display ports (larger than even the bad case
// below), not sure why.
subtests.push(
{ file: "helper_check_dp_size.html", prefs }
);
}
window.onload = function() {
runSubtestsSeriallyInFreshWindows(subtests)
.then(SimpleTest.finish, SimpleTest.finishWithFailure);
};
}
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1151663">Mozilla Bug 1151663</a>
</body>
</html>