Regression: Chat window of gmail does not open smoothly while maximizing.
Reported by
jshan...@etouch.net,
Sep 6 2016
|
||||||||
Issue descriptionChrome 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.
,
Sep 9 2016
,
Sep 9 2016
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.
,
Sep 9 2016
,
Sep 9 2016
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...
,
Sep 12 2016
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.
,
Sep 12 2016
Patch here: https://codereview.chromium.org/2333653002
,
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
,
Sep 13 2016
Let's let this sit for a bit and then backport to M54.
,
Sep 15 2016
Requesting a merge to M54.
,
Sep 15 2016
Your change meets the bar and is auto-approved for M54 (branch: 2840)
,
Sep 15 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
,
Sep 21 2016
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.
,
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
,
Nov 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9 commit e02ee8681a05a4e85552ec37e2a6999b0f2e76d9 Author: benwells <benwells@chromium.org> Date: Mon Nov 07 21:54:35 2016 Remove references to DrMemory from chromium repo. This removes references to DrMemory for MB, GN and buildbot, and also removes references to redundant DrMemory bots and DrMemory targets. BUG= 655521 , 644217 Review-Url: https://codereview.chromium.org/2455463002 Cr-Commit-Position: refs/heads/master@{#430388} [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/BUILD.gn [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/PRESUBMIT_test.py [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/testing/buildbot/chromium.full.json [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/testing/buildbot/chromium.memory.full.json [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/testing/buildbot/gn_isolate_map.pyl [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/testing/buildbot/manage.py [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/third_party/re2/BUILD.gn [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/tools/gn/docs/cookbook.md [modify] https://crrev.com/e02ee8681a05a4e85552ec37e2a6999b0f2e76d9/tools/mb/mb_config.pyl
,
Nov 7 2016
Oops ignore that ^^^ |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by nyerramilli@chromium.org
, Sep 6 2016