Commit d0fda0f7 authored by Xianzhu Wang's avatar Xianzhu Wang Committed by Commit Bot

Don't paint outline in composited foreground layer

Previously when there is composited foreground layer, the outline was
painted on both the main graphics layer and the foreground layer.

Change-Id: I9c0bcf14ce4acb1f41a732e480b9c1a4126f69bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466620Reviewed-by: default avatarStephen Chenney <schenney@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#816669}
parent 60d189c7
......@@ -374,8 +374,7 @@ PaintResult PaintLayerPainter::PaintLayerContents(
// is not scrolled and should be above scrolled content.
bool should_paint_self_outline =
is_self_painting_layer && !is_painting_overlay_overflow_controls &&
(is_painting_composited_decoration ||
(!is_painting_overflow_contents && !is_painting_mask)) &&
is_painting_composited_decoration &&
paint_layer_.GetLayoutObject().StyleRef().HasOutline();
PhysicalOffset subpixel_accumulation =
......
<!DOCTYPE html>
There should be a square in uniform pale green color.
<div style="width: 100px; height: 100px; background: rgba(0, 128, 0, 0.5)"></div>
<!DOCTYPE html>
<title>Outline with translucent color, will-change:transform and negative-z index child</title>
<link rel="help" title="7.1. 'outline' property" href="http://www.w3.org/TR/css3-ui/#outline">
<link rel="match" href="translucent-outline-ref.html">
<style>div { will-change: transform; }</style>
There should be a square in uniform pale green color.
<div style="position: relative; top: 25px; left: 25px;
width: 50px; height: 50px;
outline: 25px solid rgba(0, 128, 0, 0.5);
background: rgba(0, 128, 0, 0.5)">
<div style="position: absolute; width: 10px; height: 10px; z-index: -1"></div>
</div>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment