Closed Bug 1504220 Opened Last year Closed Last year

Lower the amount of includes for FrameMetrics.h

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: rhunt, Assigned: rhunt)

Details

Attachments

(2 files)

Touching this file can cause very long rebuild times. I don't think most includes are necessary for it.
I added this condition in the relative scroll update patches, but had
meant to clean it up to be idiomatic C++ and forgot to.
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b2b796345807
Fix poorly written conditional in AsyncPanZoomController. r=botond
https://hg.mozilla.org/integration/mozilla-inbound/rev/ad0782d7c503
Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
https://hg.mozilla.org/mozilla-central/rev/b2b796345807
https://hg.mozilla.org/mozilla-central/rev/ad0782d7c503
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.