Closed Bug 1526489 Opened 8 months ago Closed 6 months ago

Move AutoApplyAsyncTestAttributes into AsyncPanZoomController method implementations


(Core :: Panning and Zooming, enhancement, P3)




Tracking Status
firefox67 --- wontfix
firefox68 --- fixed


(Reporter: botond, Assigned: botond)


(Blocks 1 open bug)



(4 files)

We have an RAII helper class named AutoApplyAsyncTestAttributes that's used to implement reftest-async-scroll and reftest-async-zoom by temporarily applying the specified async scroll and zoom in relevant places.

Currently, placing this class on the stack is the responsibility of the callers of AsyncPanZoomController methods that query async transforms, such as AsyncCompositionManager.

Such call sites have been proliferating with the containerless scrolling work (bug 1459312), and they're starting to feel a bit repetitive.

In this bug I'd like to explore moving the usage of this class inside the relevant AsyncPanZoomController methods themselves.

I have a vague recollection of Kashav trying this when he introduced AutoApplyAsyncTestAttributes and it not working, but I don't remember why, and in any case things my have changed and a fresh look doesn't hurt.

Blocks: 1534458

This gives us more flexibility in where to use it, so we don't have to
worry about double application.

Depends on D24610

Assignee: nobody → botond

Now that it's an implementation detail of AsyncPanZoomController, it doesn't
need to live in APZUtils.h.

Depends on D24612

Pushed by
Remove boolean return value of {Apply,Unapply}AsyncTestAttributes. r=kats
Make AutoApplyAsyncTestAttributes reentrant. r=kats
Move usage of AutoApplyAsyncTestAttributes inside AsyncPanZoomController methods. r=kats
Move AutoApplyAsyncTestAttributes into AsyncPanZoomController.cpp. r=kats
You need to log in before you can comment on or make changes to this bug.