New issue
Advanced search Search tips

Issue 732133 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Sep 2017
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Tabs are too easy to tear off into windows

Project Member Reported by sdy@chromium.org, Jun 11 2017

Issue description

Chrome Version: 61.0.3127.0
OS: macOS 10.12.5

What steps will reproduce the problem?
(1) Open multiple tabs.
(2) Experiment with draging a tab horizontally within a window's tab strip vs. tearing it off into a new window.

What is the expected result?
Chrome usually "does the right thing" — the tab feels easy to tear off, but doesn't tear off when you're just trying to move it within the window.

What happens instead?
Tabs are too easy to tear off. I even remember seeing (I'll add a link if I can find it) something online with a title like "challenge: drag a tab from all the way across the tab strip without tearing it out into a new window".

We should have a simple heuristic like "if the tab has been moved more than n pt horizontally, increase the vertical tear-off distance to m pt."
 

Comment 1 by sdy@chromium.org, Jun 19 2017

Labels: Hotlist-PlatformExcellence
Owner: patricia...@chromium.org
Hey sdy@, just took a look at this. I think we could either do what you suggested with the simple heuristic, or we can just change the value stored in tab_strip_drag_controller.mm's |kVertTearDistance| (https://cs.chromium.org/chromium/src/chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.mm?rcl=9e9ab272629494f1b72726e3231c90e107a2fecb&l=21) to make it so you have to drag more vertical distance to tear out.

I have a patch here (https://chromium-review.googlesource.com/c/chromium/src/+/642211) that does both (copying Views behaviour by increasing the vertical tab drag threshold to match Views (I just eyeballed this, Views looks like it will snap off when it reaches the bottom of the omnibox - for reference the code is here https://cs.chromium.org/chromium/src/chrome/browser/ui/views/tabs/tab_drag_controller.cc), as well as make it so that only horizontal tab movement will activate when a max horizontal distance has been travelled in drag mode (I've just set that to an arbitrary value, which seems to work pretty well for me when playing with it, but we can update this value).
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 8 2017

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

commit 6f6bbf52c672eead857752e1f230a513216f2891
Author: Patricia Lor <patricialor@chromium.org>
Date: Fri Sep 08 03:19:57 2017

Mac: Emulate macOS native tab dragging for tearing off tabs.

It's too easy to tear off tabs on Mac. To make this behavior consistent with
native macOS tabs (e.g. on Finder and Safari), this patch will:
 - Tear the tab off after a short drag distance when the user drags straight
   down from the tab strip.
 - Tear the tab off after a long drag distance when the user drags a little
   horizontally, then tries to drag downwards.

Manual test - open up Chrome with a bunch of tabs. Drag one downwards and
observe it makes a new window once the mouse passes the top of the
omnibox. Next, drag a tab horizontally, then drag it down. Observe that it will
not tear off into its own window until reaching somewhere below the top chrome
(most likely inside the web contents). Also check that tearing the tab off the
window area (e.g. moving the tab past the right or left edge of the window) is
not subject to the larger tab drag distance.

Bug:  732133 
Change-Id: I5cde3f2123f88ab9e6622480bb64ce50ba7e0d72
Reviewed-on: https://chromium-review.googlesource.com/642211
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Sidney San Martín <sdy@chromium.org>
Commit-Queue: Patti <patricialor@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500498}
[modify] https://crrev.com/6f6bbf52c672eead857752e1f230a513216f2891/chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.mm

Status: Fixed (was: Assigned)
Labels: TE-Verified-63.0.3212.0 TE-Verified-M63
Verified the fix on Mac 10.12.6 using latest chrome version #63.0.3212.0 as per the comment #0 and #3.
Attaching screen cast for reference.
Observed that tab when dragged horizontally did not tear off into its own window until reaching somewhere below the top chrome.
Hence, the fix is working as expected. 
Adding the verified labels.

Thanks...!!
732133.mp4
1.2 MB View Download

Comment 6 by sdy@chromium.org, Sep 11 2017

Status: Verified (was: Fixed)
This feels so much better! \o/

Comment 7 by meh...@chromium.org, Sep 11 2017

Great, thank you very much :-)

Just one question regarding tearing the tab off the
window area (moving the tab past the right or left edge of the window): Are there any plans for a larger tab drag distance in this case? At the moment it is a very short distance (maybe 5px?). Thank you.

Comment 8 by meh...@chromium.org, Sep 11 2017

+screencast re#c7.
screencast.mov
206 KB Download

Comment 9 by sdy@chromium.org, Sep 11 2017

A bigger horizontal distance sounds reasonable. Since this bug has already been TE-Verified, would you mind filing a new one (and adding it to Hotlist-PlatformExcellence)?
Done:  Issue 763948 

Sign in to add a comment