New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 748485 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression: Version 60 is not working with background-blend-mode: color-burn

Reported by hoppe.y...@gmail.com, Jul 25 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.72 Safari/537.36

Example URL:
https://joomla-agentur.de/seo

Steps to reproduce the problem:
1. Go to https://joomla-agentur.de/seo with current beta
2. Check that you have a white space on the top
3. Check the same with current stable (you should see the div)
4. Disable the css property background-blend-mode: color-burn for uk-background-norepeat uk-background-cover uk-background-center-center uk-background-blend-color-burn uk-section uk-section-large 
5. You should see the div again

What is the expected behavior?
Seeing the div and background image with property background-blend-mode: color-burn

What went wrong?
Not displaying divs with background-blend-mode: color-burn

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes 59

Does this work in other browsers? Yes

Chrome version: 60.0.3112.72  Channel: stable
OS Version: Arch Linux
Flash Version:
 
Components: -Blink Blink>Paint
Labels: -Type-Bug -Pri-2 BugSource-User ReleaseBlock-Beta M-61 PaintTeamTriaged-20170725 Pri-1 Type-Bug-Regression
Owner: schenney@chromium.org
Status: Assigned (was: Unconfirmed)
Confirmed. I'll bisect.

We should block M-61 on this, and maybe M-60 once I find out the cause.
Owner: enne@chromium.org
Bisects to https://chromium.googlesource.com/chromium/src/+log/22025d9c19bd5ec9a927760b49d46dbdab35a0df..93af0c350008bf6e45ca995a8d88d161c8a384e0

That has a Skia roll that seems to be a no-op, and the "Back PaintRecord with PaintOpBuffer instead of SkPicture" patch.
https://chromium.googlesource.com/chromium/src/+/59df29deed59592d42ff7e600f33faf035e00b46

Maybe something was left out or not supported by the new PaintOpBuffer?

This might be easy to merge to M-60 if fixed fast.
Cc: pbomm...@chromium.org manoranj...@chromium.org bustamante@chromium.org
cc'ing Richar and Mano for M60.
Labels: OS-Mac OS-Windows
Observing similar issue on Win7 & Mac OS X 10.12.6.

Comment 6 by gov...@chromium.org, Jul 25 2017

A friendly reminder that M61 Beta promotion is coming soon! Your bug is labelled as Beta ReleaseBlock, pls make sure to land the fix and request a merge to M61 branch 3163 latest by 4:00 PM PT, Thursday (07/27). Thank you.

Comment 7 by enne@chromium.org, Jul 25 2017

Confirmed that it is my patch.  This would be a mess to roll out, so am looking into what fix I can.
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 26 2017

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

commit 23681aaf9e05a6db8f10f072f0db8c03e9334e6f
Author: Adrienne Walker <enne@chromium.org>
Date: Wed Jul 26 00:24:40 2017

Fix bug in PaintOpBuffer folding alpha optimization

PaintOpBuffer tries to fold together saveLayer/draw/restore into a
single draw-with-alpha, however it was doing this in cases that it
shouldn't.  If the external saveLayer had an alpha of 255, then it would
believe that it was always a noop.  However, if the draw op had some
blend mode or image filter (and thus didn't support folding) then it's
not safe to consider this saveLayer a noop.

Fix by reordering the conditionals so that if the draw op doesn't
support then PaintOpBuffer goes down the normal no folding raster path.

Bug:  748485 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I0eeea49f3348aecda137860231a78b0075993834
Reviewed-on: https://chromium-review.googlesource.com/585633
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489494}
[modify] https://crrev.com/23681aaf9e05a6db8f10f072f0db8c03e9334e6f/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/23681aaf9e05a6db8f10f072f0db8c03e9334e6f/cc/paint/paint_op_buffer_unittest.cc

Comment 9 by gov...@chromium.org, Jul 26 2017

Labels: ReleaseBlock-Stable M-60
Tagging as M60 Stable Blocker per comment #7. Mano/Richard, pls take a look and remove "RBS" label if needed. Thank you.
Cc: amineer@chromium.org josa...@chromium.org
Labels: OS-Android OS-Chrome
Also adding Android and Chrome OS as this is a Blink issue. Please feel free to remove if needed. 
Cc: ranjitkan@chromium.org
Labels: TE-Verified-M62 TE-Verified-62.0.3167.0
Rechecked this issue on Windows 10, Mac 10.12.5, Ubuntu 14.04, Android 7.0.99/MRA20 (Nexus 5 handset - Desktop and Normal mode) - Using version 62.0.3167.0 and observed that fix is working as intended. Able to view the Div on the web page. Attached a screen shot for the same.

Note: Latest Build available on Chrome OS is version 62.0.3165.0 which does not have the fix.

Request a merge for M61 and M60. Adding TE-verified labels for M62.

Thanks.!


Visible Div.png
1.5 MB View Download
While you are on it, can you check for background-blend-mode: overlay; too? It also does not work. Screenshot -> http://prntscr.com/g0evmc
Sure, divs are displayed with CSS property "background-blend-mode: color-burn". Attached a screen shot for the same.

CSS-Div.png
810 KB View Download
Labels: Merge-Request-61
Requesting M-61 merge. We'll verify there and then look at M-60.

But the agreement I made with the release manager was we would only M-60 merge if a re-spin is required. We will not block a stable release on this.

