RESOLVED FIXED 120135
Setting -webkit-filter: in :active selector causes failure to redraw
https://bugs.webkit.org/show_bug.cgi?id=120135
Summary Setting -webkit-filter: in :active selector causes failure to redraw
Jer Noble
Reported 2013-08-21 13:41:54 PDT
Created attachment 209300 [details] Reduced test case In the attached test case, clicking on the text will add a -webkit-filter to the active element. Releasing the mouse will remove that filter, but the text will not (always) redraw. It is important that the text is inside a composited parent, which is a sibling of a composited element.
Attachments
Reduced test case (779 bytes, text/html)
2013-08-21 13:41 PDT, Jer Noble
no flags
Simpler test (841 bytes, text/html)
2013-08-21 15:52 PDT, Simon Fraser (smfr)
no flags
Patch (8.36 KB, patch)
2013-08-21 16:54 PDT, Simon Fraser (smfr)
jer.noble: review+
Jer Noble
Comment 1 2013-08-21 13:47:01 PDT
Bisecting shows this occurs as early as http://trac.webkit.org/r122636, and probably earlier.
Simon Fraser (smfr)
Comment 2 2013-08-21 15:43:25 PDT
There is something about being an inline with a filter, which gives you a RenderLayer and, in the test, a compositing layer, and then the filter is removed and the RenderLayer goes away and your enclosing compositing layer doesn't repaint the correct area. So, in short, this will not be common.
Simon Fraser (smfr)
Comment 3 2013-08-21 15:52:37 PDT
Created attachment 209310 [details] Simpler test
Simon Fraser (smfr)
Comment 4 2013-08-21 16:24:36 PDT
Ah, we need to do what we do when opacity goes from non-1 to 1 or v.v., which is return true from RenderStyle::changeRequiresLayout().
Simon Fraser (smfr)
Comment 5 2013-08-21 16:54:03 PDT
Jer Noble
Comment 6 2013-08-21 16:57:46 PDT
Comment on attachment 209314 [details] Patch r=me. Nice simple fix.
Simon Fraser (smfr)
Comment 7 2013-08-21 17:14:27 PDT
Note You need to log in before you can comment on or make changes to this bug.