Closed Bug 1455040 Opened 6 years ago Closed 6 years ago

Flip pref to enable Tab Hiding API


(WebExtensions :: Frontend, defect, P2)



(firefox61blocking verified, firefox62 verified)

Tracking Status
firefox61 blocking verified
firefox62 --- verified


(Reporter: mstriemer, Assigned: mstriemer)


(Blocks 1 open bug)


(Keywords: dev-doc-complete)


(2 files, 1 obsolete file)

The Tab Hiding API is behind a pref that is now false. Once the UI is landed and passes QA we would like to enable the API by default.

Flip extensions.webextensions.tabhide.enabled to true to enable the API.
Assignee: nobody → mstriemer
Priority: -- → P2
Please confirm if this is actually P2 or if it really is P3. From my understanding of the current state, it is a P3.
Flags: needinfo?(mstriemer)
Comment on attachment 8972736 [details]
Bug 1455040 - Enable tab hiding API by default

Also post a followup bug for the pref removal, maybe for 62.
Attachment #8972736 - Flags: review?(mixedpuppy) → review+
Blocks: 1458764
This is really a P2 or maybe a P1. Either way it's being actively looked at.
Flags: needinfo?(mstriemer)
Hi Mark,

Please land this bug and request uplift to Beta.  All the reviews of the bugs still to be fixed, determined they are not blocking for this API to go int0 61.
Flags: needinfo?(mstriemer)
Flags: needinfo?(mconca)
Flags: needinfo?(kraj)
Flags: needinfo?(ddurst)
Pushed by
Enable tab hiding API by default r=mixedpuppy
Comment on attachment 8972736 [details]
Bug 1455040 - Enable tab hiding API by default

Approval Request Comment
[Feature/Bug causing the regression]:
[User impact if declined]: The webextensions Tab Hiding API is not enabled by default.
[Is this code covered by automated tests?]: The Tab Hiding API is covered by automated tests
[Has the fix been verified in Nightly?]: Yes
[Needs manual test from QE? If yes, steps to reproduce]: I believe this has been done in other bugs
[List of other uplifts needed for the feature/fix]:
[Is the change risky?]: No
[Why is the change risky/not risky?]: Tested by QE, pref flip to enable a feature
[String changes made/needed]: No
Flags: needinfo?(mstriemer)
Attachment #8972736 - Flags: approval-mozilla-beta?
Flags: qe-verify+
Comment on attachment 8972736 [details]
Bug 1455040 - Enable tab hiding API by default

Feature status looks good, approved for 61.0b3.
Attachment #8972736 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: needinfo?(mconca)
Attached patch fix-test.patch (obsolete) — Splinter Review
Looks like there was a test that needed to be updated. Here's a patch that updates it. I can squash the two together if needed
Attachment #8973755 - Flags: review?(mixedpuppy)
Comment on attachment 8972736 [details]
Bug 1455040 - Enable tab hiding API by default

::: browser/components/extensions/test/browser/browser_ext_tabs_hide.js:43
(Diff revision 2)
>    await SpecialPowers.pushPrefEnv({
>      set: [["extensions.webextensions.tabhide.enabled", true]],
>    });

Lets remove these as well. (all other tests have it)
Backout by
Backed out changeset c0f3ca662619 for failing on extensions/test/browser/browser_ext_tabs_hide.js on a CLOSED TREE
Attachment #8973755 - Attachment is obsolete: true
Attachment #8973755 - Flags: review?(mixedpuppy)
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again.

hg error in cmd: hg rebase -s 2fe29e59bde19bf956baa49811d244618cd0a411 -d 61d7c365ea76: rebasing 462416:2fe29e59bde1 "Bug 1455040 - Enable tab hiding API by default r=mixedpuppy" (tip)
merging browser/components/extensions/test/browser/browser_ext_tabs_hide.js
merging modules/libpref/init/all.js
warning: conflicts while merging browser/components/extensions/test/browser/browser_ext_tabs_hide.js! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
Pushed by
Enable tab hiding API by default r=mixedpuppy
Backed out changeset c0f3ca662619 (bug 1455040) for failing on extensions/test/browser/browser_ext_tabs_hide.js on a CLOSED TREE 

Backout link:

Push with failures:

Log link:

Log snippet: 

[task 2018-05-07T16:32:01.612Z] 16:32:01     INFO - TEST-START | browser/components/extensions/test/browser/browser_ext_tabs_hide.js
[task 2018-05-07T16:32:01.718Z] 16:32:01     INFO - TEST-INFO | started process screentopng
[task 2018-05-07T16:32:02.272Z] 16:32:02     INFO - TEST-INFO | screentopng: exit 0
[task 2018-05-07T16:32:02.274Z] 16:32:02     INFO - Buffered messages logged at 16:32:01
[task 2018-05-07T16:32:02.275Z] 16:32:02     INFO - Entering test bound test_pref_disabled
[task 2018-05-07T16:32:02.276Z] 16:32:02     INFO - Extension loaded
[task 2018-05-07T16:32:02.278Z] 16:32:02     INFO - Console message: Warning: attempting to write 20593 bytes to preference extensions.webextensions.uuids. This is bad for general performance and memory usage. Such an amount of data should rather be written to an external file. This preference will not be sent to any content processes.
[task 2018-05-07T16:32:02.279Z] 16:32:02     INFO - Buffered messages finished
[task 2018-05-07T16:32:02.281Z] 16:32:02     INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/browser_ext_tabs_hide.js | Promise resolved, expected rejection: Got the expected error when pref not enabled -
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Attached image Bug1455040.png
This bug is verified as fixed on Firefox 61.0b3 (20180503095637) and Firefox 62.0a1 (20180508231737) under Win 7 64-bit and Mac OS X 10.13.3.

The preference “extensions.webextensions.tabhide.enabled” is enabled to true by default.
Flags: needinfo?(kraj)
Flags: qe-verify+
Removed the "experimental" note from the top of the page, and the flag from the compat table:

Please let me know if you need anything else here.
Flags: needinfo?(mstriemer)
Oh, sorry I missed that. I can update the page right away, but the compat data will take longer...
This looks good to me, thanks!

One comment on the tabs.hide() function. It recommends that you discard a tab when it is hidden which would make sense for some cases but I'm not sure that it would be the "recommended" way in all cases. Tab groups, for example, likely wouldn't want to discard an entire group when you switch away since you might want to go back and forth frequently or have music playing in the background.

Perhaps noting that discarding will free the resources without recommending it would be better?
Flags: needinfo?(mstriemer)
Thanks for the review Mark, your comment makes sense to me and I've tried updating the doc accordingly.
Product: Toolkit → WebExtensions
Flags: needinfo?(ddurst)
You need to log in before you can comment on or make changes to this bug.