w3c / webextensions

Charter and administrivia for the WebExtensions Community Group (WECG)
Other
599 stars 56 forks source link

I hope browsers can provide an API to hide/show the bookmarks bar and pinned api #689

Closed cunzaizhuyi closed 1 month ago

cunzaizhuyi commented 1 month ago

I have developed a plugin that can hide the browser extension list with one click, thereby protecting your privacy. It is very useful in certain scenarios, such as:

Currently, due to browser security restrictions, it is not possible to hide the bookmarks bar.

Therefore, I hope browsers can provide an API to hide/show the bookmarks bar.

The plugin is open-source, and the code repository is here: https://github.com/cunzaizhuyi/up-mode-extension

The plugin is already online, and you can install it from the Chrome Web Store: https://chromewebstore.google.com/detail/up-mode/maiiinianakmklepgbpffmgmhpnoniem?hl=zh-CN&utm_source=ext_sidebar

DeltaView commented 1 month ago

well, you can hide bookmarks bar manually. Use keyboard command CTRL + Shift + B on Windows to toggle it. You can also right click on the bookmarks bar and unselect the corresponding option.

fregante commented 1 month ago

Having dedicated browser profiles or better yet operating system profiles is usually preferable, as it’s comprehensive and built-in.

dotproto commented 1 month ago

@cunzaizhuyi, I just took a glance at your extension. If I'm reading the source correctly, you're currently using management.setEnabled() to hide/show extensions. This may have unintended side effects as disabling extensions stops them from working. If a user is relying on a privacy or security extension, disabling the extension may put the user at risk.

It looks like this use case has two feature requests:

  1. Allow extensions to manage the pinned state of other extensions.
  2. Allow extensions to control the visibility of the bookmark toolbar.

Request (1) could potentially be addressed through the introduction of a new method on the management namespace such as setPinned(). This could be modeled after the existing setEnabled() method.

Request (2) could potentially be addressed through the introduction of a new property on the browserSettings namespace (currently Firefox-only) such as showBookmarksToobar.

cunzaizhuyi commented 1 month ago

@cunzaizhuyi, I just took a glance at your extension. If I'm reading the source correctly, you're currently using management.setEnabled() to hide/show extensions. This may have unintended side effects as disabling extensions stops them from working. If a user is relying on a privacy or security extension, disabling the extension may put the user at risk.

It looks like this use case has two feature requests:

  1. Allow extensions to manage the pinned state of other extensions.
  2. Allow extensions to control the visibility of the bookmark toolbar.

Request (1) could potentially be addressed through the introduction of a new method on the management namespace such as setPinned(). This could be modeled after the existing setEnabled() method.

Request (2) could potentially be addressed through the introduction of a new property on the browserSettings namespace (currently Firefox-only) such as showBookmarksToobar.

Yes, you have understood my two needs very accurately.

In fact, I used the setEnabled() API because I couldn't find the setPinned() API. If browsers implemented the setPinned() API, I would certainly be willing to use it.

rdcronin commented 1 month ago

This was one of the issues we discussed at TPAC.

While we fully recognized the utility of this function (the idea of an extension that can give you a "clean slate" for recordings or screen sharing makes perfect sense!), we all agreed this wasn't something we wanted to expose to extensions. Though extensions do have a number of capabilities to adjust settings, we didn't think allowing an extension to override this type of user setting was desirable.

Since all browsers are opposed to introducing this feature, I'm going to close this out.