Closed Bug 1449620 Opened 2 years ago Closed 2 years ago

Introduce the notion of an APZ updater thread

Categories

(Core :: Panning and Zooming, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox61 --- fixed

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(1 file)

In bug 1441916 we added an APZ sampler thread. But we need to split that so the "sampler" thread only has functions that are sampling-related, while a new "updater" thread does the updating bits. This is necessary to complete bug 1391318 because we'll want the updating stuff to happen on the scene builder thread while the sampling happens on the render backend thread.
Comment on attachment 8963345 [details]
Bug 1449620 - Extract an APZUpdater class from APZSampler.

https://reviewboard.mozilla.org/r/232244/#review237712

::: gfx/layers/apz/public/APZUpdater.h:10
(Diff revision 1)
> + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
> +
> +#ifndef mozilla_layers_APZUpdater_h
> +#define mozilla_layers_APZUpdater_h
> +
> +#include "base/message_loop.h"

Does anything actually require this include? If it's just Runnable, nsThreadUtils.h would be a more targeted include.
Attachment #8963345 - Flags: review?(botond) → review+
(In reply to Botond Ballo [:botond] from comment #3)
> Does anything actually require this include? If it's just Runnable,
> nsThreadUtils.h would be a more targeted include.

Yeah, it was just Runnable. Updated include to nsThreadUtils.h, that does seem a lot better, thanks! I also trimmed some of the forward-declarations that aren't needed any more - there were some that were only needed in one of {APZSampler, APZUpdater}.h and I had just copied the file so they were in both.

Finally I also added an APZUpdater alongside the APZSampler in a couple of the gtest files to make those pass (the try push above shows gtest failures because I missed this).
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2b4ca22e460c
Extract an APZUpdater class from APZSampler. r=botond
https://hg.mozilla.org/mozilla-central/rev/2b4ca22e460c
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in before you can comment on or make changes to this bug.