[freezing] Expose frozen state to extensions (3/3 - add frozen to chrome.tabs.Tab). This set of CLs exposes the frozen state of a tab to extensions via the chrome.tabs API. This allows extensions to avoid sending messages to frozen tabs, which cannot process them until unfrozen. It is fine for extensions to send a few messages to frozen tabs: they'll be processed upon unfreezing. However, when too many unhandled messages are accumulated by a frozen tab, the browser discards it, which is one reason why an extension might want to avoid sending messages to a frozen tab. Exposing the "frozen" state is similar to exposing the "discarded" state (already implemented). Steps: 1. crrev.com/c/5963982: Make TabLifecycleUnit a TabLifecycleUnitExternal, for simplicity. 2. crrev.com/c/5966415: Expose LifecycleState (including frozen state) on TabLifecycleUnitExternal. 3. crrev.com/c/5966419: Add "frozen" property on the chrome.tabs.Tab extension API, and integrate it with chrome.tabs.onUpdated and chrome.tabs.query(). Bug: 325954772, 373684410 Change-Id: I8e4e0f052b0d9a55f617b86cc3291525b90dac72 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5966419 Reviewed-by: Oliver Dunk <oliverdunk@chromium.org> Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org> Commit-Queue: Francois Pierre Doray <fdoray@chromium.org> Cr-Commit-Position: refs/heads/main@{#1380093} NOKEYCHECK=True GitOrigin-RevId: 5f37653caf8822592f89b66eee6b9116ec5ae4b3
1 file changed