When you click on the Security Level icon the resulting menu is lower than it should be as compared to other buttons (Downloads, Library, Hamburger Menu, etc). This happens because the dropdown element is parented to the wrong element in the DOM.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
Trac: Summary: Security Level menu hangs off of the toolbarbutton element when it should hang off of the toolbarbutton's 'anchor' to Security Level menu hangs off of the toolbarbutton element when it should hang off of the toolbarbutton's child element with toolbarbutton-icon class
I tested it, and works mostly fine, except when you try to move the button via Customize.... Then it stops working for the session, but it works for new windows and also when restarting. Is it because the patch is now caching the button instead of getting it every time?
Some minor issues:
classList.add("safest");
Could you remove the trailing spaces?
Also, there are some empty lines with leading spaces, could you remove them too?
The get button() implementation in browser-places.js looks slightly simpler and also works for me, but up to you to keep this one, looks also good (unless this is what is breaking when moving the button around).
openAdvancedSecuritySettings : async function() {
This is not new code, but why async? This should be equivalent to the same function without async and returning Promise.resolve(). Is it because it's required to return a Promise? Otherwise I think we can remove async here.
Trac: Keywords: TorBrowserTeam201907R deleted, TorBrowserTeam201907 added Status: needs_review to needs_revision
Ok I pushed a fixup commit. I'm now deleting the _anchor and _button members from the SecurityLevelButton object when the UI DOM changes.
I don't remember why that function was marked 'async' and I've verified that it now works without it. IIRC there was a bug associated (yep #29554 (moved)) with getting the about:preferences to scroll down to our Security Level settings so perhaps async was an attempt of a work-around for that. Removed.