diff --git a/src/browser/base/content/global-scripts-inc.patch b/src/browser/base/content/global-scripts-inc.patch
deleted file mode 100644
index 3868907f6..000000000
--- a/src/browser/base/content/global-scripts-inc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/browser/base/content/global-scripts.inc b/browser/base/content/global-scripts.inc
-index f5f43b8f9509c37bf217b3ed1c6c562be85430e0..c8ab55760f817aa14e3db15f6b5556118e65d218 100644
---- a/browser/base/content/global-scripts.inc
-+++ b/browser/base/content/global-scripts.inc
-@@ -22,4 +22,6 @@ if (AppConstants.platform == "macosx") {
- Services.scriptloader.loadSubScript("chrome://global/content/macWindowMenu.js", this);
- }
-
-+Services.scriptloader.loadSubScript("chrome://browser/content/zen-browser-places.js", this);
-+
-
diff --git a/src/browser/base/content/webext-panels-xhtml.patch b/src/browser/base/content/webext-panels-xhtml.patch
deleted file mode 100644
index 1ca708f93..000000000
--- a/src/browser/base/content/webext-panels-xhtml.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/browser/base/content/webext-panels.xhtml b/browser/base/content/webext-panels.xhtml
-index 902fa7e7b3edb3c9502a12e475ade016436b2490..5c6ad5f9d86cd29a12483d7cb71ce9979002f092 100644
---- a/browser/base/content/webext-panels.xhtml
-+++ b/browser/base/content/webext-panels.xhtml
-@@ -16,6 +16,7 @@
-
-
-
-+
-
-
-
diff --git a/src/browser/base/content/zen-browser-places.js b/src/browser/base/content/zen-browser-places.js
deleted file mode 100644
index 8e6354b63..000000000
--- a/src/browser/base/content/zen-browser-places.js
+++ /dev/null
@@ -1,146 +0,0 @@
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-var ZenProfileDialogUI = {
- showSubView(parent, event) {
- let element = parent.querySelector('.zen-side-bar-profiles-button-panel-correction') || parent;
- PanelUI.showSubView('PanelUI-zen-profiles', element, event);
- this._updateProfilesList();
- this._updateCurentProfileId();
- },
-
- _updateProfilesList() {
- let parentList = document.getElementById('PanelUI-zen-profiles-list');
- this._emptyUserList(parentList);
- if (this._getProfilesSize(ProfileService.profiles) <= 1) {
- return;
- }
- parentList.appendChild(document.createElement('toolbarseparator'));
- for (let profile of ProfileService.profiles) {
- if (profile == ProfileService.currentProfile) {
- continue;
- }
- let item = document.createElement('div');
- item.onclick = () => this._openProfile(profile);
- item.className = 'PanelUI-zen-profiles-item';
- let avatar = document.createElement('img');
- avatar.className = 'PanelUI-zen-profiles-item-avatar';
- let name = document.createElement('div');
- name.className = 'PanelUI-zen-profiles-item-name';
- name.appendChild(document.createTextNode(profile.name));
- name.container = true;
- avatar.setAttribute('src', ZenThemeModifier._getThemedAvatar(profile.zenAvatarPath));
- item.appendChild(avatar);
- item.appendChild(name);
- parentList.appendChild(item);
- }
- },
-
- _emptyUserList(element) {
- element.innerHTML = '';
- },
-
- _updateCurentProfileId() {
- let currentProfile = ProfileService.currentProfile;
- if (!currentProfile) return;
- let nameContainer = document.getElementById("PanelUI-zen-profiles-current-name");
- nameContainer.textContent = currentProfile.name;
- },
-
- _openProfile(profile) {
- Services.startup.createInstanceWithProfile(profile);
- },
-
- _getProfilesSize(profiles) {
- let size = 0;
- for (let _ of profiles) {
- size += 1;
- }
- return size;
- },
-
- createProfileWizard() {
- // This should be rewritten in HTML eventually.
- // TODO: it could be `window.browsingContext.topChromeWindow.gDialogBox.open` but it does not work with the callback?
- window.browsingContext.topChromeWindow.openDialog(
- "chrome://mozapps/content/profile/createProfileWizard.xhtml",
- "",
- "centerscreen,chrome,modal,titlebar",
- ProfileService,
- { CreateProfile: async (profile) => {
- try {
- ProfileService.defaultProfile = profile;
- this._flush();
- this._openProfile(profile);
- } catch (e) {
- // This can happen on dev-edition.
- let [title, msg] = await document.l10n.formatValues([
- { id: "profiles-cannot-set-as-default-title" },
- { id: "profiles-cannot-set-as-default-message" },
- ]);
-
- Services.prompt.alert(window, title, msg);
- }
- } }
- );
- },
-
- async _flush() {
- try {
- ProfileService.flush();
- this._updateProfilesList();
- } catch (e) {
- let [title, msg, button] = await document.l10n.formatValues([
- { id: "profiles-flush-fail-title" },
- {
- id:
- e.result == Cr.NS_ERROR_DATABASE_CHANGED
- ? "profiles-flush-conflict"
- : "profiles-flush-failed",
- },
- { id: "profiles-flush-restart-button" },
- ]);
-
- const PS = Ci.nsIPromptService;
- let result = Services.prompt.confirmEx(
- window,
- title,
- msg,
- PS.BUTTON_POS_0 * PS.BUTTON_TITLE_CANCEL +
- PS.BUTTON_POS_1 * PS.BUTTON_TITLE_IS_STRING,
- null,
- button,
- null,
- null,
- {}
- );
- if (result == 1) {
- this._restart(false);
- }
- }
- },
-
- _restart(safeMode) {
- let cancelQuit = Cc["@mozilla.org/supports-PRBool;1"].createInstance(
- Ci.nsISupportsPRBool
- );
- Services.obs.notifyObservers(
- cancelQuit,
- "quit-application-requested",
- "restart"
- );
-
- if (cancelQuit.data) {
- return;
- }
-
- let flags = Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart;
-
- if (safeMode) {
- Services.startup.restartInSafeMode(flags);
- } else {
- Services.startup.quit(flags);
- }
- }
-};
diff --git a/src/browser/base/content/zen-components b/src/browser/base/content/zen-components
index ea286eb8a..8fe042631 160000
--- a/src/browser/base/content/zen-components
+++ b/src/browser/base/content/zen-components
@@ -1 +1 @@
-Subproject commit ea286eb8a6af66d42a8bb4f7cc9ad4b576a3d772
+Subproject commit 8fe0426311e529779a4f068f90dcd20220cdd99d
diff --git a/src/browser/base/content/zen-scripts.inc.xhtml b/src/browser/base/content/zen-scripts.inc.xhtml
index 053da7f12..64d8ac345 100644
--- a/src/browser/base/content/zen-scripts.inc.xhtml
+++ b/src/browser/base/content/zen-scripts.inc.xhtml
@@ -4,5 +4,6 @@ window.addEventListener("DOMContentLoaded", async () => {
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenSidebarManager.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenWorkspaces.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenViewSplitter.mjs");
+ Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenProfileDialogUI.mjs");
}, { once: true });
\ No newline at end of file
diff --git a/src/browser/base/content/zen-scripts.jar.inc.mn b/src/browser/base/content/zen-scripts.jar.inc.mn
index c03098b46..b6cf49733 100644
--- a/src/browser/base/content/zen-scripts.jar.inc.mn
+++ b/src/browser/base/content/zen-scripts.jar.inc.mn
@@ -1,7 +1,7 @@
- content/browser/zen-browser-places.js (content/zen-browser-places.js)
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
content/browser/zen-components/ZenViewSplitter.mjs (content/zen-components/src/ZenViewSplitter.mjs)
content/browser/zen-components/ZenWorkspaces.mjs (content/zen-components/src/ZenWorkspaces.mjs)
content/browser/zen-components/ZenSidebarManager.mjs (content/zen-components/src/ZenSidebarManager.mjs)
+ content/browser/zen-components/ZenProfileDialogUI.js (content/zen-components/src/ZenProfileDialogUI.js)
\ No newline at end of file