Skip to content

Release 150 tab split view functionality#43589

Merged
Rob--W merged 9 commits intomdn:mainfrom
rebloor:release-150-tab-split-view-functionality
Mar 31, 2026
Merged

Release 150 tab split view functionality#43589
Rob--W merged 9 commits intomdn:mainfrom
rebloor:release-150-tab-split-view-functionality

Conversation

@rebloor
Copy link
Copy Markdown
Contributor

@rebloor rebloor commented Mar 26, 2026

Description

This PR addresses the dev-docs-needed requirements of:

  • Bug 2022549 tabs.move() taking a list of tabs should unsplit a split view when its tabs are explicitly listed apart
  • Bug 2016751 tabs.move() does not move a tab to the specified index when the destination is part of a split view

In addition, it adds a section summarizing the features for working with groups and split views in the working with the tab API article.

@rebloor rebloor requested a review from Rob--W March 26, 2026 18:17
@rebloor rebloor self-assigned this Mar 26, 2026
@rebloor rebloor added the Content:WebExt WebExtensions docs label Mar 26, 2026
@rebloor rebloor requested review from a team as code owners March 26, 2026 18:17
@rebloor rebloor requested review from dipikabh and removed request for a team March 26, 2026 18:17
@github-actions github-actions Bot added Content:Firefox Content in the Mozilla/Firefox subtree size/s [PR only] 6-50 LoC changed labels Mar 26, 2026
Comment thread files/en-us/mozilla/add-ons/webextensions/api/tabs/move/index.md Outdated
});
```

## Working with tab groups and split views
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tab groups and split views are distinct features. Please list them separately.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done and links updated

> Features to work with a tab group are provided in {{WebExtAPIRef("tabGroups")}}.

> [!NOTE]
> APIs to enable the creation and removal of split views (without moving or removing the tabs) are being developed under ([Firefox bug 2016928](https://bugzil.la/2016928)).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use w3c/webextensions#967 as a reference instead. This is a cross-browser API design effort.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

## Changes for add-on developers

- The behavior of {{WebExtAPIRef("tabs.move")}} is updated for split views so that:
- The order of tabs in a split view can be swapped.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please include bug numbers for reference, since we usually do so.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How did I miss those! Added

rebloor and others added 2 commits March 27, 2026 10:18
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rob Wu <[email protected]>
@github-actions github-actions Bot added size/m [PR only] 51-500 LoC changed and removed size/s [PR only] 6-50 LoC changed labels Mar 26, 2026
@rebloor rebloor requested a review from Rob--W March 26, 2026 21:46
Comment thread files/en-us/mozilla/add-ons/webextensions/api/tabs/move/index.md Outdated
You can only move tabs to and from windows whose {{WebExtAPIRef('windows.WindowType', 'WindowType')}} is `"normal"`.

When the call moves a tab or tabs in a split view, Firefox moves the tabs in the split view together to preserve the split view. In Chrome, moving a tab away from the other tab in a split view removes the split view.
In Chrome, moving a tab away from the other tab in a split view removes the split view. This behavior may change in a future release.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move this to a note below so that we introduce the split view behavior and only after that clarify that Chrome's behavior differs. I image that when the implementation changes that we want to document the standard behavior first and then have a note about older versions.

Comment thread files/en-us/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md Outdated

## Working with tab groups

Tab functionality enables users to create [group tabs](https://support.mozilla.org/en-US/kb/tab-groups).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I asked for a "split views" article because we don't have a better place to offer an overview of its capability and describe it.

For tab groups, the tabGroups API reference serves that purpose, and is linked from various places such as https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/Tab#groupid

Can we use that as the canonical place for the description of what tab groups are instead of linking to SUMO here (that SUMO article is already linked from tabGroups MDN page).


Tab functionality lets display two tabs side-by-side in a [split view](https://support.mozilla.org/en-US/kb/split-view-firefox).

Various tab methods enable you to work with the content of groups and split views, including:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add text offering the following overview of relevant details. I am asking for this so we have one place where a dev can learn at once what they should do if they want to work with split views:

  • split view consists of exactly two adjacent tabs
  • when an individual tab of a split is moved, the other tab in the split moves with it to preserve the split (the emphasis here is to show that conceptually the pair of tabs in a split view should be regarded as one unit). The moved tab that moves along can be observed with tabs.onMoved.
  • when a tab is removed, the other tab in the split remains but is no longer part of a split view
  • given a tab, whether it is a member of a split view can be seen through its splitViewId property (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/Tab#splitviewid ). Split view membership changes can be observed through tabs.onUpdated

rebloor and others added 2 commits March 30, 2026 12:14
- removing working with tab groups from working with the tabs API article and adding additional details to the tabGroups API overview.
- adding additional details to the working with split tabs in the working with the tabs API article
- adding links to the working with split tabs section in the working with the tabs ID article
- rewording the information about moving a tab in a split view
@rebloor rebloor requested a review from Rob--W March 30, 2026 17:11
Comment thread files/en-us/mozilla/add-ons/webextensions/api/tabgroups/index.md Outdated
Comment thread files/en-us/mozilla/add-ons/webextensions/api/tabs/move/index.md Outdated
Comment thread files/en-us/mozilla/add-ons/webextensions/api/tabs/move/index.md Outdated
Comment thread files/en-us/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md Outdated
Comment thread files/en-us/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md Outdated
Comment thread files/en-us/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md Outdated
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@rebloor
Copy link
Copy Markdown
Contributor Author

rebloor commented Mar 30, 2026

@Rob--W your comment should all be addressed

Copy link
Copy Markdown
Member

@Rob--W Rob--W left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent update, thanks!

@Rob--W Rob--W merged commit 8bc9881 into mdn:main Mar 31, 2026
9 checks passed
@rebloor rebloor deleted the release-150-tab-split-view-functionality branch March 31, 2026 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Content:Firefox Content in the Mozilla/Firefox subtree Content:WebExt WebExtensions docs size/m [PR only] 51-500 LoC changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants