mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-03 17:58:55 +02:00
The `replaceGroupWithWindow` method currently adopts a tab group in
multiple steps, asynchronously. This can result in externally observable
inconsistencies past initial adoption (see bug).
To fix this, this patch changes the adoption logic by passing the tab
group as the initial item to adopt, and adopts the whole group at once
as needed. Now the logic is similar to drag and drop adoption as
implemented in bug 1908441.
Since tabToAdopt is no longer just a tab, but also a tab group (or even
a tab group label since bug 1908441), the logic in ext-browser.js needs
to be adjusted to make sure that it does not mistake non-tab elements
for tabs. Test coverage is in browser_ext_tabGroups_move_onMoved.js,
as not changing that caused the test to fail with:
> FAIL Tab did indeed move to the new window - {"oldWindowId":3,"oldPosition":"undefined"} deepEqual {"oldWindowId":3,"oldPosition":1} -
Differential Revision: https://phabricator.services.mozilla.com/D248537
|
||
|---|---|---|
| .. | ||
| child | ||
| parent | ||
| schemas | ||
| test | ||
| .eslintrc.mjs | ||
| ext-browser.json | ||
| extension-popup-panel.css | ||
| extension.css | ||
| ExtensionBrowsingData.sys.mjs | ||
| ExtensionControlledPopup.sys.mjs | ||
| ExtensionPopups.sys.mjs | ||
| extensions-browser.manifest | ||
| jar.mn | ||
| metrics.yaml | ||
| moz.build | ||