Mozilla Firefox 57+ : custom toolbar is still supported but how to manage it?

3

I have recently migrated all my Firefox profiles to last version 58.0.2.

For some profiles, the custom toolbar that I used before FF57+ is now gone. I think this custom toolbar was brought by a legacy extension: Classic Theme Restorer. Since this extension is no more supported in FF57+, the toolbar is gone which is normal.

But on some profiles, I saw that my custom toolbar was still here: enter image description here

enter image description here

enter image description here

My custom toolbar is the one which contains the AdBlock Plus red icon (among others).

This gaves me some hope. This clearly indicates that custom toolbar is still implemented, although we can't create it directly from the GUI. I checked the browser.uiCustomization.state parameter in about:config:

{"placements":{"widget-overflow-fixed-list":[],"__customToolbar_Syl":["bookmark-manager","bookmarks-menu-button1","bookmarks-button","history-button","feed-button","custom-button-1","customizableui-special-separator1404","previous-tab","next-tab","top-page","bottom-page","crowdext-toolbar-button","printpdf-toolbar-button","toggleprivatebrowsing-toolbar-button","emptycachebutton-button","cacheviewer-button","resurrect-page-tb","_0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3_-browser-action","customizableui-special-separator1409","extensionsoptionsmenutoolbar","addons","firefox-extension","about-config","profile-folder","javaScriptConsole","_d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d_-browser-action"],"PersonalToolbar":["yahoo-button","hotmail-button","google","customizableui-special-separator9","tb-search-resize","tb-search-plus","sidebar-button","personal-bookmarks","ctr_bookmarks-menu-toolbar-button"],"nav-bar":["back-button","forward-button","stop-reload-button","home-button","ctraddon_appbutton","ctraddon_back-forward-button","unified-back-forward-button","snap-back","up-directory","clipboard-button","snap-back-single_codefisher_org-browser-action","urlbar-container","reload-skip-cache-single_codefisher_org-browser-action","_888f1f2b-8824-4f2d-a220-558a7f1c2bc2_-browser-action","downloads-button","stop-button","reload-skip-cache","pageinfo","AWESEARCH_toolbarbutton","autosizer-button","SynoToolbarButton","window-controls","social-toolbar-item","show_menu_other_id","firebug-button","webrtc-status-button","ctr_back-forward-button","ctr_appbutton","ctr_puib_separator","ctr_panelui-button","ctr_window-controls","widget:{30E08C68-889E-11E0-95EF-DA7E4824019B}-cvc-addon-bar-icon","ctraddon_puib_separator","ctraddon_panelui-button","ctraddon_window-controls","synoloader_toolbar_id","widget:addonListDumper@jetpack-eldumper","action-button--customizable-shortcutstimtaubertde-shortcuts-button","action-button--sortbookmarksbouanto-auto-sort-bookmarks-sort-all-toolbar","action-button--sortbookmarksbouanto-sort-all","downloadbar-ddnbr","toggle-button--jid1-xghxof1m8uppsqjetpack-manage-search-engines","action-button--jid1-f9uj2thwoam5gqjetpack-lightbeam_idget","action-button--donottrackplusabinecom-blur","action-button--jid0-ofwt2zcakhhkfl7kp4ljnjetpack-smarthttps","ublock0-button","ipfuck-toolbar-button","noscript-tbb","sortbookmarks_bouanto-browser-action","screenshots_mozilla_org-browser-action"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","btn_tabslist","tabhunterToolbarIcon","btn_undoclose","btn_closedwindows","tabmix-tabs-closebutton","alltabs-button","closetab_fmarin_com-browser-action","_5997e7bd-1940-4058-a5f4-1562afce6353_-browser-action","jid0-bnmfwww2w2w4e4edvcddbnmhdvg_jetpack-browser-action","treestyletab_piro_sakura_ne_jp-browser-action","alltabshelper_alltabshelper_org-browser-action","tabhunter_ericpromislow_com-browser-action","ctraddon_tabs-closebutton"],"toolbar-menubar":["menubar-items","ecb-button","restart-app","SaveSession-exit-button","UpdateAddonButton","ExitButton","version-icon_magicp_jp-browser-action","_4cc4a13b-94a6-7568-370d-5f9de54a9c7f_-browser-action","tab-session-manager_sienori-browser-action","customizableui-special-separator66","_479f0278-2c34-4365-b9f0-1d328d0f0a40_-browser-action","_16898b73-edd0-419f-a0a9-e5afd2a4c904_-browser-action","_6ac85730-7d0f-4de0-b3fa-21142dd85326_-browser-action","linkgopher_oooninja_com-browser-action","_b3e677f4-1150-4387-8629-da738260a48e_-browser-action","formhistory_yahoo_com-browser-action","_32af1358-428a-446d-873e-5f8eb5f2a72e_-browser-action","_72b2e02b-3a71-4895-886c-fd12ebe36ba3_-browser-action","jid1-mnnxcxisbpnsxq_jetpack-browser-action","firefox_ghostery_com-browser-action","ublock0_raymondhill_net-browser-action","donottrackplus_abine_com-browser-action","_46551ec9-40f0-4e47-8e18-8e5cf550cfb8_-browser-action","web2pdfextension_17_acrobat_adobe_com-browser-action","_95322c08-05ff-4f3c-85fd-8ceb821988dd_-browser-action","_02450914-cdd9-410f-b1da-db004e18c671_-browser-action"],"addon-bar":["addonbar-closebutton","customizableui-special-spring8","status-bar"],"ctraddon_addon-bar":["stylish-toolbar-button","ctraddon_addonbar-close","customizableui-special-spring57","firebug-inspectorButton","ctraddon_statusbar","historystatebutton-toolbar-button"],"ctraddon_extra-bar":["RTCButton","colorzilla-navbar-button","measureit_toolbar_button","toggle-button--compatibilityaddonsmozillaorg-acr-dialog","firebug-badged-button","customizableui-special-spring58","social-share-button","BetterPrivacyButton","abp-toolbarbutton","flashgot-media-tbb","loop-button","sync-button"],"web-developer-toolbar":["web-developer-disable-toolbar","web-developer-cookies-toolbar","web-developer-css-toolbar","web-developer-forms-toolbar","web-developer-images-toolbar","web-developer-information-toolbar","web-developer-miscellaneous-toolbar","web-developer-outline-toolbar","web-developer-resize-toolbar","web-developer-tools-toolbar","web-developer-view-source-toolbar","web-developer-options-toolbar","customizableui-special-spring47","web-developer-render-mode-statusbar","web-developer-css-statusbar","web-developer-javascript-statusbar"]},"seen":["abp-toolbarbutton","help","about-disk-cache","workoffline","themes","tb-print-page","find-prev","hide-images","new-message","find","about-plugins","toolbar-menu","close-other-tabs","installaddons","java-toggle","select-all","tb-twitter-button","reset","about-config","tb-search-resize","close-all-tabs","close-tab","tb-page-info-media","websearch","stop-movies","firefox-extension","read-news","clear-data","javaScriptConsole","tb-search-plus","tb-view-menu","clear-url","google","read-mail","reduce","tb-clone-tab","toggle-proxy","bookmarks-menu-button1","bookmarks-menu-button2","gmail","tb-toggle-popup-blocker","preferences","label-all-blank","print-preview","wikipedia","reload-all-tabs","exit","import","tb-clear-url","favorite-page","thunderbird-theme","bottom-page","tb-all-menus","undo","min-font-size","image-toggle","reload-skip-cache","tb-show-all-history","tb-clear-cache","show-frame","tb-saved-passwords","stop-dynamic-content","extensions","statusbar-toggle","addons","bookmark-nopop","tb-open","javascript-toggle","stop-iframe","redo","next-tab","saveas","delete-button","tb-clear-search","snap-back","stop-all","tb-toggle-menu-bar","bookmark","customize-toolbar","top-page","find-again","tab-list","stop-flash","inspecter","toggle-styles","translate","pageinfo","stop-cookies","bookmark-tabs","undo-close-tab","tb-file-menu","rename-tab","paypal","about-mem-cache","page-source","thunderbird-extension","personal-bookmarks-menu-button","restart-app","previous-tab","about-application","tb-history-menu","ebay","tb-tools-menu","tb-search-go-button","yahoo-button","change-text-direction","save-frame","pagesetup","hotmail-button","tb-new-tab","about-cache","minimize-window","tb-edit-menu","tb-about-about","bookmark-manager","up-directory","clipboard-button","toggle-bookmark-toolbar","stop-animation","enlarge","reload-proxy","open-current-frame","toggle-toolbar","profile-folder","full-screen","tb-search-minus","tb-page-reload","use-document-fonts","tb-check-for-update","tb-about-blank","firefox-theme","tb-page-stop","link-open","label-blank","send-link","tb-cookie-manager","use-document-colors","tb-url-go-button","dictionary-list","action-button--customizable-shortcutstimtaubertde-shortcuts-button","action-button--sortbookmarksbouanto-auto-sort-bookmarks-sort-all-toolbar","action-button--sortbookmarksbouanto-sort-all","toggle-button--jid1-xghxof1m8uppsqjetpack-manage-search-engines","loop-button","pocket-button","developer-button","action-button--jid1-f9uj2thwoam5gqjetpack-lightbeam_idget","_6ac85730-7d0f-4de0-b3fa-21142dd85326_-browser-action","_4cc4a13b-94a6-7568-370d-5f9de54a9c7f_-browser-action","toggle-button--compatibilityaddonsmozillaorg-acr-dialog","jid1-mnnxcxisbpnsxq_jetpack-browser-action","action-button--donottrackplusabinecom-blur","firefox_ghostery_com-browser-action","action-button--jid0-ofwt2zcakhhkfl7kp4ljnjetpack-smarthttps","ublock0-button","donottrackplus_abine_com-browser-action","ublock0_raymondhill_net-browser-action","webide-button","_95322c08-05ff-4f3c-85fd-8ceb821988dd_-browser-action","tabhunter_ericpromislow_com-browser-action","_d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d_-browser-action","_46551ec9-40f0-4e47-8e18-8e5cf550cfb8_-browser-action","web2pdfextension_17_acrobat_adobe_com-browser-action","sortbookmarks_bouanto-browser-action","screenshots_mozilla_org-browser-action","alltabshelper_alltabshelper_org-browser-action","_72b2e02b-3a71-4895-886c-fd12ebe36ba3_-browser-action","closetab_fmarin_com-browser-action","_16898b73-edd0-419f-a0a9-e5afd2a4c904_-browser-action","_32af1358-428a-446d-873e-5f8eb5f2a72e_-browser-action","formhistory_yahoo_com-browser-action","_479f0278-2c34-4365-b9f0-1d328d0f0a40_-browser-action","linkgopher_oooninja_com-browser-action","_888f1f2b-8824-4f2d-a220-558a7f1c2bc2_-browser-action","reload-skip-cache-single_codefisher_org-browser-action","_02450914-cdd9-410f-b1da-db004e18c671_-browser-action","_0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3_-browser-action","_b3e677f4-1150-4387-8629-da738260a48e_-browser-action","snap-back-single_codefisher_org-browser-action","jid0-bnmfwww2w2w4e4edvcddbnmhdvg_jetpack-browser-action","tab-session-manager_sienori-browser-action","version-icon_magicp_jp-browser-action","_5997e7bd-1940-4058-a5f4-1562afce6353_-browser-action","treestyletab_piro_sakura_ne_jp-browser-action"],"dirtyAreaCache":["__customToolbar_Syl","addon-bar","PersonalToolbar","nav-bar","TabsToolbar","toolbar-menubar","PanelUI-contents","ctr_addon-bar","ctr_extra-bar","web-developer-toolbar","ctraddon_addon-bar","ctraddon_extra-bar"],"currentVersion":13,"newElementCount":1424}

We see that the "__customToolbar_Syl" custom toolbar is still referenced (which is not the case on the profiles without my custom toolbar).

The structure is the following:


{
    "placements":
    {
        "widget-overflow-fixed-list":[]
        ,"__customToolbar_Syl":[...] => my custom toolbar
        ,"PersonalToolbar":[...] => bookmarks toolbar
        ,"nav-bar":[...] => toolbar containing the address bar
        ,"TabsToolbar":[...] => toolbar containing the tabs
        ,"toolbar-menubar":[...] => top toolbar containing the menus
        ,"addon-bar":[...] => this is my old toolbar at the bottom (which was used by Download Status Bar (legacy extension)
        ,"ctraddon_addon-bar":[...] => old toolbar of Classic Theme Restorer extension
        ,"ctraddon_extra-bar":[...] => old toolbar of Classic Theme Restorer extension
        ,"web-developer-toolbar":[...] => old toolbar of a dev extension
    }
    ,"seen":[...]
    ,"dirtyAreaCache":["addon-bar","PersonalToolbar","nav-bar","TabsToolbar","toolbar-menubar","PanelUI-contents","ctraddon_addon-bar","web-developer-toolbar","ctraddon_extra-bar","widget-overflow-fixed-list"]
    ,"currentVersion":13
    ,"newElementCount":1424
}

I tried to insert my custom toolbar on another profile (in "placements" and "dirtyAreaCache"), but it never worked. Each time Firefox is restarted, the toolbar is removed from the browser.uiCustomization.state parameter. I don't understand why on some profiles my custom toolbar is never deleted, and why it is deleted on others. I hope Firefox will give the possibility to create a custom toolbar in next releases. Otherwise, where will we able to put all the extension's buttons/icons? For the moment I put them in the menu toolbar, but this is not ideal (on the screenshot you see very few extension's icons as this is a test profile. On my production profiles I have more than 100 extensions...)

Mozilla gives absolutely no documentation about this parameter. For instance, I found by myself that I could insert custom separators in the different toolbars using the browser.uiCustomization.state parameter.

I have also created a support request in support.mozilla.org.

Sly Mat

Posted 2018-03-08T22:56:28.887

Reputation: 203

Answers

0

I verified that browser.uiCustomization.state is still being used (tested with pseudo-Firefox 61) using two tools.

  1. In Firefox go to Firefox's about:config page.
  2. Search for browser.uiCustomization.state.
  3. Right-click and then left-click on Copy Value.
  4. To make the JSON string legible validate it at https://jsonlint.com/

I highly recommend saving a backup of your Firefox profile first in case it becomes damaged. I have been a vocal advocate of the fact that Firefox was originally made because Mozilla Suite (now Mozilla SeaMonkey) was not customizable. Mozilla? I have only one word: drugs.

If you don't mind being locked at Gecko 56 for the rendering engine I highly recommend using Waterfox. It works with all of the originally extensions which I recommend you save the source code for before Mozilla ruins that too. I have also spent time trying to make people's lives easier going back years ago with Fixed Firefox.

John

Posted 2018-03-08T22:56:28.887

Reputation: 1 490