Bug 57484
Summary: | [chromium] Clean up compositor layer dirty state | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adrienne Walker <enne> |
Component: | WebCore Misc. | Assignee: | Adrienne Walker <enne> |
Status: | RESOLVED WONTFIX | ||
Severity: | Normal | CC: | enne |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All | ||
Bug Depends on: | 57113 | ||
Bug Blocks: |
Adrienne Walker
Here's the state of things: there are currently a number of different ways to track dirtiness on LayerChromium (m_dirtyRect and m_contentsDirty). There's also setNeedsDisplay(FloatRect), setNeedsDisplay(), invalidateRect(FloatRect), and resetNeedsDisplay(). A bunch of layers also skip these functions and touch m_dirtyRect directly, but don't touch m_contentsDirty.
On top of that, the tiler that content and image layers will own (a
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Adrienne Walker
(Oops. Clicked on something that sent a half-finished bug-report.)
Here's the state of things: there are currently a number of different ways to track dirtiness on LayerChromium (m_dirtyRect and m_contentsDirty). There's also setNeedsDisplay(FloatRect), setNeedsDisplay(), invalidateRect(FloatRect), and resetNeedsDisplay(). A bunch of layers also skip these functions and touch m_dirtyRect directly, but don't touch m_contentsDirty. It also looks like resetNeedsDisplay is never called (but probably should be) and invalidateRect is a no-op virtual that nothing ever overrides.
On top of that, the tiler that content and image layers will own (see bug 57113) track their own separate dirty rect.
This should get cleaned up and sorted out.