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

Issue 679763 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

setInterval and requestAnimationFrame stop firing when another Chrome window is being dragged

Reported by wen...@openfin.co, Jan 10 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Steps to reproduce the problem:
1. Open a new browser window running the following code:
  <div id='id1' style="width: 100px;height: 100px"></div>
    <script type="text/javascript">
        var myDiv = document.getElementById('id1');
        var num = 1;
        setInterval(function(){
            myDiv.innerHTML = " " + num++;
        }, 1);        
    </script> 

2. Drag another window

What is the expected behavior?
The counter in ID1 should keep updating

What went wrong?
The counter stops being updated for few seconds, or for the entire duration of the drag.

Did this work before? N/A 

Chrome version: 55.0.2883.87  Channel: stable
OS Version: 6.3
Flash Version: Shockwave Flash 24.0 r0

I am able to reproduce the issue on Windows7, as well as older version of Chromium, such as 49.

requestAnimationFrame has the same behavior.
 
TimerFreezeShort.mov
3.7 MB Download
Cc: kkaluri@chromium.org
Labels: Needs-Feedback
wenjun@ in order to triage this issue could you please help us with the sample html test case, so that we can reproduce the scenario on our end.

Thank You...

Comment 2 by wen...@openfin.co, Jan 11 2017

Hello

Attached is the html file I am using to reproduce the issue.

It may take few minutes to reproduce the case of freezing during entire duration of dragging (from mouse press to mouse release).  It is much easier to make the short freezes (2-3 seconds) happen.

Thank you for the help
Wenjun
IntervalFreeze.html
427 bytes View Download
Labels: -Needs-Feedback Needs-Triage-M55
Cc: sunn...@chromium.org briander...@chromium.org
Components: -UI Internals>GPU>Scheduling
Looks like the timer keeps running, but it's just the display that doesn't update (notice the counter jumping from 25k to 30k when the mouse is released in the video).

Brian/Sunny, could this be related to display scheduling somehow?
Labels: TE-NeedsTriageHelp

Comment 6 by enne@chromium.org, Jan 31 2017

Cc: ericrk@chromium.org
ericrk, this sounds a lot related to some of the resize work you've done.  Do we run a nested message loop when dragging a window?  Is there anything to be done here?

Comment 7 by ericrk@chromium.org, Jan 31 2017

That code hasn't landed, so it's not related to the resize/gutter work. I'm actually having trouble repro-ing this. skyostil@, when you were able to repro, was that on a win7 machine as well (I'm trying Win10, wondering if it's specific to a win version).

Comment 8 by danakj@chromium.org, Mar 22 2017

Owner: skyos...@chromium.org
Status: Assigned (was: Unconfirmed)
=> skyostil as this is waiting on feedback
(For the record I actually wasn't able to repro -- IIRC we were just watching the posted video.)

Sign in to add a comment