Skip to content

Release 150 tab split view functionality#43589

Open
rebloor wants to merge 6 commits intomdn:mainfrom
rebloor:release-150-tab-split-view-functionality
Open

Release 150 tab split view functionality#43589
rebloor wants to merge 6 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
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 26, 2026

Preview URLs (4 pages)

External URLs (5)

URL: /en-US/docs/Mozilla/Add-ons/WebExtensions/Working_with_the_Tabs_API
Title: Work with the Tabs API


URL: /en-US/docs/Mozilla/Firefox/Releases/150
Title: Firefox 150 release notes for developers (Beta)

(comment last updated: 2026-03-29 23:15:46)

});
```

## 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 <rob@robwu.nl>
@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

> [!NOTE]
> APIs to enable the creation and removal of split views (without moving or removing the tabs) are being developed under W3C
web extensions issue [#967](https://github.com/w3c/webextensions/issues/967).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[mdn-linter] reported by reviewdog 🐶

Suggested change
web extensions issue [#967](https://github.com/w3c/webextensions/issues/967).
> web extensions issue [#967](https://github.com/w3c/webextensions/issues/967).

@rebloor rebloor requested a review from Rob--W March 26, 2026 21:46
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.


## 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

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

## Working with tab 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.

As noted in the comment above I asked for a split view section to have a canonical place to document the split view concept. Can we link here instead of to SUMO in other places in the doc? Basically #43576 but then linking here instead of SUMO.

Co-authored-by: Rob Wu <rob@robwu.nl>
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