Video elements are painted twice, in PaintPhaseForeground and PaintPhaseSelfOutline
In r105247 <http://trac.webkit.org/changeset/105247>, a following change has been made.
> Index: trunk/Source/WebCore/rendering/RenderReplaced.cpp
> --- a/trunk/Source/WebCore/rendering/RenderReplaced.cpp
> +++ b/trunk/Source/WebCore/rendering/RenderReplaced.cpp
> @@ -123,5 +123,5 @@
> paintOutline(paintInfo.context, paintRect);
> - if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhaseSelection)
> + if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhaseSelection && !canHaveChildren())
Before this change, it was ensured paintReplaced is called only in PaintPhaseForeground and PaintPhaseSelection.
After this change, paintReplaced is called even in PaintPhaseSelfOutline if canHaveChildren().
Issue 485644 - chromium - Outline of replaced object is painted twice
Created attachment 280227 [details]
You should be able to detect the double-painting by using border or background with alpha in a ref test, right?
Created attachment 280671 [details]
Thank you for review. I added a test case.
Created attachment 280675 [details]
outline-replaced-elements-offset-actual.png before fixing
All outline has a negatie offset in this test case.
All outline should be painted on a element.
But, only video element's outline was hidden by the poster image.
Comment on attachment 280671 [details]
Attachment 280671 [details] did not pass ios-sim-ews (ios-simulator-wk2):
New failing tests:
Created attachment 280680 [details]
Archive of layout-test-results from ews122 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.4
Created attachment 280681 [details]
Comment on attachment 280681 [details]
Clearing flags on attachment: 280681
Committed r201752: <http://trac.webkit.org/changeset/201752>
All reviewed patches have been landed. Closing bug.