Closed Bug 991515 Opened 12 years ago Closed 12 years ago

Stop using FrameMetrics on the RequestContentRepaint call path

Categories

(Core :: Panning and Zooming, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: kats, Unassigned)

Details

Attachments

(1 file)

FrameMetrics was originally used for sending frame information on layers from layout to gfx. And then we started using it for other things because it was convenient. One of these things is the RequestContentRepaint function on GeckoContentController. I'd like to replace the use of FrameMetrics here with a new struct that only contains the fields relevant to the repaint request (i.e. anything that is read out of it). This might also allow removing some fields from FrameMetrics which will not be otherwise used. It might also be good to have FrameMetrics and the new struct have a common base class if there are still common fields.
Attached patch WIPSplinter Review
After working my way through this change I don't think it's a good idea. There's too much stuff in FrameMetrics that would be also wanted in this "RepaintMetrics" thing and it doesn't really make sense to split it out. I also ran into a problem that CalculatePendingDisplayPort is called both within APZC (with a FrameMetrics) and from TabChild (with a RepaintMetrics) and so the changes needed would be even more complex. I'm attaching the WIP of what I have so far just so people can point and laugh at how silly it is. The exercise wasn't entirely useless though since I found some other things for bug 989054.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
If we still wanted this would it make sense to have a base class that shares the commonalities?
It might, but I think the base class would have almost everything that's currently in FrameMetrics. Do you have a strong argument in favor of this?
Nope.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: