Replace the basic extension.svg icon with an hollow version.
Use this new hollow icon also for omnibox entries in the urlbar.
Use the filled version in extensionControlled, but note this is currently
unused due to some other generic icon overriding it.
Differential Revision: https://phabricator.services.mozilla.com/D113804
The original triangle winding check was designed to be run inside the span
rasterizer every time the edges changed. However, at present, this only ever
gets used once at the very top of the triangle to determine winding and then
assumes winding is constant thereafter.
This updates the check to work on these assumptions to be simpler and less
fragile where numerical precision is concerned. If we can assume the candidate
edges both start on the same row, then the check boils down to seeing if they
share the same starting point and doing a cross-product.
Differential Revision: https://phabricator.services.mozilla.com/D113900
It's a relatively minor one (two keyframes are leaked). I built latest
GTK3 from source and it wasn't reproducible locally. I think our GTK
version on automation might be too old and not have this commit:
10fa786dfa
Or something of that sort.
Differential Revision: https://phabricator.services.mozilla.com/D113948
And add code to use the appropriate variant like we do in macOS with
respect-system-appearance (but this still needs more work as noted in
StaticPrefList.yaml).
Still, it cleans up a bunch, and allows to not depend on the content
process boundary to provide light system colors.
Depends on D113542
Differential Revision: https://phabricator.services.mozilla.com/D113543
Rather than have SwCompositor or the individual RenderCompositors track this, it seems easier
to just have WR itself avoid calling add_surface or start_compositing if we're inside an update.
Differential Revision: https://phabricator.services.mozilla.com/D113953
For now, ApplicationAccessibleWrap inherits from the new class.
ApplicationAccessible calls are made via an AppAcc() method which in turn calls MsaaAccessible::LocalAcc().
Since MsaaAccessible::LocalAcc() returns null if defunct, defunct checks have been adjusted accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D112944
For now, we can't use MsaaAccessible::LocalAcc() because these are inherited into multiple Wrap classes, but we don't know which at runtime.
However, we can still prepare by creating a Table/CellAcc() method which can be easily replaced once we kill the Wrap inheritance.
For LocalAccessibles other than `this`, rather than static_casting, GetNativeInterface is now used.
Differential Revision: https://phabricator.services.mozilla.com/D112943
Rather than static_casting `this`, there is now a LocalAcc() method which in turn calls MsaaAccessible::LocalAcc().
Since MsaaAccessible::LocalAcc() returns null if defunct, defunct checks have been adjusted accordingly.
For LocalAccessibles other than `this`, rather than static_casting, GetNativeInterface is now used.
ia2AccessibleValue::QueryInterface was adjusted to AddRef the queried interface on `this`, not the AccessibleWrap.
Finally, calls to HyperTextProxyFor() in ia2AccessibleHyperlink assertions were replaced with calls to LocalAccessible::IsProxy(), since HyperTextProxyFor statically asserts the inheritance we're removing and isn't otherwise useful.
Differential Revision: https://phabricator.services.mozilla.com/D112941
Once MsaaAccessible is no longer inherited into AccessibleWrap, we'll null the AccessibleWrap pointer when the AccessibleWrap shuts down.
At that point, MsaaAccessible won't deal with defunct AccessibleWraps.
Prepare for this by removing defunct special cases from most callers.
To allow for this, the assertion in IsDefunct() had to be changed to allow null mContent when IsProxy() is true.
Otherwise, calling IsDefunct() on a live RemoteAccessibleWrap asserts.
It seems we previously never called IsDefunct() in this case, but this patch now does due to the call to LocalAcc() in GetIAccessibleFor().
Differential Revision: https://phabricator.services.mozilla.com/D112940
We have to look at the element or its parent to fix the wikipedia case because there is a display block div inside the table cell.
Differential Revision: https://phabricator.services.mozilla.com/D113341