Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

Dragging a tab to blank tab bar area results in lost tab #14046

Closed
petemill opened this issue May 7, 2018 · 8 comments
Closed

Dragging a tab to blank tab bar area results in lost tab #14046

petemill opened this issue May 7, 2018 · 8 comments

Comments

@petemill
Copy link
Member

petemill commented May 7, 2018

Description

Steps to Reproduce ONE

  1. Create two windows, one with 6 tabs, and one in 1 (or 2 or 3 or 4) tabs.
  2. Drag the 6th tab to the blank area of the tab bar in the other window, being careful never to drag over the single tab in that window

Actual result:
Tab never shows up

Expected result:
Tab shows up at end of tab set

Reproduces how often:
100%

Brave Version

about:brave info:

Reproducible on current live release:
Probably but possibly different (similarly broken) results.

@petemill petemill added this to the 0.22.x Release 3 (Beta channel) milestone May 7, 2018
@petemill petemill self-assigned this May 7, 2018
petemill added a commit that referenced this issue May 7, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
@petemill
Copy link
Member Author

petemill commented May 7, 2018

Should be fixed with next release

petemill added a commit that referenced this issue May 8, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
@petemill petemill closed this as completed May 8, 2018
petemill added a commit that referenced this issue May 8, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
petemill added a commit that referenced this issue May 9, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
petemill added a commit that referenced this issue May 10, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
petemill added a commit that referenced this issue May 10, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
petemill added a commit that referenced this issue May 10, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
petemill added a commit that referenced this issue May 11, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
petemill added a commit that referenced this issue May 11, 2018
Fix #14046
Avoid a tab being moved to a new window with a frame index higher than it should have. This occurred because when dropping on the blank area of a tab strip, there is no tab being dragged over. The last tab being dragged over could have been in another window, or could be the dragged tab itself, causing a frame to be created in the new window with an index that is too high, corrupting the "frame index <-> tabId" cache. Instead, we insert the tab at the beginning, and rely on muon to provide an updated tab index (if provided with an index of -1, muon will add the tab to the end of the strip).
@srirambv
Copy link
Collaborator

@petemill dragging tab into empty space in tabs bar causes it to open up as a new window. Below is the recording

14046

However this is not the same behaviour on macOS. Is the fix only for mac or for all platforms?

@srirambv srirambv reopened this May 11, 2018
@LaurenWags
Copy link
Member

On macOS the tab dragged to the empty area of the tabs bar is added to the window:
14046-2

@LaurenWags
Copy link
Member

Verified with macOS 10.12.6 using

  • 0.22.709 e043144
  • muon 6.0.9
  • libchromiumcontent 66.0.3359.139

@srirambv
Copy link
Collaborator

Still an issue on windows. Doesn't drop on the empty space in tabsbar after the new tab sign.
14046_1

@srirambv srirambv reopened this May 11, 2018
@srirambv
Copy link
Collaborator

Tab only drops before the new tab button resizing the last existing tab or if its dropped in between two tabs it resizes the right tab and then drops in.

@srirambv
Copy link
Collaborator

Closing in favour of #14099 which is windows specific issue

@bsclifton
Copy link
Member

Removing milestone since this appears to be a duplicate of #14099

@bsclifton bsclifton removed this from the 0.22.x Release 3 (Beta channel) milestone May 14, 2018
@bsclifton bsclifton added the duplicate Issue has already been reported label May 14, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants