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

Issue 644217 link

Starred by 3 users

Issue metadata

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



Sign in to add a comment

Regression: Chat window of gmail does not open smoothly while maximizing.

Reported by jshan...@etouch.net, Sep 6 2016

Issue description

Chrome Version: 55.0.2851.0 (Official Build) 419dd0260fb2102873be9483c09a07be0510ab33-refs/heads/master@{#416559}-32/64 bit
OS: Windows(7,8,10), Mac (10.10.5)(10.11.4), Linux(Ubuntu 14.04 LTS).

Steps:
1. Launch Chrome and sign into gmail with valid credentials.
2. Now open any chat window, then minimize and maximize the chat window and observe.

Actual: Chat window does not open properly i.e unnecessary delay is seen on opening the chat window and cursor is misplaced upward.

Expected: Chat window should open smoothly while maximizing.

This is a regression issue broken in M-55, below is bisect info.

Good build: 55.0.2844.0
Bad build: 55.0.2845.0

Narrow bisect:
https://chromium.googlesource.com/chromium/src/+log/9da11463e3a843855f1d59ef6189c66e4b0e6ee2..84a3d0c455b12784c1fdee6dc8a3312380c9675c?pretty=fuller&n=100

Suspecting: r415278 ?

Please help to re-assign if your change is not the cause for this issue.
 
Actual_result.mp4
1.0 MB View Download
Expected_result.mp4
552 KB View Download
Actual_screenshot.jpg
347 KB View Download
Labels: ReleaseBlock-Stable
as this is recent regression, marking as RBS - please change if required.
Cc: skyos...@chromium.org mlippautz@chromium.org
 Issue 645369  has been merged into this issue.
Status: Started (was: Assigned)
Managed to reproduce this -- only seems to happen on GMail and not in Inbox. Confirmed that the problem goes away with --disable-blink-features=TimerThrottlingForHiddenFrames.

I suspect Hangouts has some hidden iframe which is used to drive either events related to the animation or the animation itself. I'll try to track it down.

I'm also wondering why this isn't a problem with Safari which does similar but even more aggressive throttling.
Cc: kenjibaheux@chromium.org ojan@chromium.org
Found the culprit: there's a 0x0 cross origin iframe at (1086, 117) which becomes throttled. If I unthrottle it, then the animation works again.

We may need to add a special case for 0x0 frames...
Confirmed with a quick test that Safari (9.1.1) also never throttles 0x0 frames:

http://fiddle.jshell.net/ey0rjv6p/1/show/light/

I'll write a patch to do the same.
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 13 2016

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

commit b83d755a52a7fe9792af9ee360e551c157ad576e
Author: skyostil <skyostil@chromium.org>
Date: Tue Sep 13 05:16:14 2016

scheduler: Don't throttle 0x0 frames

This patch avoids throttling requestAnimationFrame and timers inside 0x0
frames. The reason is that some websites (e.g., GMail) use cross origin
0x0 frames to drive UI logic and throttling these frames causes
breakage. This change also makes us match Safari's behavior.

This patch also removes the test for throttling out-of-process iframes,
because it turns out the viewport intersection code is not able to
compute intersections across process boundaries. This capability will be
restored when IntersectionObserver gains support for out-of-process
iframes.

BUG= 644217 

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

[modify] https://crrev.com/b83d755a52a7fe9792af9ee360e551c157ad576e/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/b83d755a52a7fe9792af9ee360e551c157ad576e/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp

Status: Fixed (was: Started)
Let's let this sit for a bit and then backport to M54.
Labels: M-54 Merge-Request-54
Requesting a merge to M54.

Comment 11 by dimu@chromium.org, Sep 15 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 15 2016

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

commit 4703ea9efd84b2cadb8d7cf15951d7d65da1b641
Author: Sami Kyostila <skyostil@chromium.org>
Date: Thu Sep 15 11:33:45 2016

scheduler: Don't throttle 0x0 frames

This patch avoids throttling requestAnimationFrame and timers inside 0x0
frames. The reason is that some websites (e.g., GMail) use cross origin
0x0 frames to drive UI logic and throttling these frames causes
breakage. This change also makes us match Safari's behavior.

This patch also removes the test for throttling out-of-process iframes,
because it turns out the viewport intersection code is not able to
compute intersections across process boundaries. This capability will be
restored when IntersectionObserver gains support for out-of-process
iframes.

BUG= 644217 

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

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

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

[modify] https://crrev.com/4703ea9efd84b2cadb8d7cf15951d7d65da1b641/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/4703ea9efd84b2cadb8d7cf15951d7d65da1b641/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp

Cc: rnimmagadda@chromium.org
Labels: TE-Verified-54.0.2840.34 TE-Verified-M54
Verified the fix on Windows 7, MAC (10.11.6) & Ubuntu Trusty (14.04) for Google Chrome Beta Version - 54.0.2840.34

TE-Verified Labels are added.

Screen-recording is attached.
644217.mp4
961 KB View Download
Project Member

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

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

commit 4703ea9efd84b2cadb8d7cf15951d7d65da1b641
Author: Sami Kyostila <skyostil@chromium.org>
Date: Thu Sep 15 11:33:45 2016

scheduler: Don't throttle 0x0 frames

This patch avoids throttling requestAnimationFrame and timers inside 0x0
frames. The reason is that some websites (e.g., GMail) use cross origin
0x0 frames to drive UI logic and throttling these frames causes
breakage. This change also makes us match Safari's behavior.

This patch also removes the test for throttling out-of-process iframes,
because it turns out the viewport intersection code is not able to
compute intersections across process boundaries. This capability will be
restored when IntersectionObserver gains support for out-of-process
iframes.

BUG= 644217 

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

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

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

[modify] https://crrev.com/4703ea9efd84b2cadb8d7cf15951d7d65da1b641/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/4703ea9efd84b2cadb8d7cf15951d7d65da1b641/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp

Oops ignore that ^^^

Sign in to add a comment