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

Issue 602246 link

Starred by 7 users

Issue metadata

Status: Duplicate
Merged: issue 613513
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Canvas elements not redrawn after resizing browser

Reported by m...@macguffinandshemp.com, Apr 11 2016

Issue description

Chrome Version       : 49.0.2623.112 DESKTOP | 49.02623.105 ANDROID
URLs http://www.macguffinandshemp.com/vanish/index_3.html :
Other browsers tested:
Firefox:OK
IE: OK

What steps will reproduce the problem?
ON desktop
(1)Open http://www.macguffinandshemp.com/vanish/index_3.html
(2)open second tab
(3)resize browser
(4)return to initial tab
(5)resize browser

What is the expected result?
Red rectangle should remain visible

What happens instead?
red rectangle element vanishes when browser resizes in step 5

---------------------------

ON Android phone (carry out all steps in LANDSCAPE as it works fine in portrait)
(1) open http://www.macguffinandshemp.com/vanish/index_3.html in Chrome with the phone in LANDSCAPE mode
(2) press home button
(3) return to Chrome
What is the expected result?
Red rectangle should be visible

What happens instead?
red rectangle element vanishes


Please provide any additional information below. Attach a screenshot if
possible.

If chrome://flags Accelerated 2D canvas is disabled the issue does not occur.

On phone pressing the task manager and returning to Chrome causes the red rectangle to be re-drawn


 
Update

'animated example' using ctx.clearRect and ctx.fillRect
This works as expected on desktop but does not work in chrome on android phone.

ON Android phone (carry out all steps in LANDSCAPE as it works fine in portrait)
(1) open http://www.macguffinandshemp.com/vanish/index_4.html in Chrome with the phone in LANDSCAPE mode
(2) press home button
(3) return to Chrome
What is the expected result?
Red rectangle should be visible after returning from home screen

What happens instead?
red rectangle element vanishes

Comment 2 Deleted

Additional tests:

http://www.macguffinandshemp.com/vanish/p_gl.html
This example shows pixiJS (black square) rendering in webGL next to the canvas render.
Notice how on a phone after pressing home in Landscape the canvas element fails to render when returning to Chrome whilst the WebGL content renders fine.

http://www.macguffinandshemp.com/vanish/p_canvas.html
This example shows pixiJS forced to render to canvas, notice how it now exhibits the issue (pressing home and returning to Chrome in Landscape mode causes the content to dissapear)
Labels: OS-Android
Cc: timloh@chromium.org rob.buis@chromium.org
Components: Blink>CSS
Labels: -OS-Android -Type-Bug -Pri-3 M-50 OS-Windows Pri-2 Type-Bug-Regression
Owner: rob.b...@samsung.com
Status: Assigned (was: Unconfirmed)
====================================

Good Build:

49.0.2622.0   Base Position: 369639


Bad Build:

49.0.2623.0   Base Position: 369907

=====================================

Able to repro this issue on Windows 7 for the Google Chrome Stable Version - 49.0.2623.112

This is a regression issue broken in M49, below mentioned is the bisect info:

CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/92931e5a56d2f359b8d4095e60965d50061c93f1..0f04bec7805049ef3807aef67bf8596e34f7c5da

Suspecting Commit: 1aa3ac45628b36da02fb46f3cc47b6fc09544155			

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

@rob.buis: Could you please look into the issue, and if it has nothing to do with your changes and if possible please do assign it to the concerned owner.

Thank you.

Note:
======

1. Issue not observed on MAC & Linux (Ubuntu Trusty)
2. Someone from Android Team has to verify this issue.
Cc: chrishtr@chromium.org
Can't repro with latest ToT chrome on Linux 15.04.

@christhr do you want to have a look? I noticed your commit has "resize" in the title. I don't think just parsing border-radius can cause this.
Status: WontFix (was: Assigned)
I can reproduce on Chrome 49 / Mac, but not Chrome 50.0.2661.86 / Mac. Closing.
Hi I have just tested chrome 50.0.2661.89 on an Android phone and the issue is still happening.

To recreate
ON Android phone (carry out all steps in LANDSCAPE as it works fine in portrait)
(1) open http://www.macguffinandshemp.com/vanish/index_4.html in Chrome with the phone in LANDSCAPE mode
(2) press home button
(3) return to Chrome
What is the expected result?
Red rectangle should be visible after returning from home screen
red rectangle element vanishes

The issue is also happening on Chrome Version 50.0.2661.87 m for windows.
(I can also conform that it isn't happening on a Mac)


Many thanks for your assistance.
Matt
Cc: junov@chromium.org
Components: Blink>Canvas
I can also reproduce with 50.0.2661.89 / Android. But not 51.0.2704.22 / Android.
Could you try on Chrome Dev 51 with Android to confirm my results? And the same
on Windows, thanks.
Hi I can still reproduce with:

Chrome Dev 51.0.2704.22
OS: Android 4.4.2: C6603 Build/10.5.A.0.230

Thanks
Components: -Blink>CSS
Owner: chrishtr@chromium.org
Status: Assigned (was: WontFix)
Weird. Do you have an Android 6.0 device to compare by chance?

I wonder if the canvas needs to be in a particular mode to trigger this.

I don't but I will ask a colleague tomorrow to see if they can still reproduce on their Android 6.0 device with the dev version of chrome.

FYI it only seems to happen on small devices not tablets (Nexus). Maybe it has something to do with how Chrome rotates as it closes on phones when it's in landscape mode. This would also explain why it doesn't happen when the device is in portrait mode.


Hi chrishtr@chromium.org, just got a colleague to check. The issue is still happening for him, details below.

Nexus 5x

Android 6.0.1


1.       Load url (http://www.macguffinandshemp.com/vanish/index_4.html)

2.       Hold phone in landscape

3.       Press home button

4.       Reload browser

 

Current v50 = boxes vanish

Beta v51 = boxes vanish

Dev v52 = boxes vanish
Cc: -rob.buis@chromium.org
I was able to reproduce this issue using this fiddle: http://jsfiddle.net/Raveler/pV2ud/

OS: Windows 10

On all of these:
Chrome 52.0.2723.0 canary (64-bit)
Chrome 52.0.2724.0 canary (64-bit)
Chrome 50.0.2661.94 m

1. Load url (http://jsfiddle.net/Raveler/pV2ud/)
2. Change to another tab
3. Resize browser
4. Come back to tab opened in step 1
5. Change to another tab
6. Come back to tab opened in step 1

At step 4, once in a while (about 1/20), the green square rendered in the canvas vanished. It will reappear at step 6.

I experience a very similar issue on a production site (a game) in which user have to wait very often for short periods, so they tend to switch tab often. I cannot share the url on this forum, but I can give it in private if it helps.
I also was able to reproduce this issue on http://www.macguffinandshemp.com/vanish/index_3.html , but with slightly different steps:

OS: Windows 10

Version 50.0.2661.94 m

1. Load url (http://www.macguffinandshemp.com/vanish/index_3.html)
2. Change to another tab
3. Resize browser
4. Come back to tab opened in step 1
5. Resize browser
6. Change to another tab
7. Come back to tab opened in step 1

After step 5, the red rectangle disappeared. It reappeared at step 7.
I can reproduce now. It only happens with accelerated canvas.
Owner: junov@chromium.org
I think the bug is that when the original tab is re-shown, this happens:

1. Change to another tab
  1b. Visibility status of the canvas element changes, and it throws away its accelerated
   image buffer to save memory
2. Change back to original tab
  2a. WwebViewImpl resize
  2b. Update all lifecycle phases

3. Change visibility state of the canvas element

4. Update all lifecycle phases (this is a no-op since nothing is dirty)

Previously step 2a stopped at layout, which presumably allowed step 4 to notice canvas visiblity state had
changed and re-allocate the image buffer/canvas rendering context.

I tried briefly to fix in HTMLCanvasElement. Justin could you look into it? You will probably be able
to find out a fix very quickly...
Cc: trchen@chromium.org brajkumar@chromium.org
 Issue 612987  has been merged into this issue.
Justin any idea on what the state management issue is here?

Comment 21 by junov@chromium.org, May 24 2016

Labels: -M-50 -Pri-2 M-52 Pri-1
I think the canvas hibernation mechanism may be to blame.
Project Member

Comment 22 by sheriffbot@chromium.org, Jun 1 2016

Labels: -M-52 M-53 MovedFrom-52
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Ping - Justin? This is a P1 bug.

Comment 24 by junov@chromium.org, Jun 13 2016

Mergedinto: 613513
Status: Duplicate (was: Assigned)
No repro in Canary.  This probably had the same root cause as  issue 613513 ,
which was fixed last week.

https://codereview.chromium.org/2051513002

Sign in to add a comment