New issue
Advanced search Search tips

Issue 853240 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

New UI: Tab dragging causes tab to disappear

Project Member Reported by erikc...@chromium.org, Jun 15 2018

Issue description

Moving the cursor will cause it to reappear. This is deterministically reproducible, watch video for repro steps.
 
reproducible_disappearing_tab.mov
6.0 MB View Download

Comment 1 by meh...@chromium.org, Jun 16 2018

Components: UI>Browser>TabStrip
Labels: -Pri-3 Proj-MdRefresh Pri-2
I can reproduce it. Happens in MdRefresh.
Tab_Disappears.mov
524 KB View Download
Labels: -Pri-2 Pri-1
Owner: kylixrd@chromium.org
We should fix this.
Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 20 2018

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

commit ecf6e73fb56fa1ab8b058eeab82ba68fae1d5d8e
Author: Allen Bauer <kylixrd@chromium.org>
Date: Wed Jun 20 18:46:01 2018

Don't blindly overwrite the |hovered_tab| without painting the current one first.

There are issues here that manifested differently. They where all caused by
the same core issue. Since the tabs overlap visually, two tabs can report as
being hovered so make sure the |hovered_tab| variable isn't blindly overwritten
without first making sure it's painted.

Bug:  853240 
Bug:  854371 
Change-Id: I62643659c6416cb23637613d0c3da83c6f4605f2
Reviewed-on: https://chromium-review.googlesource.com/1108338
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568950}
[modify] https://crrev.com/ecf6e73fb56fa1ab8b058eeab82ba68fae1d5d8e/chrome/browser/ui/views/tabs/tab_strip.cc

Status: Fixed (was: Started)

Comment 6 by meh...@chromium.org, Jun 20 2018

Hello kylixrd@: I tested Chromium Snapshot {#568965} which should include your change and unfortunately I still can reproduce the issue on macOS 10.13.4. The tab is invisible until you move the mouse cursor.




Tab_disappear_issue.mov
2.1 MB View Download
Status: Assigned (was: Fixed)
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 22 2018

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

commit 0d4c69e73736f353e7c7a8558d522a6a1ef5f0b4
Author: Allen Bauer <kylixrd@chromium.org>
Date: Fri Jun 22 17:17:35 2018

Material Refresh - When dragging tabs, don't track |hovered_tab|.

Bug:  853240 
Change-Id: I8112807df34779c78e2d96ce15e391eb1863d8d1
Reviewed-on: https://chromium-review.googlesource.com/1112198
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Allen Bauer <kylixrd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569674}
[modify] https://crrev.com/0d4c69e73736f353e7c7a8558d522a6a1ef5f0b4/chrome/browser/ui/views/tabs/tab_strip.cc

Status: Fixed (was: Assigned)
Bullwinkle: Hey Rocky! Watch me pull another fix out of my hat!
Rocky: That trick never works!
Bullwinkle: Nothing up my sleeve! Presto!
...
[Chrome crashes and burns to the ground]
...
Bullwinkle: Time for a new hat!

kylixrd@: Unfortunately bad news :( I tested latest Trunk #569726 which includes your latest patch and I still can reproduce it. It is harder to reproduce it, but it still happens. Looks like it depends, where the mouse cursor is placed at the tab during the dragging animation.

Enclosed a screenshot.

BTW: Your latest patch didn't fix the bug in  issue 852936 , where we had the hope for :(
tab_disappear_Trunk_#569726.mov
2.2 MB View Download
I'm wondering if this is a difference between Mac and the other platforms. I've been reproducing this on Windows and this commit was certainly fixing it on Windows.
> I'm wondering if this is a difference between Mac and the other platforms. I've been reproducing this on Windows and this commit was certainly fixing it on Windows.

Probably, yes. I'll try to find the regression range. Maybe this can help you to find reason?
Status: Assigned (was: Fixed)
Hello kylixrd@: Okay, I was able to bisect it and this is the regression rang:

https://chromium.googlesource.com/chromium/src/+log/c647c1abe948b6cf46c5c6a58d9337a08735e58c..805ee5101d3ea63ec75e53b350bae7381670ad97

Probably caused by https://chromium-review.googlesource.com/c/chromium/src/+/1048172

I hope this helps :)
Ok, this is *really, really* subtle. I was able to reproduce this. It's really difficult to see exactly what is happening since the video doesn't indicate when the mouse button is released.

It happens if the tab being dragged is moved to the right of another tab and it animates over to the left. If the mouse is near the left edge of the dragged tab when it is released, it will animate to the position to the right. The mouse is now "hovered" over the tab to the left. This is what causes the tab to seemingly disappear.

This issue has actually been around for a very long time; it's just been exacerbated by recent changes. If you try this same thing on pre-refresh tabs, you'll notice that the revealed inactive tab does *not* get a hover highlight (it still fully paints so it doesn't "disappear") as long as the mouse isn't moved after releasing the mouse button and ending the drag operation.

Thanks for staying on top of this! Your help has been key in tracking this issue down.
Project Member

Comment 15 by bugdroid1@chromium.org, Jun 26 2018

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

commit 14324b08eff9e44819fa80d70bf86f910f1d8b36
Author: Allen Bauer <kylixrd@chromium.org>
Date: Tue Jun 26 14:52:15 2018

Tabs can still be made to disappear while dragging other tabs.

It is a little embarrassing to keep churning on this issue. See the referenced
bug for my analysis as to what is happening.

Bug:  853240 
Change-Id: I923f5cd09ee709915091878e2e99eacc074c8662
Reviewed-on: https://chromium-review.googlesource.com/1114065
Commit-Queue: Allen Bauer <kylixrd@chromium.org>
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570404}
[modify] https://crrev.com/14324b08eff9e44819fa80d70bf86f910f1d8b36/chrome/browser/ui/views/tabs/tab.cc
[modify] https://crrev.com/14324b08eff9e44819fa80d70bf86f910f1d8b36/chrome/browser/ui/views/tabs/tab.h
[modify] https://crrev.com/14324b08eff9e44819fa80d70bf86f910f1d8b36/chrome/browser/ui/views/tabs/tab_strip.cc

Cc: kylixrd@chromium.org nyerramilli@chromium.org rbasuvula@chromium.org
 Issue 856547  has been merged into this issue.
Status: Fixed (was: Assigned)
I hope I found the right hat :)
Thanks 👍

Works for me now in Trunk #570418.
Labels: TE-Verified-M69 TE-Verified-69.0.3474.0
Able to reproduce the issue on chrome version 69.0.3464.0(build without fix)
Verified the fix on Mac 10.12.6 on Chrome version #69.0.3474.0 as per the comment#0
Attaching screen cast for reference.
Observed "Able to see other tabs on dragging"
Hence, the fix is working as expected.
Adding the verified label.

Thanks!
853240.mp4
1.1 MB View Download

Sign in to add a comment