Closed Bug 1677635 Opened 4 years ago Closed 4 years ago

Modernize nsOverflowAreas

Categories

(Core :: Layout, task)

task

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox85 --- fixed

People

(Reporter: TYLin, Assigned: TYLin)

References

Details

Attachments

(4 files)

https://searchfox.org/mozilla-central/rev/ff82c973f8ccb0475ec32439e9ec07014b3a681f/layout/generic/ReflowOutput.h#22-112

Ideas including:

  1. Support range-based for-loop to iterate over ink and scrollable overflow types.
  2. Convert nsOverflowType to a enum class.
  3. Move nsOverflowArea into mozilla namespace.

The existing nsOverflowType will be removed in the next part.

Also, I change UnionRectIncludeEmpty to UnionRectEdges in two FIXME
comments because the method is renamed in Bug 641426 Part 5
https://hg.mozilla.org/mozilla-central/rev/90e46b3e8e6f

In the next part, we are going to remove nsOverflowType in
OverflowAreas' implementation.

Depends on D97232

I believe we store the rects in an array so that
NS_FOR_FRAME_OVERFLOW_TYPES could be implemented easily. Now the macro
is removed in Part 1, we could store the rects in two separate rects for
clarity.

Depends on D97233

Blocks: 1677642
Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/73b445d83a72
Part 1 - Add an enum class mozilla::OverflowType, and remove NS_FOR_FRAME_OVERFLOW_TYPES. r=layout-reviewers,emilio
https://hg.mozilla.org/integration/autoland/rev/205e309a1fdb
Part 2 - Remove all external users of the obsolete nsOverflowType. r=layout-reviewers,emilio
https://hg.mozilla.org/integration/autoland/rev/988cd6a2d19f
Part 3 - Store ink overflow and scrollable overflow in separate rects in nsOverflowAreas. r=layout-reviewers,emilio
https://hg.mozilla.org/integration/autoland/rev/64a43ed745a1
Part 4 - Rename nsOverflowAreas to OverflowAreas, and move it into mozilla namespace. r=layout-reviewers,emilio
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: