Bug 94508
Summary: | RenderLayer::paintLayerContents replace paint phase bit mask with enumeration | ||
---|---|---|---|
Product: | WebKit | Reporter: | Dirk Schulze <krit> |
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | achicu, jchaffraix, simon.fraser |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Dirk Schulze
The rendering code is using a bit mask for the different paint phases. It might be more clear to use an enumeration instead, since painting operations are exclusively.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Simon Fraser (smfr)
PaintPhase is already an enumeration. Maybe you're confusing this with PaintLayerFlags, which does need to be a bitmask.
Dirk Schulze
Yes, I was referring to the PaintLayerFlags. Why do they need to be a bit mask? When do we set more than one bit at once?
Julien Chaffraix
I don't understand what your proposal is. Could it be possible for you to clarify what you are trying to achieve?
> Why do they need to be a bit mask? When do we set more than one bit at once?
The different operations in PaintLayerFlags are not orthogonal at all, which would be required to use an enumeration: you can be painting with some combination of them. Look at RenderLayer::paintOverlayScrollbars for an example. Alternatively painting some transparent transformed object with a reflection would trigger different sets of flags to be set at different point during the painting.
Dirk Schulze
(In reply to comment #3)
> I don't understand what your proposal is. Could it be possible for you to clarify what you are trying to achieve?
>
> > Why do they need to be a bit mask? When do we set more than one bit at once?
>
> The different operations in PaintLayerFlags are not orthogonal at all, which would be required to use an enumeration: you can be painting with some combination of them. Look at RenderLayer::paintOverlayScrollbars for an example. Alternatively painting some transparent transformed object with a reflection would trigger different sets of flags to be set at different point during the painting.
Yes, we discussed it in IRC before, just forgot to close the bug. I was not ware that e.g reflection can be set with other things as well.