New issue
Advanced search Search tips

Issue 901302 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 12
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Compat



Sign in to add a comment

Background color disappears after dragging an element with tabindex and draggable="true" attributes

Reported by alexey.s...@gmail.com, Nov 2

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 OPR/56.0.3051.52

Example URL:
https://codepen.io/anon/pen/oQvyvE

Steps to reproduce the problem:
1. Try to drag&drop third div to the second one
2. Click on the second div

What is the expected behavior?
Background of the first div should not disappear or blink, it should stay the same during the whole process

What went wrong?
Background of the first div has disappeared after step 2.

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 0.0.3538.77  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 31.0 r0
 
video.webm
307 KB View Download
bug.html
268 bytes View Download
Chrome version is 70.0.3538.77
I had to drag each of the three lines to be able to repro.
Bisect info: 497208 (good) - 497217 (bad)
https://chromium.googlesource.com/chromium/src/+log/90e1f73c..d4efc5e1?pretty=fuller
Suspecting r497209 = 1db10196d999bf95545aaa30da897e9eb6a26b60 = https://crrev.com/c/627027 by wangxianzhu@chromium.org
"Also create subsequences for leaf stacking contexts"
Landed in 62.0.3196.0
Components: Blink>Paint
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Unconfirmed)
Seems out of date, but assigning based on bisect.
Cc: wangxianzhu@chromium.org
Owner: chrishtr@chromium.org
This will be fixed by chrishtr@'s https://chromium-review.googlesource.com/c/chromium/src/+/1320972
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b

commit 7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri Nov 09 02:21:06 2018

[PE] Get rid of empty paint phase detection.

This caused issues in cases where we skip caches,
have special paint paths, and culling in the presence
of non-composited overflow clipping.

There are still optimizations for absence of paint
phases generally. This CL just removes ones where
we detect "empty" by means of no change to the
display list.

Bug:  898995 ,  901302 

Change-Id: Ib3f79a615c88d0e97f4c9cec78056bf00e1358c6
Reviewed-on: https://chromium-review.googlesource.com/c/1320972
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606696}
[modify] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[add] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/WebKit/LayoutTests/paint/invalidation/float-offscreen-expected.html
[add] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/WebKit/LayoutTests/paint/invalidation/float-offscreen.html
[add] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/float-offscreen-expected.txt
[add] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/float-offscreen-expected.txt
[add] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/float-offscreen-expected.txt
[modify] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/blink/renderer/core/paint/README.md
[modify] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/blink/renderer/core/paint/paint_layer.h
[modify] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/blink/renderer/core/paint/paint_layer_painter.cc
[modify] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/blink/renderer/core/paint/paint_layer_painter_test.cc
[modify] https://crrev.com/7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc

Looks awesome, thanks for the quick fix!
@wangxianzhu@chromium.org any idea on which version of Chrome the fix will be available at?
The first version containing the fix will be the next canary (72.0.*.*). It will become stable in Jan 2019 (https://www.chromestatus.com/features/schedule).

A workaround is to add style="isolation: isolate" or style="contain: paint" to the draggable element.
Status: Fixed (was: Assigned)
Project Member

Comment 10 by bugdroid1@chromium.org, Nov 12

Labels: merge-merged-3578
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4cf4c697e7355340b145f97f16ada7be7ee5173

commit e4cf4c697e7355340b145f97f16ada7be7ee5173
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Nov 12 17:55:18 2018

[PE] Get rid of empty paint phase detection.

This caused issues in cases where we skip caches,
have special paint paths, and culling in the presence
of non-composited overflow clipping.

There are still optimizations for absence of paint
phases generally. This CL just removes ones where
we detect "empty" by means of no change to the
display list.

Bug:  898995 ,  901302 

TBR=chrishtr@chromium.org

(cherry picked from commit 7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b)

Change-Id: Ib3f79a615c88d0e97f4c9cec78056bf00e1358c6
Reviewed-on: https://chromium-review.googlesource.com/c/1320972
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#606696}
Reviewed-on: https://chromium-review.googlesource.com/c/1331628
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#635}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[add] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/WebKit/LayoutTests/paint/invalidation/float-offscreen-expected.html
[add] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/WebKit/LayoutTests/paint/invalidation/float-offscreen.html
[add] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/float-offscreen-expected.txt
[add] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/float-offscreen-expected.txt
[add] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/float-offscreen-expected.txt
[modify] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/blink/renderer/core/paint/README.md
[modify] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/blink/renderer/core/paint/paint_layer.cc
[modify] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/blink/renderer/core/paint/paint_layer.h
[modify] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/blink/renderer/core/paint/paint_layer_painter.cc
[modify] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/blink/renderer/core/paint/paint_layer_painter_test.cc
[modify] https://crrev.com/e4cf4c697e7355340b145f97f16ada7be7ee5173/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc

Labels: Merge-Merged-71-3578
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/e4cf4c697e7355340b145f97f16ada7be7ee5173

Commit: e4cf4c697e7355340b145f97f16ada7be7ee5173
Author: chrishtr@chromium.org
Commiter: chrishtr@chromium.org
Date: 2018-11-12 17:55:18 +0000 UTC

[PE] Get rid of empty paint phase detection.

This caused issues in cases where we skip caches,
have special paint paths, and culling in the presence
of non-composited overflow clipping.

There are still optimizations for absence of paint
phases generally. This CL just removes ones where
we detect "empty" by means of no change to the
display list.

Bug:  898995 ,  901302 

TBR=chrishtr@chromium.org

(cherry picked from commit 7f6f0f6a7cb3b0845cd39f930c17d4c915ed8c9b)

Change-Id: Ib3f79a615c88d0e97f4c9cec78056bf00e1358c6
Reviewed-on: https://chromium-review.googlesource.com/c/1320972
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#606696}
Reviewed-on: https://chromium-review.googlesource.com/c/1331628
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#635}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
Cc: chrishtr@chromium.org
 Issue 904370  has been merged into this issue.

Sign in to add a comment