Issue metadata
Sign in to add a comment
|
gmail "float over a name" popup isn't working any more |
||||||||||||||||||||||
Issue descriptionVersion: 55.0.2859.0 canary (64-bit) OS: Windows 10 What steps will reproduce the problem? (1) Load gmail (2) Open email (3) Float over the name, a popup should appear with their info. What is the expected output? Popup appears What do you see instead? No popup Please use labels and text to provide additional information. Works on Chrome stable: 53.0.2785.101 (Official Build) m (64-bit) Does not work on Chrome Canary: 55.0.2859.0 (Official Build) canary (64-bit)
,
Sep 15 2016
wow this range actually spans four Chrome releases - 55.0.2841.0..55.0.2845.0 so maybe I'll try an official bisect to get a better range.
,
Sep 15 2016
hmm the option to do official bisects seems to have vanished from bisect-builds.py - so I think that revision range is all we have. Perhaps TE can do a better bisect. To repro: - load gmail - open an email - float mouse over the name or icon of the sender. - Good revision is: a popup appears with the info for the person. - Bad revision is: nothing happens.
,
Sep 15 2016
bisect on linux64 had more revisions: You are probably looking for a change made after 415274 (known good), but no later than 415276 (first known bad). CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/f9fac4f..9da1146?pretty=fuller but that makes no sense, so running it again.
,
Sep 15 2016
You are probably looking for a change made after 415276 (known good), but no later than 415280 (first known bad). CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/9da1146..83ae78a?pretty=fuller possibly https://codereview.chromium.org/2023033003? Initially in 55.0.2845.0
,
Sep 15 2016
,
Sep 15 2016
Have noticed this too and it's *really* annoying. Now have to view the "original message" in Gmail in order to see the email addresses of recipients. Please investigate.
,
Sep 16 2016
Looks like --disable-blink-features=TimerThrottlingForHiddenFrames makes things work again. Curiously https://codereview.chromium.org/2333653002 did not fix this. Not sure what is going on yet.
,
Sep 16 2016
Any idea if this is working with Safari (I assume it does, but is it something they do or because the gmail code behaves differently?)
,
Sep 16 2016
Can we revert while this investigation is going on, and then add tests to make sure this doesn't regress when it's re-landed?
,
Sep 17 2016
I'd really appreciate it if this could be reverted -- Gmail is broken in several subtle ways, including that hovering over peoples' Hangouts chat names doesn't bring up the popup with their email address, making it impossible to confirm who you're chatting with.
,
Sep 17 2016
,
Sep 17 2016
FWIW floaties in gmail started working again for me on my home PC - 55.0.2863.0 (Official Build) canary (64-bit) on Windows 10.
,
Sep 19 2016
re: comment #13 this must have been just something different on my home machine because they are still not working in the office. Version 55.0.2865.0 canary (64-bit)
,
Sep 21 2016
Confirmed that --disable-blink-features=TimerThrottlingForHiddenFrames makes Gmail's floating pop-ups work again in 55.0.2867.0 (Official Build) canary (64-bit) on macOS.
,
Sep 22 2016
Sorry for the delay, I was out of office. I've got a patch to disable the the intervention for now: https://codereview.chromium.org/2358383003/
,
Sep 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b3e90443440cecbc3d24a045819b3d14e0b17c6 commit 3b3e90443440cecbc3d24a045819b3d14e0b17c6 Author: skyostil <skyostil@chromium.org> Date: Thu Sep 22 11:18:28 2016 Disable hidden timer throttling Disable the hidden timer throttling intervention while we investigate a Gmail regression. BUG= 647393 Review-Url: https://codereview.chromium.org/2358383003 Cr-Commit-Position: refs/heads/master@{#420301} [modify] https://crrev.com/3b3e90443440cecbc3d24a045819b3d14e0b17c6/content/public/common/content_features.cc
,
Sep 22 2016
Marking fixed so I can also disable the intervention on M54.
,
Sep 23 2016
Your change meets the bar and is auto-approved for M54 (branch: 2840)
,
Sep 23 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/82ec1189a0053aa4c8891c4c973e5289a12f416d commit 82ec1189a0053aa4c8891c4c973e5289a12f416d Author: Sami Kyostila <skyostil@chromium.org> Date: Fri Sep 23 15:05:48 2016 Disable hidden timer throttling Disable the hidden timer throttling intervention while we investigate a Gmail regression. BUG= 647393 Review-Url: https://codereview.chromium.org/2358383003 Cr-Commit-Position: refs/heads/master@{#420301} (cherry picked from commit 3b3e90443440cecbc3d24a045819b3d14e0b17c6) Review URL: https://codereview.chromium.org/2362283002 . Cr-Commit-Position: refs/branch-heads/2840@{#511} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/82ec1189a0053aa4c8891c4c973e5289a12f416d/content/public/common/content_features.cc
,
Sep 28 2016
Verified the issue on Win 10,Mac 10.11.6 and Ubuntu 14.04 using Beta # 54.0.2840.41 and its working fine.Attached the screen cast for the same.
,
Oct 13 2016
Here's what I think is going on with the Gmail contact cards. The card is first created at (0, -10000) and moved on-screen once it is ready, i.e., after the first rAF. Since we never rAF hidden frames, the contact card remains offscreen forever. What I don't know is why offscreen timer throttling tickled this bug. It is also activated by the rewrite to use IntersectionObserver for frame throttling[1], because that code can throttle a frame sooner than before. I believe (but haven't verified yet) this bug also affect Safari, but they get away with it because they tick rAF at 1 Hz instead of disabling it completely, so the card eventually shows up. I'm thinking of a compromise where we always rAF a frame at least once before throttling. It seems to work on Gmail also in conjunction with hidden timer throttling. Thoughts? [1] https://codereview.chromium.org/2272773002/
,
Oct 13 2016
Devil's advocate: should we just copy what safari does initially? And then try and get all the browsers to adopt a more aggressive approach like the one Sami suggests?
,
Oct 13 2016
That's a fair question. I think I'd want to avoid going for 1 Hz for two reasons: 1) if we do that and more sites start relying on it, it'll be even harder to be more aggressive later and 2) our current architecture isn't really set up to do throttled updates rather than completely disabling them -- it'd be a big rewrite.
,
Oct 13 2016
+1 to staying aggressive. Another option is that we could contact gmail and see if they can just fix this.
,
Oct 14 2016
Digging into this a little more, looks like my theory about animation frames doesn't hold water. The actual problem seems to be that when the popup iframe moves from y=-10000px into the viewport, the IntersectionObservation for it still says that it's hidden: Moved: FrameView 0x3438b0c6a938, parent (nil), 306, -10000, 350, 162 IntersectionObserver callback for FrameView 0x3438b0c6a938, wasHidden 0, isHidden 1, ratio 0.000000 Became throttled: FrameView 0x3438b0c6a938, 0, -10000, 1040, 150 Moved: FrameView 0x3438b0c6a938, parent 0x3438b0b621a8, 306, 158, 350, 162 IntersectionObserver callback for FrameView 0x3438b0c6a938, wasHidden 1, isHidden 1, ratio 0.000000 You can actually inspect the blank popup and see its contents in devtools, but because we still think its offscreen we don't paint anything inside it. (I checked that this isn't a dupe of crbug.com/637373 .) I'll try to find out what's going on once I get back after next week.
,
Oct 14 2016
If you can turn this into a reduced test case, we can have the layout team fix this since it's a general IntersectionObserver bug.
,
Oct 25 2016
Okay, found out what was going on. We were observing the document element instead of the frame owner element. If the document happened to be empty, we'd get an empty rect and concluded that the frame was invisible. Fix is in the latest patch set here: https://codereview.chromium.org/2272773002
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/82ec1189a0053aa4c8891c4c973e5289a12f416d commit 82ec1189a0053aa4c8891c4c973e5289a12f416d Author: Sami Kyostila <skyostil@chromium.org> Date: Fri Sep 23 15:05:48 2016 Disable hidden timer throttling Disable the hidden timer throttling intervention while we investigate a Gmail regression. BUG= 647393 Review-Url: https://codereview.chromium.org/2358383003 Cr-Commit-Position: refs/heads/master@{#420301} (cherry picked from commit 3b3e90443440cecbc3d24a045819b3d14e0b17c6) Review URL: https://codereview.chromium.org/2362283002 . Cr-Commit-Position: refs/branch-heads/2840@{#511} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/82ec1189a0053aa4c8891c4c973e5289a12f416d/content/public/common/content_features.cc
,
Nov 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3c364c812da0312a104e976ca5838507efe3488e commit 3c364c812da0312a104e976ca5838507efe3488e Author: skyostil <skyostil@chromium.org> Date: Tue Nov 01 17:56:08 2016 Use intersection observer to control frame throttling This patch removes the FrameView-specific code for computing viewport visibility in favor of registering an internal intersection observer. BUG= 616519 , 647393 ,661182 Review-Url: https://codereview.chromium.org/2272773002 Cr-Commit-Position: refs/heads/master@{#429046} [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/LayoutTests/LeakExpectations [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/LayoutTests/http/tests/activedomobject/media-expected.txt [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/LayoutTests/http/tests/activedomobject/media.html [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/Document.cpp [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.cpp [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/ElementVisibilityObserver.h [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/dom/IntersectionObserver.h [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/frame/FrameView.cpp [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/frame/FrameView.h [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.h [modify] https://crrev.com/3c364c812da0312a104e976ca5838507efe3488e/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp
,
Nov 4 2016
,
Nov 16 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1688130897aed95d32e3904a6aa10384414fbefe commit 1688130897aed95d32e3904a6aa10384414fbefe Author: skyostil <skyostil@chromium.org> Date: Wed Nov 16 22:14:29 2016 scheduler: Re-enable timer throttling for hidden frames Turn hidden timer throttling back now that the issue with Gmail pop-ups not working has been resolved by https://codereview.chromium.org/2272773002/. This patch also fixes a timer throttling related rebase error in a previous patch and adds new layout test that cover out-of-view timer and requestAnimationFrame throttling. Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q BUG= 616519 , 647393 Review-Url: https://codereview.chromium.org/2468863002 Cr-Commit-Position: refs/heads/master@{#432642} [modify] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/content/public/common/content_features.cc [add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html [add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html [add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html [add] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html [modify] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js [modify] https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe/third_party/WebKit/Source/core/frame/FrameView.cpp
,
Nov 17 2016
This is broken again in 56.0.2923.0 (Official Build) canary (64-bit) on macOS. Hovering over any names in Gmail doesn't raise the popup any more. Sami, I'm reopening this. Please investigate again.
,
Nov 17 2016
This is currently showing up as M55 Stable blocker. Is there anything needed for M55? (Fix listed at #c17 landed before M55 branch But I do see few other changes landed after M55 branch on Oct 6th at Chromium revision #423768.)
,
Nov 17 2016
Sorry, looks like the labels were out of date. This feature is not enabled in M55. The revert for ToT is in the cq: https://codereview.chromium.org/2511283002/
,
Nov 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/32461cca06891c91b22bb827c240333035d37289 commit 32461cca06891c91b22bb827c240333035d37289 Author: skyostil <skyostil@chromium.org> Date: Fri Nov 18 03:27:23 2016 Revert of scheduler: Re-enable timer throttling for hidden frames (patchset #6 id:100001 of https://codereview.chromium.org/2468863002/ ) Reason for revert: Regressed crbug.com/647393 . Original issue's description: > scheduler: Re-enable timer throttling for hidden frames > > Turn hidden timer throttling back now that the issue with Gmail pop-ups > not working has been resolved by https://codereview.chromium.org/2272773002/. > > This patch also fixes a timer throttling related rebase error in a > previous patch and adds new layout test that cover out-of-view timer > and requestAnimationFrame throttling. > > Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q > > BUG= 616519 , 647393 > > Committed: https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe > Cr-Commit-Position: refs/heads/master@{#432642} TBR=kinuko@chromium.org,ojan@chromium.org,ojan@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 616519 , 647393 Review-Url: https://codereview.chromium.org/2511283002 Cr-Commit-Position: refs/heads/master@{#433061} [modify] https://crrev.com/32461cca06891c91b22bb827c240333035d37289/content/public/common/content_features.cc [delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html [delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html [delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html [delete] https://crrev.com/a713652fa5868b8d3d5dae03856f8e785b5fcff7/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html [modify] https://crrev.com/32461cca06891c91b22bb827c240333035d37289/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js [modify] https://crrev.com/32461cca06891c91b22bb827c240333035d37289/third_party/WebKit/Source/core/frame/FrameView.cpp
,
Nov 18 2016
looks like you're aware already but 56.0.2924.2 (Official Build) canary (64-bit) the tooltip isn't working - looks like c36 will be in next canary though.
,
Nov 21 2016
#37, thanks, setting some labels to make sure the revert makes it to M56.
,
Nov 21 2016
Your change meets the bar and is auto-approved for M56 (branch: 2924)
,
Nov 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411 commit 0cb7b0e7a4157377ffe4728a71fcecabcf7f7411 Author: Sami Kyostila <skyostil@chromium.org> Date: Mon Nov 21 13:31:58 2016 Revert of scheduler: Re-enable timer throttling for hidden frames (patchset #6 id:100001 of https://codereview.chromium.org/2468863002/ ) Reason for revert: Regressed crbug.com/647393 . Original issue's description: > scheduler: Re-enable timer throttling for hidden frames > > Turn hidden timer throttling back now that the issue with Gmail pop-ups > not working has been resolved by https://codereview.chromium.org/2272773002/. > > This patch also fixes a timer throttling related rebase error in a > previous patch and adds new layout test that cover out-of-view timer > and requestAnimationFrame throttling. > > Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q > > BUG= 616519 , 647393 > > Committed: https://crrev.com/1688130897aed95d32e3904a6aa10384414fbefe > Cr-Commit-Position: refs/heads/master@{#432642} TBR=kinuko@chromium.org,ojan@chromium.org,ojan@google.com BUG= 616519 , 647393 Review-Url: https://codereview.chromium.org/2511283002 Cr-Commit-Position: refs/heads/master@{#433061} (cherry picked from commit 32461cca06891c91b22bb827c240333035d37289) Review URL: https://codereview.chromium.org/2520953002 . Cr-Commit-Position: refs/branch-heads/2924@{#27} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} [modify] https://crrev.com/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411/content/public/common/content_features.cc [delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html [delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html [delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html [delete] https://crrev.com/420142c2b9befd8d7163fdf3e66dd637e1452b97/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html [modify] https://crrev.com/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js [modify] https://crrev.com/0cb7b0e7a4157377ffe4728a71fcecabcf7f7411/third_party/WebKit/Source/core/frame/FrameView.cpp
,
Nov 22 2016
Tested the issue on windows 7, Linux Ubuntu 14.04 and Mac 10.11.6 using chrome version 56.0.2924.3.Able to see the pop up when hover on the name. Please find the attached screen shot for the same. Adding TE-Verified labels. Thanks,
,
Nov 25 2016
Okay, I think I finally got to the bottom of why this is working in Safari and not in Chrome. Safari has this wonderful piece of code[1] which only applies timer throttling after 4 nesting levels. This happens to be enough to let the Gmail popup load correctly -- I tried doing the same in Chrome and the bug went away. I think I'd like to avoid implementing this logic for a couple of reasons: 1) I think it causes reordering between timers depending on the nesting level. 2) It's pretty easy to get around the nesting level -- even accidentally -- which leads to work we can't throttle. 3) Having things like Gmail rely on this feels brittle. WDYT? I'll try to find out if we could do things differently in Gmail instead. [1] https://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.cpp#L2848
,
Nov 26 2016
Wow :) +1 on your proposal, the 4 nesting levels feels arbitrary and would lead to a lot of missed opportunities. Let me know if you need an intro to someone in the gmail team.
,
Nov 28 2016
For completeness here's the patch that made that tweak in WebKit: https://bugs.webkit.org/show_bug.cgi?id=146025. Interestingly it was landed to fix a broken Gmail chat mole. I checked and didn't see that problem with my patch.
,
Dec 9 2016
Can we have the latest update.Is this issue fixed?
,
Dec 12 2016
A fix was landed in Gmail and I'm waiting for it to get rolled out before I enable timer throttling again.
,
Dec 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61 commit 1667f2eb188cac8da8dcb2fc84a8357fd94b5f61 Author: skyostil <skyostil@chromium.org> Date: Tue Dec 13 18:17:44 2016 scheduler: Re-enable timer throttling for hidden frames Turn hidden timer throttling back now that the issue with Gmail pop-ups not working has been resolved by https://codereview.chromium.org/2272773002/. This patch also fixes a timer throttling related rebase error in a previous patch and adds new layout test that cover out-of-view timer and requestAnimationFrame throttling. Intent to ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/_Lhz8THHk2Q BUG= 616519 , 647393 Review-Url: https://codereview.chromium.org/2468863002 Cr-Commit-Position: refs/heads/master@{#438227} [modify] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/content/public/common/content_features.cc [add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/raf-throttling-out-of-view-cross-origin-page.html [add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/resources/raf-throttling-frame.html [add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/resources/timer-throttling-frame.html [add] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/fast/dom/timer-throttling-out-of-view-cross-origin-page.html [modify] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/test-helpers.js [modify] https://crrev.com/1667f2eb188cac8da8dcb2fc84a8357fd94b5f61/third_party/WebKit/Source/core/frame/FrameView.cpp
,
Dec 13 2016
,
Dec 14 2016
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by wfh@chromium.org
, Sep 15 2016