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

Issue 632319 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression:Progress bar is not displayed properly while loading game.

Reported by vku...@etouch.net, Jul 28 2016

Issue description

Chrome Version:54.0.2810.2 (Official Build)Revision 84cc4cdf21633b6209f2561e78fea87d40e84329-refs/branch-heads/2810@{#5}(64-bit)
OS:Mac (10.10.5,10.11.4)


What steps will reproduce the problem?
(1)Launch chrome and navigate to http://entanglement.gopherwoodstudios.com/
(2)Observe the progress bar while loading game.

Actual: Progress bar is not displayed properly while loading game.

Expected: Progress bar should be properly displayed while loading game.

This is a regression issue broken in 'M54' and will soon update other info.




 

Comment 1 by vku...@etouch.net, Jul 28 2016

Labels: hasbisect
Owner: junov@chromium.org
Status: Assigned (was: Unconfirmed)
Manual regression range:
Good Build: 54.0.2809.0
Bad Build: 54.0.2810.0

CL:
https://chromium.googlesource.com/chromium/src/+log/54.0.2809.0..54.0.2810.0?pretty=fuller&n=10000
(Unable to narrow down the range using tool)

Suspecting:  408204 ?
Kindly help to re-assign, if your changes are not cause for this issue.

Note: Issue not seen on Win & Linux OS
Actual_Load.mov
3.3 MB Download
Expected_Load.mov
2.7 MB Download
Labels: ReleaseBlock-Stable
Adding RB Label as this is a recent Regression. Please remove if not required.
Thank You.

Comment 3 by ajha@chromium.org, Aug 3 2016

Still reproducible on the latest canary: 54.0.2816.4 on Mac OS 10.11.5.

junov@: Could you please update the thread and confirm if https://codereview.chromium.org/2181183003 is related change. 
Just to update, issue still exists on canary version 54.0.2824.0 on MAC 10.11.6. Issue is marked with a stable blocker.

@junov: Request you to please provide an update on it.

Thanks.!
Cc: ranjitkan@chromium.org
Issue still persists on Mac 10.11.6 using 54.0.2827.0.
Note that I can only reproduce this consistently with --enable-gpu-rasterization. (Conversely, --disable-gpu-rasterization makes it go away.) This might be tricky to repro in stable, where on Mac it's controlled by an experimental percentage.
Bisecting with --enable-gpu-rasteriation on Mac yields:

You are probably looking for a change made after 406634 (known good), but no later than 406649 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/178c750299b0c864c76bbe64e6830144d02816ea..326934c3dd341e43ecaa2c05fbf7597f7c21764d

Possibly https://chromium.googlesource.com/chromium/src/+/c9ed083cb0aefcbf4dde912343bb7c80f9e0fedc ?
Cc: vmp...@chromium.org
Yep, --disable-partial-raster fixes the problem.

Comment 10 by junov@chromium.org, Aug 15 2016

Based on that info, suspecting:
https://chromium.googlesource.com/chromium/src/+/c9ed083cb0aefcbf4dde912343bb7c80f9e0fedc

Re-assigning to ericrk@
This issue is still seen on latest canary 54.0.2836.0 with --enable-gpu-rasterization

ericrk@, Could you please take a look.
Components: -Internals>GPU>Canvas2D Blink>Paint>Invalidation
This appears to be an invalidation issue. Partial raster (which is enabled for GPU raster on mac, but not for SW) makes this easier to hit. The following example will trigger the issue when using the either the standard SW path or GPU raster on Mac.

<html>
<script>
progress = 40;
function update() {
  progress++;
  if (progress == 800) {
    progress = 40;
  }
  document.getElementById("progress").value = progress;
  setTimeout(function() {  update();
}, 10);
}
</script>
<body onload="update();">
<progress id="progress" value="40" max="1000" style="height:5px;top:250px;position:absolute;"></progress>
</body>
</html>

Comment 13 Deleted

I can't trigger this bug on Windows/Linux. It appears that each platform renders "native" looking progress bars differently - this only seems to happen with the Mac one.

I've attached an image which shows the issue. The image shows tile borders as well as paint flashing. You can see that paint flashing invalidations don't line up with the progress bar. Additionally, the invalidation is in a different tile from the bar, which leads to the bar never being redrawn, and visually staying at "40" progress despite being updated.
progress_invalidation.png
11.8 KB View Download
From looking at other platforms, it appears that the invalidation is in the "correct" place - unfortunately we're drawing the progress bar in the wrong place.
Owner: chrishtr@chromium.org
Chris, can you take a look at this? Thanks!
Just to update:

This issue is still seen on latest canary 54.0.2840.0 with --enable-gpu-rasterization
Cc: rnimmagadda@chromium.org
Issue still persists on MAC (10.11.6) using 55.0.2846.0
This issue is still seen on Mac 10.11.6 latest canary 54.0.2853.0 with --enable-gpu-rasterization

chrishtr@, Could you please take a look
Project Member

Comment 20 by bugdroid1@chromium.org, Sep 7 2016

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

commit ddcf55c02da8508bb6766b078e70100d5ad66621
Author: chrishtr <chrishtr@chromium.org>
Date: Wed Sep 07 16:23:49 2016

Mac: adjust sizes of progress bars to be equal to painted size.

Moves code to compute the size into the style adjustment phase, and simplifies
it according to the actual margins specified in the style configs.

BUG= 632319 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2305133002
Cr-Commit-Position: refs/heads/master@{#416955}

[modify] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size-expected.png
[add] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size-expected.txt
[add] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size.html
[modify] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/ddcf55c02da8508bb6766b078e70100d5ad66621/third_party/WebKit/Source/core/paint/ThemePainterMac.mm

Labels: Merge-Request-54
Project Member

Comment 22 by bugdroid1@chromium.org, Sep 7 2016

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

commit 7a38e55621dea27de80eaeb229251c891441cda8
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Wed Sep 07 18:45:08 2016

Auto-rebaseline for r416955

https://chromium.googlesource.com/chromium/src/+/ddcf55c02

BUG= 632319 
TBR=chrishtr@chromium.org

Review URL: https://codereview.chromium.org/2319033005 .

Cr-Commit-Position: refs/heads/master@{#417011}

[modify] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/android/paint/theme/adjust-progress-bar-size-expected.png
[add] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/android/paint/theme/adjust-progress-bar-size-expected.txt
[modify] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/dom/HTMLProgressElement/progress-element-expected.png
[add] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/theme/adjust-progress-bar-size-expected.png
[modify] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLProgressElement/progress-element-expected.png
[add] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLProgressElement/progress-element-expected.txt
[add] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/win/paint/theme/adjust-progress-bar-size-expected.png
[add] https://crrev.com/7a38e55621dea27de80eaeb229251c891441cda8/third_party/WebKit/LayoutTests/platform/win/paint/theme/adjust-progress-bar-size-expected.txt

Comment 23 by dimu@chromium.org, Sep 8 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Could you please confirm whether this change is baked/verified in Canary and safe to merge?If yes, merge your change to M54 (branch: 2840) so that we could take this for next Beta Release.

This change has not yet made it into mac canary.
It has now made it to Mac Canary, and I verified the fix works. Will merge now.
Project Member

Comment 27 by bugdroid1@chromium.org, Sep 9 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf79a1b8cc1ce49dc911d8130621096d1bb13073

commit bf79a1b8cc1ce49dc911d8130621096d1bb13073
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri Sep 09 19:13:09 2016

Mac: adjust sizes of progress bars to be equal to painted size.

Moves code to compute the size into the style adjustment phase, and simplifies
it according to the actual margins specified in the style configs.

BUG= 632319 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2305133002
Cr-Commit-Position: refs/heads/master@{#416955}
(cherry picked from commit ddcf55c02da8508bb6766b078e70100d5ad66621)

Review URL: https://codereview.chromium.org/2331443002 .

Cr-Commit-Position: refs/branch-heads/2840@{#278}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size-expected.png
[add] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size-expected.txt
[add] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size.html
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/paint/ThemePainterMac.mm

Status: Fixed (was: Assigned)
Labels: TE-Verified-M54 TE-Verified-54.0.2840.27
Verified the issue on Mac 10.11.6 using chrome beta version #54.0.2840.27 as per the comment #0
Observed that the fix is working as expected.

Attaching screencast for reference

Hence, adding the verified labels.
632319.mp4
2.6 MB View Download
Project Member

Comment 30 by bugdroid1@chromium.org, Oct 27 2016

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

commit bf79a1b8cc1ce49dc911d8130621096d1bb13073
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Fri Sep 09 19:13:09 2016

Mac: adjust sizes of progress bars to be equal to painted size.

Moves code to compute the size into the style adjustment phase, and simplifies
it according to the actual margins specified in the style configs.

BUG= 632319 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2305133002
Cr-Commit-Position: refs/heads/master@{#416955}
(cherry picked from commit ddcf55c02da8508bb6766b078e70100d5ad66621)

Review URL: https://codereview.chromium.org/2331443002 .

Cr-Commit-Position: refs/branch-heads/2840@{#278}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size-expected.png
[add] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size-expected.txt
[add] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/LayoutTests/paint/theme/adjust-progress-bar-size.html
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutTheme.cpp
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutTheme.h
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutThemeMac.h
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/layout/LayoutThemeMac.mm
[modify] https://crrev.com/bf79a1b8cc1ce49dc911d8130621096d1bb13073/third_party/WebKit/Source/core/paint/ThemePainterMac.mm

Sign in to add a comment