After the previous patch, we don't jank all remote tabs when resizing
the browser, so this can go. This should also make general window
resizing faster.
Differential Revision: https://phabricator.services.mozilla.com/D221996
Do it at the same time as UpdateRemoteFrameEffects() (so, intersection
observer timing). Otherwise we can see flickering sometimes from the
resize with the previous patch (and this should be less work, when we
resize).
Non-remote frames need to synchronously communicate their resizes
(because JS could access the frame), but that's not an issue for
remote frames.
This should also more reliably prevent issues like bug 1910887 or like
bug 1764655, and paves the way for fixing bug 1750189 (which stalled) in
a similar fashion.
I tested this in a build with a couple hundred tabs open and it doesn't
measurably show up. I think we should consider not communicating resizes
to background tabs / hidden remote iframes, at least for top levels.
Differential Revision: https://phabricator.services.mozilla.com/D221405
After the previous patch, we don't jank all remote tabs when resizing
the browser, so this can go. This should also make general window
resizing faster.
Differential Revision: https://phabricator.services.mozilla.com/D221996
Do it at the same time as UpdateRemoteFrameEffects() (so, intersection
observer timing). Otherwise we can see flickering sometimes from the
resize with the previous patch (and this should be less work, when we
resize).
Non-remote frames need to synchronously communicate their resizes
(because JS could access the frame), but that's not an issue for
remote frames.
This should also more reliably prevent issues like bug 1910887 or like
bug 1764655, and paves the way for fixing bug 1750189 (which stalled) in
a similar fashion.
I tested this in a build with a couple hundred tabs open and it doesn't
measurably show up. I think we should consider not communicating resizes
to background tabs / hidden remote iframes, at least for top levels.
Differential Revision: https://phabricator.services.mozilla.com/D221405
This patch introduces `browser.tabs.insertAfterCurrentExceptPinned`.
Setting it to `true` open links from pinned tabs at the end of the tabbar.
Differential Revision: https://phabricator.services.mozilla.com/D69489
This is a test issue only. We now fire the overflow event later, not off
arbitrary flushes, so we gotta wait for it before trying to click the
new tab button, which might not be visible yet otherwise.
While at it, wait for the opened tabs too, which was done manually on
the caller.
Differential Revision: https://phabricator.services.mozilla.com/D220416
* Fix rule to show favicon when icons are missing
* Fix typo name change that affects unpinning tabs
* Fix padding issue for arrowscrollbox that affects alignment
Differential Revision: https://phabricator.services.mozilla.com/D218052
The [tab-close-button](https://searchfox.org/mozilla-central/rev/f9157a03835653cd3ece8d2dc713a782b7e4374e/browser/base/content/tabbrowser-tab.js#40) is not labeled and is missing an interactive role of button, while it is functioning as one.
Note: we do not want this control to be keyboard focusable, because keyboard-only user could close the tab via the context menu and we don't want to create an additional tab stop for the navigation as well, but making sure the control is marked up as a button with an accessible name would allow it to be actionable with speech-to-text software, with touch devices, with switch controls in scan mode, and for screen readers via their navigation shortcuts as well.
Differential Revision: https://phabricator.services.mozilla.com/D204413
* Create a new container to house pinned tabs, new tab button and non-pinned tabs
* Create new pinned tabs container to apply grid layout and overflow scrolling
* Update test coverage for pinned tabs for both horizontal and vertical tabs
Differential Revision: https://phabricator.services.mozilla.com/D215482