[Webkit-unassigned] [Bug 116839] Filtered element gets compositing layer unpredictably

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 14 17:17:34 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=116839


Max Vujovic <mvujovic at adobe.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|webkit-unassigned at lists.web |mvujovic at adobe.com
                   |kit.org                     |




--- Comment #3 from Max Vujovic <mvujovic at adobe.com>  2013-06-14 17:16:10 PST ---
Figured it out...

When the filtered layer is composited, it uses itself as the clippingRootForPainting. Its local clip rect is infinity, since the filtered layer has no overflow: hidden set. Thus, in RenderLayer::calculateLayerBounds, it returns its own bounds. These bounds do not overlap the composited layer, so the filtered layer changes to not composited.

When the filtered layer is not composited, it uses the nearest compositing container as the clippingRootForPainting. This container uses the local clip rect from the large parent element with overflow: hidden set. For the filtered layer, RenderLayer::calculateLayerBounds incorrectly assumes that this clip rect is smaller than the filtered layer bounds, and returns this clip rect. This large clip rect overlaps the composited layer, so the filtered layer changes back to composited.

I'll start working on a fix Monday next week (6/17) and post what I have then. However, I'm traveling for the rest of that week, so I might not get to finish up the patch until the week after that (week of 6/24).

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list