Closed Bug 1765944 Opened 3 years ago Closed 3 years ago

[CTW] Transform cache does not get updated when setting a transform

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
101 Branch
Tracking Status
firefox101 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

Details

(Whiteboard: [ctw-m2])

Attachments

(1 file)

We have accessible/tests/browser/bounds/browser_test_simple_transform.js for this. However, even though this is broken (verified manually), this wasn't failing with CTW enabled because of a bug in testBoundsInContent; see bug 1765460 comment 4. Once my patch to fix that bug lands, these tests will fail with CTW enabled.

A bit of debugging reveals that newStyle->StyleDisplay()->HasTransformStyle() returns true, but frame->IsTransformed() returns false. I wonder if the transform happens async; i.e. after DidSetComputedStyle returns. Or perhaps it just happens later in DidSetComputedStyle; the a11y notification is right at the top. newStyle->StyleDisplay()->HasTransform(frame) returns true, so I think we can use that. I think an earlier version of the patch did that, but it was changed because we thought frame->IsTransformed() would achieve the same in this case. It appears we were wrong.

The frame might not be transformed yet when MaybeQueueCacheUpdateForStyleChanges is called.
In that case, frame->IsTransformed() will return false.
However, newStyle->StyleDisplay()->HasTransform(frame) returns true, so we can use that.

Assignee: nobody → jteh
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 101 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: