Bug 106064

Summary: REGRESSION(r111439): Focus ring is rendered incorrectly in fast/inline/continuation-outlines-with-layers.html
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: Layout and RenderingAssignee: Robert Hogan <robert>
Status: RESOLVED FIXED    
Severity: Normal CC: enrica, eric, hyatt, ojan.autocc, robert, simon.fraser, webkit-bug-importer, webkit.review.bot
Priority: P1 Keywords: InRadar, LayoutTestFailure, Regression
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 69210, 81276    
Bug Blocks:    
Attachments:
Description Flags
Actual Image
none
Patch none

Description Ryosuke Niwa 2013-01-03 16:10:33 PST
Created attachment 181248 [details]
Actual Image

See the attached image. Outline ring is painted incorrectly.
Comment 1 Ryosuke Niwa 2013-01-03 16:18:55 PST
Updated test expectations in http://trac.webkit.org/changeset/138761.
Comment 2 Radar WebKit Bug Importer 2013-01-03 16:19:13 PST
<rdar://problem/12954200>
Comment 3 Simon Fraser (smfr) 2013-01-03 16:40:22 PST
When did this regress?
Comment 4 Ryosuke Niwa 2013-01-03 16:44:04 PST
(In reply to comment #3)
> When did this regress?

No idea. The test had been skipped until I removed it from TestExpectations file in http://trac.webkit.org/changeset/138734 since the bug associated with it had been resolved :(
Comment 5 Ryosuke Niwa 2013-01-03 17:06:55 PST
It appears to be a regression from http://trac.webkit.org/changeset/111439.
Comment 6 Ryosuke Niwa 2013-01-03 17:07:58 PST
From the change log of r111439:

​https://trac.webkit.org/changeset/108185/ allowed anonymous blocks to get their own layer (when they're
relatively positioned). This broke the dependency in addContinuationWithOutline() on the owner of the continuation
table and the renderer getting added to it always being in the same layer. When they're not in the same layer
there's no guarantee that the owner of the continuation table will get painted again and so avoid any stale pointers
in its continuation table should any of the renderers in there get destroyed.
Fix this for now by only adding renderers to the containing block's continuation table if we don't have our own layer.
This fix causes fast/inline/continuation-outlines-with-layers.html to regress as it uses blocks inside relatively positioned
inlines, so skip it on all platforms pending a medium-term fix.
Comment 7 Robert Hogan 2013-01-04 01:25:19 PST
*** Bug 81819 has been marked as a duplicate of this bug. ***
Comment 8 Robert Hogan 2013-01-07 14:21:38 PST
Created attachment 181565 [details]
Patch
Comment 9 Build Bot 2013-01-07 16:06:27 PST
Comment on attachment 181565 [details]
Patch

Attachment 181565 [details] did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15739912

New failing tests:
fast/inline/continuation-outlines-with-layers.html
Comment 10 Robert Hogan 2013-01-08 11:03:55 PST
(In reply to comment #9)
> (From update of attachment 181565 [details])
> Attachment 181565 [details] did not pass mac-ews (mac):
> Output: http://queues.webkit.org/results/15739912
> 
> New failing tests:
> fast/inline/continuation-outlines-with-layers.html

This is a text-only failure and the change in behaviour will only show up on the pixel results. Mac's RenderTree results for this are out of date, and have missed updates for sub-pixel rebaselines at the very least.
Comment 11 Dave Hyatt 2013-01-09 12:18:47 PST
Comment on attachment 181565 [details]
Patch

Test results don't look right? Shouldn't the before merge in rather than painting separately?
Comment 12 Robert Hogan 2013-01-09 12:21:51 PST
(In reply to comment #11)
> (From update of attachment 181565 [details])
> Test results don't look right? Shouldn't the before merge in rather than painting separately?

It has always rendered this way in Chromium as far as I can tell, e.g.:

http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-linux/fast/inline/continuation-outlines-with-layers-expected.png?rev=84406
Comment 13 Dave Hyatt 2013-01-09 12:23:43 PST
Comment on attachment 181565 [details]
Patch

r=me, but make sure we get a bug filed on the fact that the Chromium Linux results are wrong-looking.
Comment 14 WebKit Review Bot 2013-01-09 12:32:03 PST
Comment on attachment 181565 [details]
Patch

Clearing flags on attachment: 181565

Committed r139223: <http://trac.webkit.org/changeset/139223>
Comment 15 WebKit Review Bot 2013-01-09 12:32:09 PST
All reviewed patches have been landed.  Closing bug.