Firefox/Features/Tab move detach animations/TestPlan

From MozillaWiki
Jump to: navigation, search

Tab move/detach animation

Feature Status Dev Lead QA Lead Status
Tab move/detach animation Landed in Firefox 8 Frank Yan AndreiD Complete


  • When dragging a tab on the tab bar, that tab is visible and animation is present when rearranging tabs. A thumbnail of the page on detach operations is visible, also.
  • This replaces the old behavior of having a placeholder indicator.
  • This feature is available starting Firefox 8.


  • Proposed protoype [2011-08-05] - Link
  • Design and infrastructure:
    • bug 455694 - Implement animation for tab reordering and detaching (via drag and drop) (The main bug to track the implementation of the feature)
    • bug 674925 - Use drag & drop API for tab detaching (Bug that tracks the fixes various glitches with the mouse-event based implementation)

Use Cases to Test

Basic Functional Testing
  • Tab animation inside the tab strip (when dragging a tab/apptab along the tab strip)
    • Smooth animation should be visible
    • No thumbnail preview of the content should be visible
    • No cursor should be visible, except when dragging an apptab to the right of a tab or a tab to the left of an apptab
  • Tab animation outside the tab strip (when dragging a tab/apptab outside the tab strip)
    • If moved to another window a thumbnail preview of the content of the tab should be visible if not in a tab strip area of a browser window
    • The dropping to another tab strip of a browser window should be smooth
    • The tab/apptab should retain its state (as apptab or tab) if moved to an identical position in another window
Edge Cases
  • Tab animation interaction with other user commands
    • The tab being dragged might be closed during the drag
    • The number of tabs open might change during the drag. This matters because the drag feedback needs to be updated, especially when only one visible tab is open (the detach threshold is decreased.
    • A normal tab might be dragged to the app tab region and vice versa
    • A drag that enters another window should raise that window, but the drag panel should always remain on top of all other windows.
    • Pressing the esc key at any point during a drag should cancel it.
    • Pressing a keyboard shortcut to switch windows (e.g. alt+tab on Windows or cmd+tab on OS X) should not cause the drag to end or glitch. The dragged tab should continue to follow the cursor.
    • The tab being dragged might have its focus stolen, e.g. via window.confirm() getting called on another tab.
    • The user might switch into Tab Groups view during the drag. (If implemented with the drag & drop API, Firefox's internal keyboard shortcuts are likely disabled, so this wouldn't occur.)

Test Cases

  • A list of example cases that can help with testing this feature can be found here: Test_Cases_Examples

Important bugs

  • Blocking bug 455694 - Implement animation for tab reordering and detaching (via drag and drop)
    • bug 649671 - browser.tabs.animate should be respected by tab close-resize & drag animations
    • bug 649671 - During tab drag, after pressing alt+tab, window no longer receives all mouse events, sometimes resulting in stuck panel
    • bug 674723 - Unable to drop tab from tabbar into bookmarks (sidebar, toolbar, Library) from tabbar
    • bug 674789 - Unable to cancel tab dragging/detaching by pressing Escape key
    • bug 676686 - "CTRL + drag tab" no longer duplicates tab + state, instead opens up new tab with same URL
  • Blocking bug 674925 - Use drag & drop API for tab detaching
    • bug 674823 - Tab strip would not scroll when I dragged the tab of other browsers
    • bug 674831 - Cannot drag a detached Tab to the Task bar to bring a (hidden or minimized) firefox window up
    • bug 689575 - Disable keyboard shortcuts while tab animation is active