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

Issue 599177 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Canvas stopped working after tab discarding

Reported by yong...@toremote.com, Mar 30 2016

Issue description

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

Example URL:
http://remotespark.com:8080/

Steps to reproduce the problem:
1. try connect to a rdp server
2. switch the tab
3. switch back, the screen is white. in JS console, get the canvas content and draw something which will not work.

What is the expected behavior?
The screen should remain displayed

What went wrong?
The screen is blank and white

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? Yes before tab discarding

Does this work in other browsers? N/A 

Chrome version: 49.0.2623.110  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 21.0 r0

disable tab discarding will fix the problem.

The application is using websocket, canvas, and requestAnimationFrame

If it doesn't use requestAnimationFrame to draw the canvas, it's working fine.
 
Components: Blink>Canvas

Comment 2 by junov@chromium.org, Mar 30 2016

Owner: junov@chromium.org

Comment 3 by junov@chromium.org, Mar 30 2016

Status: Assigned (was: Unconfirmed)
I did more research on this. 

We also have ssh, telnet client which don't have this issue:

http://remotespark.com:8080/ssh.html
http://remotespark.com:8080/telnet.html

The difference is RDP is using more memory.

When switched back from another tab, the canvas looks like became invalid. You can draw anything on it but no real output.

If I try set canvas.width += 1 , then everything will be back to normal.

checked chrome://discards, the tab was actually not discarded, but obviously Chrome tried to recycle the canvas and make it invalid.




Comment 5 by junov@chromium.org, Apr 5 2016

Mergedinto: 591029
Status: Duplicate (was: Assigned)

Comment 6 by junov@chromium.org, Apr 6 2016

Status: Assigned (was: Duplicate)
Un-merging based on report from yongtao@
I tested this again on Canary, here is the new result:

1. Connect to RDP server, see the screen

2. Switch to another tab, do something and wait for several seconds.

3. Switch back to the RDP tab. The canvas is blank and not working.

4. Switch to another tab (do nothing), then switch back to RDP tab, the canvas is working again.

This can always be reproducible.


Comment 8 by junov@chromium.org, Apr 18 2016

Labels: M-52

Comment 9 by junov@chromium.org, May 19 2016

Is this still broken?
Just tested it again on Version 52.0.2741.0 canary (64-bit) and Version 50.0.2661.102 m

still the same:

1. Connect to RDP server, see the screen

2. Switch to another tab, do something and wait for several seconds.

3. Switch back to the RDP tab. The canvas is blank and not working.

4. Switch to another tab (do nothing), then switch back to RDP tab, the canvas is working again, may need to try step 4 2 more times.



Project Member

Comment 11 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

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

Mergedinto: -591029 613513
Status: Duplicate (was: Assigned)

Sign in to add a comment