Comment 15 by enne@chromium.org, Jul 26 2017

Re: comment #12.  sulmanpucit: Thanks for asking.  All blend modes are fixed by my change, not just burn.  You can work around this in the short term before this fix gets out by applying an 0.99 opacity to the element with the background-blend-mode.
Labels: -ReleaseBlock-Beta -ReleaseBlock-Stable
> But the agreement I made with the release manager was we would only M-60 merge if a re-spin is required. We will not block a stable release on this.

Removing tags that are marking it as blocking 60, then.
Labels: Merge-Approved-61
Approving merge to M61 Chrome OS.
Labels: -Merge-Request-61

Comment 19 by allxm...@gmail.com, Jul 27 2017

It's sad that there was a decision not to merge it in 60. Quite a few websites are using background-blend-mode (writing this while making a hack for M60 in production)
Project Member

Comment 20 by bugdroid1@chromium.org, Jul 27 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c04c55153655018db52625c59e5caaa0a60523a0

commit c04c55153655018db52625c59e5caaa0a60523a0
Author: Adrienne Walker <enne@chromium.org>
Date: Thu Jul 27 16:32:13 2017

Fix bug in PaintOpBuffer folding alpha optimization

PaintOpBuffer tries to fold together saveLayer/draw/restore into a
single draw-with-alpha, however it was doing this in cases that it
shouldn't.  If the external saveLayer had an alpha of 255, then it would
believe that it was always a noop.  However, if the draw op had some
blend mode or image filter (and thus didn't support folding) then it's
not safe to consider this saveLayer a noop.

Fix by reordering the conditionals so that if the draw op doesn't
support then PaintOpBuffer goes down the normal no folding raster path.

TBR=enne@chromium.org

(cherry picked from commit 23681aaf9e05a6db8f10f072f0db8c03e9334e6f)

Bug:  748485 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I0eeea49f3348aecda137860231a78b0075993834
Reviewed-on: https://chromium-review.googlesource.com/585633
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489494}
Reviewed-on: https://chromium-review.googlesource.com/589785
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#80}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/c04c55153655018db52625c59e5caaa0a60523a0/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/c04c55153655018db52625c59e5caaa0a60523a0/cc/paint/paint_op_buffer_unittest.cc

Comment 21 Deleted

Cc: abdulsyed@chromium.org
Just wondering, would it still be good idea (per c#3) to consider the above merge to M60 (Branch#3112)? Since we are re-spinning Chrome stable this week to address other blockers.

Thank you!
Labels: Merge-Request-60
The patch itself is a good merge candidate. It's up to the release managers as to whether it is worth merging. Clearly our users think so.
Project Member

Comment 24 by sheriffbot@chromium.org, Aug 1 2017

Labels: -Merge-Request-60 Hotlist-Merge-Review Merge-Review-60
This bug requires manual review: Request affecting a post-stable build
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-60 Merge-Approved-60
LGTM the change meets the bar and is approved for merge into M60
Project Member

Comment 26 by bugdroid1@chromium.org, Aug 1 2017

Labels: -merge-approved-60 merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b9af97fcf59094c34b90651aa5f99c718d6d149c

commit b9af97fcf59094c34b90651aa5f99c718d6d149c
Author: Adrienne Walker <enne@chromium.org>
Date: Tue Aug 01 21:30:39 2017

Fix bug in PaintOpBuffer folding alpha optimization

PaintOpBuffer tries to fold together saveLayer/draw/restore into a
single draw-with-alpha, however it was doing this in cases that it
shouldn't.  If the external saveLayer had an alpha of 255, then it would
believe that it was always a noop.  However, if the draw op had some
blend mode or image filter (and thus didn't support folding) then it's
not safe to consider this saveLayer a noop.

Fix by reordering the conditionals so that if the draw op doesn't
support then PaintOpBuffer goes down the normal no folding raster path.

TBR=enne@chromium.org

(cherry picked from commit 23681aaf9e05a6db8f10f072f0db8c03e9334e6f)

Bug:  748485 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I0eeea49f3348aecda137860231a78b0075993834
Reviewed-on: https://chromium-review.googlesource.com/585633
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489494}
Reviewed-on: https://chromium-review.googlesource.com/596947
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#700}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/b9af97fcf59094c34b90651aa5f99c718d6d149c/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/b9af97fcf59094c34b90651aa5f99c718d6d149c/cc/paint/paint_op_buffer_unittest.cc

Cc: hdodda@chromium.org
Labels: TE-Verified-60.0.3112.90 TE-Verified-M60
verified the issue on Windows 10, Mac 10.12.5, Ubuntu 14.04 - Using version 60.0.3112.90 and observed that fix is working as intended. Able to view the Div on the web page and divs are displayed with CSS property "background-blend-mode: color-burn". 

Attached a screencast for the same.

Adding TE-Verified labels.

Thanks!


748485.mp4
1004 KB View Download
Android: Works as per expected behavior, Issue verified on M60: 60.0.3112.96 
 Works as per expected behavior, Issue verified on WebView version M60: 60.0.3112.96 
Tested device:Samsung on nxt / MMB29K.

Thanks!

Comment 30 by enne@chromium.org, Aug 14 2017

Status: Fixed (was: Assigned)

Sign in to add a comment