├── .prettierignore ├── src ├── README.md ├── browser │ ├── components │ │ ├── newtab │ │ │ ├── aboutwelcome │ │ │ │ └── content │ │ │ │ │ ├── browser-preview.png │ │ │ │ │ ├── pulse.css │ │ │ │ │ └── aboutwelcome.html │ │ │ └── jar-mn.patch │ │ ├── welcome │ │ │ ├── moz.build │ │ │ ├── jar.mn │ │ │ ├── welcome.css │ │ │ ├── migrate.light.svg │ │ │ ├── migrate.dark.svg │ │ │ └── welcome.html │ │ ├── moz-build.patch │ │ ├── extensions │ │ │ ├── schemas │ │ │ │ ├── jar-mn.patch │ │ │ │ └── sidebars.json │ │ │ ├── jar-mn.patch │ │ │ ├── ext-browser-json.patch │ │ │ └── parent │ │ │ │ ├── experiment.d.ts │ │ │ │ └── ext-sidebarAction-js.patch │ │ ├── protections │ │ │ └── content │ │ │ │ └── protections-html.patch │ │ ├── sessionstore │ │ │ └── content │ │ │ │ └── aboutSessionRestore-xhtml.patch │ │ ├── aboutlogins │ │ │ └── content │ │ │ │ ├── aboutLogins-html.patch │ │ │ │ └── aboutLoginsImportReport-html.patch │ │ ├── tabunloader │ │ │ └── content │ │ │ │ └── aboutUnloads-html.patch │ │ ├── preferences │ │ │ ├── preferences-xhtml.patch │ │ │ ├── main-js.patch │ │ │ └── main-inc-xhtml.patch │ │ ├── enterprisepolicies │ │ │ └── content │ │ │ │ └── aboutPolicies-html.patch │ │ ├── urlbar │ │ │ └── UrlbarInput-sys-mjs.patch │ │ ├── BrowserGlue-sys-mjs.patch │ │ ├── customizableui │ │ │ └── CustomizableUI-sys-mjs.patch │ │ └── migration │ │ │ └── FirefoxProfileMigrator-jsm.patch.disabled │ ├── branding │ │ └── alpha │ │ │ └── pref │ │ │ └── firefox-branding.js │ ├── themes │ │ ├── addons │ │ │ ├── pulse │ │ │ │ ├── dark │ │ │ │ │ ├── experiment.css │ │ │ │ │ ├── icon.svg │ │ │ │ │ ├── preview.svg │ │ │ │ │ └── manifest.json │ │ │ │ └── light │ │ │ │ │ ├── experiment.css │ │ │ │ │ ├── icon.svg │ │ │ │ │ ├── preview.svg │ │ │ │ │ └── manifest.json │ │ │ ├── light │ │ │ │ └── manifest-json.patch │ │ │ ├── dark │ │ │ │ └── manifest-json.patch │ │ │ └── jar-mn.patch │ │ ├── pulse │ │ │ ├── tab_tweaks.css │ │ │ ├── jar.inc.mn │ │ │ ├── content │ │ │ │ └── downloads.css │ │ │ ├── sidebar_tabs.css │ │ │ └── vertical_tabs.css │ │ ├── shared │ │ │ ├── preferences │ │ │ │ └── preferences-css.patch │ │ │ ├── downloads │ │ │ │ └── allDownloadsView-inc-css.patch │ │ │ ├── jar-inc-mn.patch │ │ │ └── browser-shared-css.patch │ │ ├── BuiltInThemeConfig-sys-mjs.patch │ │ └── ThemeVariableMap-sys-mjs.patch │ ├── base │ │ ├── content │ │ │ ├── aboutRobots-xhtml.patch │ │ │ ├── browser-css.patch │ │ │ ├── navigator-toolbox-inc-xhtml.patch │ │ │ ├── aboutDialog.js │ │ │ ├── webext-panels-js.patch │ │ │ ├── browser-menubar-inc.patch │ │ │ ├── browser-xhtml.patch │ │ │ ├── aboutDialog.css │ │ │ ├── browser-js.patch │ │ │ ├── browser-box-inc-xhtml.patch │ │ │ ├── aboutDialog.xhtml │ │ │ ├── contentTheme-js.patch │ │ │ └── default-bookmarks-html.patch │ │ └── jar-mn.patch │ ├── app │ │ ├── profile │ │ │ ├── firefox-js.patch │ │ │ ├── smooth-fox.js │ │ │ └── pulse-browser.js │ │ └── splash-rc.patch │ ├── locales │ │ └── en-US │ │ │ └── browser │ │ │ ├── browser-ftl.patch │ │ │ ├── appExtensionFields-ftl.patch │ │ │ ├── preferences │ │ │ └── preferences-ftl.patch │ │ │ ├── welcome.ftl │ │ │ └── aboutDialog.ftl │ └── installer │ │ └── package-manifest-in.patch ├── toolkit │ ├── themes │ │ └── shared │ │ │ ├── icons │ │ │ ├── tab-rising-edge.svg │ │ │ ├── tab-falling-edge.svg │ │ │ └── bookmark-outline.svg │ │ │ ├── in-content │ │ │ └── common-shared-css.patch │ │ │ └── desktop-jar-inc-mn.patch │ ├── modules │ │ ├── moz-build.patch │ │ ├── LightweightThemeConsumer-sys-mjs.patch │ │ └── ContextMenu.jsm │ └── mozapps │ │ └── extensions │ │ ├── internal │ │ ├── XPIDatabase-jsm.patch │ │ └── XPIInstall-jsm.patch │ │ └── content │ │ └── aboutaddons-html.patch ├── devtools │ └── client │ │ ├── themes │ │ └── aboutprofiling-css.patch │ │ └── aboutdebugging │ │ └── index-html.patch ├── build │ ├── moz-build.patch │ └── application-ini-in.patch ├── gfx │ └── webrender_bindings │ │ └── fix-ftbfs-newer-cbindgen.patch ├── netwerk │ └── protocol │ │ ├── about │ │ └── nsAboutCache-cpp.patch │ │ └── http │ │ └── nsHttpHandler-cpp.patch ├── python │ └── mozbuild │ │ └── mozpack │ │ └── packager │ │ └── __init__-py.patch └── D190537.patch ├── .github ├── config.yml ├── FUNDING.yml ├── workflows │ ├── ci.yml │ ├── addons.yml │ ├── dependant-issues.yml │ ├── codeql-analysis.yml │ └── alpha_backport.yml └── PULL_REQUEST_TEMPLATE │ └── ff_update.md ├── .vscode ├── .vsls.json ├── launch.json └── settings.json ├── configs ├── branding │ ├── beta │ │ ├── logo.png │ │ ├── logo128.png │ │ ├── logo16.png │ │ ├── logo22.png │ │ ├── logo24.png │ │ ├── logo256.png │ │ ├── logo32.png │ │ ├── logo48.png │ │ ├── logo512.png │ │ ├── logo64.png │ │ └── MacOSInstaller.svg │ ├── alpha │ │ ├── logo.png │ │ ├── logo16.png │ │ ├── logo22.png │ │ ├── logo24.png │ │ ├── logo32.png │ │ ├── logo48.png │ │ ├── logo64.png │ │ ├── logo128.png │ │ ├── logo256.png │ │ ├── logo512.png │ │ └── MacOSInstaller.svg │ └── stable │ │ ├── logo.png │ │ ├── logo128.png │ │ ├── logo16.png │ │ ├── logo22.png │ │ ├── logo24.png │ │ ├── logo256.png │ │ ├── logo32.png │ │ ├── logo48.png │ │ ├── logo512.png │ │ ├── logo64.png │ │ └── MacOSInstaller.svg ├── linux │ └── mozconfig ├── macos │ └── mozconfig ├── windows │ └── mozconfig └── common │ └── mozconfig ├── .prettierrc ├── package.json ├── .gitignore ├── gluon.json ├── README.md └── CHANGELOG.md /.prettierignore: -------------------------------------------------------------------------------- 1 | engine/ -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- 1 | # Melon build tool 2 | test -------------------------------------------------------------------------------- /.github/config.yml: -------------------------------------------------------------------------------- 1 | todo: 2 | keyword: 'todo' 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [trickypr] 4 | -------------------------------------------------------------------------------- /.vscode/.vsls.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/vsls", 3 | "gitignore": "none" 4 | } 5 | -------------------------------------------------------------------------------- /configs/branding/beta/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo16.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo22.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo24.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo32.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo48.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo64.png -------------------------------------------------------------------------------- /configs/branding/beta/logo128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo128.png -------------------------------------------------------------------------------- /configs/branding/beta/logo16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo16.png -------------------------------------------------------------------------------- /configs/branding/beta/logo22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo22.png -------------------------------------------------------------------------------- /configs/branding/beta/logo24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo24.png -------------------------------------------------------------------------------- /configs/branding/beta/logo256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo256.png -------------------------------------------------------------------------------- /configs/branding/beta/logo32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo32.png -------------------------------------------------------------------------------- /configs/branding/beta/logo48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo48.png -------------------------------------------------------------------------------- /configs/branding/beta/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo512.png -------------------------------------------------------------------------------- /configs/branding/beta/logo64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/beta/logo64.png -------------------------------------------------------------------------------- /configs/branding/stable/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo128.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo256.png -------------------------------------------------------------------------------- /configs/branding/alpha/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/alpha/logo512.png -------------------------------------------------------------------------------- /configs/branding/stable/logo128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo128.png -------------------------------------------------------------------------------- /configs/branding/stable/logo16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo16.png -------------------------------------------------------------------------------- /configs/branding/stable/logo22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo22.png -------------------------------------------------------------------------------- /configs/branding/stable/logo24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo24.png -------------------------------------------------------------------------------- /configs/branding/stable/logo256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo256.png -------------------------------------------------------------------------------- /configs/branding/stable/logo32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo32.png -------------------------------------------------------------------------------- /configs/branding/stable/logo48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo48.png -------------------------------------------------------------------------------- /configs/branding/stable/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo512.png -------------------------------------------------------------------------------- /configs/branding/stable/logo64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/configs/branding/stable/logo64.png -------------------------------------------------------------------------------- /src/browser/components/newtab/aboutwelcome/content/browser-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulse-browser/browser/HEAD/src/browser/components/newtab/aboutwelcome/content/browser-preview.png -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true, 4 | "overrides": [ 5 | { 6 | "files": "src/browser/app/profile/*.js", 7 | "options": { 8 | "semi": true 9 | } 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /src/browser/branding/alpha/pref/firefox-branding.js: -------------------------------------------------------------------------------- 1 | // This Source Code Form is subject to the terms of the Mozilla Public 2 | // License, v. 2.0. If a copy of the MPL was not distributed with this 3 | // file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | -------------------------------------------------------------------------------- /src/browser/components/welcome/moz.build: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | JAR_MANIFESTS += ["jar.mn"] 5 | -------------------------------------------------------------------------------- /configs/linux/mozconfig: -------------------------------------------------------------------------------- 1 | # Optimise builds 2 | # ac_add_options --enable-application=browser 3 | # ac_add_options --enable-hardening 4 | # ac_add_options --enable-rust-simd 5 | # ac_add_options --enable-release 6 | # ac_add_options --enable-optimize 7 | # ac_add_options --with-ccache=sccache 8 | # ac_add_options --disable-debug 9 | # ac_add_options --enable-updater 10 | 11 | -------------------------------------------------------------------------------- /src/browser/themes/addons/pulse/dark/experiment.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | @import url('chrome://browser/skin/addons/shared.css'); 6 | 7 | /* Proton Dark theme */ 8 | @import url("chrome://browser/skin/light-dark-overrides.css"); 9 | -------------------------------------------------------------------------------- /src/browser/themes/addons/pulse/light/experiment.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | @import url('chrome://browser/skin/addons/shared.css'); 6 | 7 | /* Proton Light theme */ 8 | @import url("chrome://browser/skin/light-dark-overrides.css"); 9 | -------------------------------------------------------------------------------- /src/browser/components/moz-build.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/moz.build b/browser/components/moz.build 2 | index 0c59bb842172a1d1d1cdf91ec588dedb75de1b54..a2f213d294e24b3bc4d2fa2a2220e643432920fa 100644 3 | --- a/browser/components/moz.build 4 | +++ b/browser/components/moz.build 5 | @@ -64,6 +64,9 @@ DIRS += [ 6 | "urlbar", 7 | ] 8 | 9 | +# Pulse: Custom components 10 | +DIRS += ["welcome"] 11 | + 12 | DIRS += ["build"] 13 | 14 | 15 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI and tests 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | pull_request: 7 | 8 | jobs: 9 | license-check: 10 | name: License check 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v2 15 | with: 16 | submodules: recursive 17 | 18 | - name: Setup Melon 19 | run: yarn 20 | 21 | - name: Check license 22 | run: yarn licenseCheck 23 | -------------------------------------------------------------------------------- /src/browser/themes/pulse/tab_tweaks.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | html[show-tab-close='false'] .tab-close-button { 6 | display: none !important; 7 | } 8 | 9 | html[show-tab-new='false'] #new-tab-button, 10 | html[show-tab-new='false'] #browser #new-tab-button { 11 | display: none !important; 12 | } 13 | -------------------------------------------------------------------------------- /src/toolkit/themes/shared/icons/tab-rising-edge.svg: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/toolkit/themes/shared/icons/tab-falling-edge.svg: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/toolkit/modules/moz-build.patch: -------------------------------------------------------------------------------- 1 | diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build 2 | index 858bfc466ef610b18de4bb9408f00d42312cc0f2..62e55efc6b15fb183d43c47fed4538dc0ab71f38 100644 3 | --- a/toolkit/modules/moz.build 4 | +++ b/toolkit/modules/moz.build 5 | @@ -160,6 +160,7 @@ EXTRA_JS_MODULES += [ 6 | "Color.sys.mjs", 7 | "Console.sys.mjs", 8 | "ContentDOMReference.sys.mjs", 9 | + "ContextMenu.jsm", 10 | "CreditCard.sys.mjs", 11 | "DateTimePickerPanel.sys.mjs", 12 | "DeferredTask.sys.mjs", 13 | -------------------------------------------------------------------------------- /configs/macos/mozconfig: -------------------------------------------------------------------------------- 1 | # Optimise builds 2 | # ac_add_options --enable-application=browser 3 | # ac_add_options --enable-hardening 4 | # ac_add_options --enable-rust-simd 5 | # ac_add_options --enable-release 6 | # ac_add_options --enable-optimize 7 | # ac_add_options --with-ccache=sccache 8 | # ac_add_options --disable-debug 9 | # ac_add_options --enable-updater 10 | # mk_add_options MOZ_MAKE_FLAGS="-j4" 11 | 12 | # ac_add_options --with-wasi-sysroot=/Users/school/Downloads/wasi-sdk-14.0/share/wasi-sysroot 13 | ac_add_options --without-wasm-sandboxed-libraries 14 | -------------------------------------------------------------------------------- /src/browser/base/content/aboutRobots-xhtml.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/aboutRobots.xhtml b/browser/base/content/aboutRobots.xhtml 2 | index 91bfad676708938748990876b062eb2116358138..8cfe3339acfbd58af165c2394ebef2a54996b76d 100644 3 | --- a/browser/base/content/aboutRobots.xhtml 4 | +++ b/browser/base/content/aboutRobots.xhtml 5 | @@ -26,6 +26,7 @@ 6 | 7 | 8 | 9 | + 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "gdb", 9 | "request": "launch", 10 | "name": "Launch Pulse (Linux)", 11 | "target": "${workspaceFolder}/engine/obj-x86_64-pc-linux-gnu/dist/bin/pulse-browser", 12 | "cwd": "${workspaceRoot}", 13 | "valuesFormatting": "parseText" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/devtools/client/themes/aboutprofiling-css.patch: -------------------------------------------------------------------------------- 1 | diff --git a/devtools/client/themes/aboutprofiling.css b/devtools/client/themes/aboutprofiling.css 2 | index bb3d4d4a1c576aac0618eb78160fcdc8ac28aa6f..7b2c8aa229f1d1970c0d92147db8fd275479d129 100644 3 | --- a/devtools/client/themes/aboutprofiling.css 4 | +++ b/devtools/client/themes/aboutprofiling.css 5 | @@ -4,8 +4,8 @@ 6 | 7 | .perf { 8 | max-width: 670px; 9 | - margin: 10vh auto; 10 | - padding: 0 5%; 11 | + margin: auto; 12 | + padding: 10vh 5%; 13 | } 14 | 15 | /* This styling was originally taken from the about:preferences page. */ 16 | -------------------------------------------------------------------------------- /src/browser/app/profile/firefox-js.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js 2 | index 29e5b7316f3549181f4a1415a8324e1bf81519a4..58b672329b5c0596b773db659220a59de5e85482 100644 3 | --- a/browser/app/profile/firefox.js 4 | +++ b/browser/app/profile/firefox.js 5 | @@ -2937,3 +2937,5 @@ pref("browser.mailto.dualPrompt.os", false); 6 | // When visiting a site which uses registerProtocolHandler: Ask the user to set Firefox as 7 | // default mailto handler. 8 | pref("browser.mailto.prompt.os", true); 9 | + 10 | +#include pulse-browser.js 11 | \ No newline at end of file 12 | -------------------------------------------------------------------------------- /src/browser/themes/shared/preferences/preferences-css.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/themes/shared/preferences/preferences.css b/browser/themes/shared/preferences/preferences.css 2 | index 74493f3c59c4824c0873d278a47be649e4e90ffa..f1446090abbca1bf1a004e59721bf2c7ce5c9afc 100644 3 | --- a/browser/themes/shared/preferences/preferences.css 4 | +++ b/browser/themes/shared/preferences/preferences.css 5 | @@ -1603,3 +1603,8 @@ richlistitem .text-link:hover { 6 | appearance: none; 7 | } 8 | } 9 | + 10 | +#category-more-from-mozilla { 11 | + /* Don't show from mozilla in settings */ 12 | + display: none; 13 | +} 14 | -------------------------------------------------------------------------------- /src/build/moz-build.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/moz.build b/build/moz.build 2 | index 671e77e97b351148a871022769e41798db3781eb..284d3bcdec8a139f9881a4df24cbae846e2f44f3 100644 3 | --- a/build/moz.build 4 | +++ b/build/moz.build 5 | @@ -91,7 +91,7 @@ if CONFIG["MOZ_APP_BASENAME"]: 6 | if CONFIG[var]: 7 | appini_defines[var] = True 8 | 9 | - appini_defines["MOZ_APPUPDATE_HOST"] = "aus5.mozilla.org" 10 | + appini_defines["MOZ_APPUPDATE_HOST"] = "updates.pulsebrowser.app" 11 | if CONFIG["MOZ_APPUPDATE_HOST"]: 12 | appini_defines["MOZ_APPUPDATE_HOST"] = CONFIG["MOZ_APPUPDATE_HOST"] 13 | 14 | -------------------------------------------------------------------------------- /src/browser/themes/addons/light/manifest-json.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/themes/addons/light/manifest.json b/browser/themes/addons/light/manifest.json 2 | index b8eb9649a8a5292f83c34aa1d3cc867fbf456798..e8c6756f2858783cce86f94793b14071b0924cb7 100644 3 | --- a/browser/themes/addons/light/manifest.json 4 | +++ b/browser/themes/addons/light/manifest.json 5 | @@ -7,7 +7,7 @@ 6 | } 7 | }, 8 | 9 | - "name": "Light", 10 | + "name": "Mozilla Light", 11 | "description": "A theme with a light color scheme.", 12 | "author": "Mozilla", 13 | "version": "1.2", 14 | "rgb(21,20,26)", 15 | "icons": "rgb(91,91,102)", 16 | "frame": "#f0f0f4", 17 | -------------------------------------------------------------------------------- /src/browser/themes/addons/dark/manifest-json.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/themes/addons/dark/manifest.json b/browser/themes/addons/dark/manifest.json 2 | index 3ab1378a042996445ec77c8cad46b0fc44604d70..24cb568177ad3b68ad31785595073287bc06173c 100644 3 | --- a/browser/themes/addons/dark/manifest.json 4 | +++ b/browser/themes/addons/dark/manifest.json 5 | @@ -7,7 +7,7 @@ 6 | } 7 | }, 8 | 9 | - "name": "Dark", 10 | + "name": "Mozilla Dark", 11 | "description": "A theme with a dark color scheme.", 12 | "author": "Mozilla", 13 | "version": "1.2", 14 | "tab_text": "rgb(251,251,254)", 15 | "icons": "rgb(251,251,254)", 16 | "frame": "#1c1b22", 17 | -------------------------------------------------------------------------------- /src/browser/components/extensions/schemas/jar-mn.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/extensions/schemas/jar.mn b/browser/components/extensions/schemas/jar.mn 2 | index 79bbae8ff31f728abcff12f9d4ed7f8c41270e14..f27c814abefc708610d7f9c2a65b267111c76534 100644 3 | --- a/browser/components/extensions/schemas/jar.mn 4 | +++ b/browser/components/extensions/schemas/jar.mn 5 | @@ -3,6 +3,7 @@ 6 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | browser.jar: 9 | + content/browser/schemas/sidebars.json 10 | content/browser/schemas/bookmarks.json 11 | content/browser/schemas/chrome_settings_overrides.json 12 | content/browser/schemas/commands.json 13 | -------------------------------------------------------------------------------- /src/devtools/client/aboutdebugging/index-html.patch: -------------------------------------------------------------------------------- 1 | diff --git a/devtools/client/aboutdebugging/index.html b/devtools/client/aboutdebugging/index.html 2 | index e83bbf4a88b698575582d5969f95bba4a47ba4b0..6e99e2e8be99f7c38e7a143602510abce30ff1c4 100644 3 | --- a/devtools/client/aboutdebugging/index.html 4 | +++ b/devtools/client/aboutdebugging/index.html 5 | @@ -23,6 +23,7 @@ 6 | href="chrome://devtools/content/aboutdebugging/aboutdebugging.css" 7 | /> 8 | 9 | + 10 | 11 | 12 |
13 | -------------------------------------------------------------------------------- /src/browser/components/extensions/jar-mn.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/extensions/jar.mn b/browser/components/extensions/jar.mn 2 | index 12136c4d31cb8d4b7ba89139a8cfae52672c1b28..353146f52652daae6589f32a999e3d52de963fe5 100644 3 | --- a/browser/components/extensions/jar.mn 4 | +++ b/browser/components/extensions/jar.mn 5 | @@ -14,6 +14,7 @@ browser.jar: 6 | #ifdef XP_WIN 7 | content/browser/extension-win-panel.css 8 | #endif 9 | + content/browser/parent/ext-sidebars.js (parent/ext-sidebars.js) 10 | content/browser/ext-browser.json 11 | content/browser/parent/ext-bookmarks.js (parent/ext-bookmarks.js) 12 | content/browser/parent/ext-browser.js (parent/ext-browser.js) 13 | -------------------------------------------------------------------------------- /src/browser/components/protections/content/protections-html.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/protections/content/protections.html b/browser/components/protections/content/protections.html 2 | index 1374c30fd7d13f7f3b609cedbf9ee553eee5d8e8..1d8082250689e0322c85c8e1b0605a49faaf0d7d 100644 3 | --- a/browser/components/protections/content/protections.html 4 | +++ b/browser/components/protections/content/protections.html 5 | @@ -25,6 +25,7 @@ 6 | src="chrome://browser/content/protections.mjs" 7 | > 8 | 9 | + 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/browser/themes/addons/pulse/dark/icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/browser/themes/addons/pulse/light/icon.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/browser/themes/shared/downloads/allDownloadsView-inc-css.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/themes/shared/downloads/allDownloadsView.inc.css b/browser/themes/shared/downloads/allDownloadsView.inc.css 2 | index 204e6a95a17a58789c5992983196542104f6cf84..43f7cae36b9b60d27d2442efe3f48f7cbea8bcaa 100644 3 | --- a/browser/themes/shared/downloads/allDownloadsView.inc.css 4 | +++ b/browser/themes/shared/downloads/allDownloadsView.inc.css 5 | @@ -4,6 +4,7 @@ 6 | 7 | @import "chrome://browser/skin/downloads/progressmeter.css"; 8 | @import "chrome://browser/skin/downloads/download-blockedStates.css"; 9 | +@import "chrome://browser/skin/pulse/downloads.css"; 10 | 11 | /*** View and outer controls ***/ 12 | 13 | -------------------------------------------------------------------------------- /src/build/application-ini-in.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/application.ini.in b/build/application.ini.in 2 | index 6df13230a45b2a86356f4e5a7b189c46f53e44cc..47fc729cba7d9cb612bfa0297a24644925ab53af 100644 3 | --- a/build/application.ini.in 4 | +++ b/build/application.ini.in 5 | @@ -52,5 +52,5 @@ ServerURL=@MOZ_CRASHREPORTER_URL@/submit?id=@MOZ_APP_ID@&version=@MOZ_APP_VERSIO 6 | 7 | #if MOZ_UPDATER 8 | [AppUpdate] 9 | -URL=https://@MOZ_APPUPDATE_HOST@/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml 10 | +URL=https://@MOZ_APPUPDATE_HOST@/updates/browser/%BUILD_TARGET%/%CHANNEL%/update.xml 11 | #endif 12 | -------------------------------------------------------------------------------- /src/browser/app/splash-rc.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/app/splash.rc b/browser/app/splash.rc 2 | index a5d418e812ecf83f0f5f694e2d0d53e0321b483b..8e78627d04a12a47301adf6c4a21e808f677b097 100644 3 | --- a/browser/app/splash.rc 4 | +++ b/browser/app/splash.rc 5 | @@ -6,6 +6,15 @@ 6 | #include 7 | #include "nsNativeAppSupportWin.h" 8 | 9 | +#define MANIFEST_PATH "firefox.exe.manifest" 10 | + 11 | +///////////////////////////////////////////////////////////////////////////// 12 | +// 13 | +// RT_MANIFEST 14 | +// 15 | + 16 | +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST MANIFEST_PATH 17 | + 18 | IDI_APPICON ICON FIREFOX_ICO 19 | IDI_DOCUMENT ICON DOCUMENT_ICO 20 | IDI_APPLICATION ICON FIREFOX_ICO 21 | -------------------------------------------------------------------------------- /src/browser/base/content/browser-css.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css 2 | index 681d79f75f630e9812cb894a46aadc9374c7cd58..9d3ed9904d371b5aae68d0db25b10e7cf0d20cc1 100644 3 | --- a/browser/base/content/browser.css 4 | +++ b/browser/base/content/browser.css 5 | @@ -384,6 +384,7 @@ toolbarpaletteitem { 6 | :root[inDOMFullscreen] #navigator-toolbox, 7 | :root[inDOMFullscreen] #fullscr-toggler, 8 | :root[inDOMFullscreen] #sidebar-box, 9 | +:root[inDOMFullscreen] #sidebar-container, 10 | :root[inDOMFullscreen] #sidebar-splitter, 11 | :root[inFullscreen]:not([macOSNativeFullscreen]) toolbar:not([fullscreentoolbar=true]), 12 | :root[inFullscreen] .global-notificationbox { 13 | -------------------------------------------------------------------------------- /src/gfx/webrender_bindings/fix-ftbfs-newer-cbindgen.patch: -------------------------------------------------------------------------------- 1 | Description: Remove an extra constant definition that is now being generated by newer versions of cbindgen (0.24), and causing build failures because it is defined in several places. 2 | Author: Olivier Tilloy 3 | Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259 4 | Forwarded: not-needed 5 | 6 | --- a/gfx/webrender_bindings/webrender_ffi.h 7 | +++ b/gfx/webrender_bindings/webrender_ffi.h 8 | @@ -73,8 +73,6 @@ struct WrPipelineInfo; 9 | struct WrPipelineIdAndEpoch; 10 | using WrPipelineIdEpochs = nsTArray; 11 | 12 | -const uint64_t ROOT_CLIP_CHAIN = ~0; 13 | - 14 | } // namespace wr 15 | } // namespace mozilla 16 | 17 | -------------------------------------------------------------------------------- /src/browser/base/content/navigator-toolbox-inc-xhtml.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml 2 | index 8071a5fa5e1f3ba3dfd0345fa1e3284082eb2e39..c6d6d3b08f033ff207daa44074f8422e51b52640 100644 3 | --- a/browser/base/content/navigator-toolbox.inc.xhtml 4 | +++ b/browser/base/content/navigator-toolbox.inc.xhtml 5 | @@ -475,6 +475,10 @@ 6 | consumeanchor="PanelUI-button" 7 | data-l10n-id="appmenu-menu-button-closed2"/> 8 | 9 | + 10 | +# Intended for the vertical tabs view, should be hidden by default 11 | +#include titlebar-items.inc.xhtml 12 | + 13 | 14 | 15 | 7 | 8 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/browser/components/aboutlogins/content/aboutLogins-html.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/aboutlogins/content/aboutLogins.html b/browser/components/aboutlogins/content/aboutLogins.html 2 | index d53bc804177d414928dae9a2cb8e42a0a0dae9ac..b5190e9d556ab8b40840214fac15eed17a5fae25 100644 3 | --- a/browser/components/aboutlogins/content/aboutLogins.html 4 | +++ b/browser/components/aboutlogins/content/aboutLogins.html 5 | @@ -31,6 +31,7 @@ 6 | 7 | 8 | 9 | + 10 | 11 | 12 |
13 | -------------------------------------------------------------------------------- /src/browser/components/aboutlogins/content/aboutLoginsImportReport-html.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/aboutlogins/content/aboutLoginsImportReport.html b/browser/components/aboutlogins/content/aboutLoginsImportReport.html 2 | index 5f52fdf29e15a30b01c33a5b91ca751d3abfba3a..f4e903b57d8b79d5b7ffad7523fe808f51b913ab 100644 3 | --- a/browser/components/aboutlogins/content/aboutLoginsImportReport.html 4 | +++ b/browser/components/aboutlogins/content/aboutLoginsImportReport.html 5 | @@ -34,6 +34,7 @@ 6 | href="chrome://browser/content/aboutlogins/common.css" 7 | /> 8 | 9 | + 10 | 11 | 12 |
13 | -------------------------------------------------------------------------------- /src/browser/components/tabunloader/content/aboutUnloads-html.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/tabunloader/content/aboutUnloads.html b/browser/components/tabunloader/content/aboutUnloads.html 2 | index 193840cd99123953e579585bf24b8370b5beffae..1c3e01688a5dbba81dd1dc7de01c30d3b29bec43 100644 3 | --- a/browser/components/tabunloader/content/aboutUnloads.html 4 | +++ b/browser/components/tabunloader/content/aboutUnloads.html 5 | @@ -22,6 +22,7 @@ 6 | 7 | 8 | 9 | + 10 | 11 | 12 |

13 | -------------------------------------------------------------------------------- /src/toolkit/themes/shared/in-content/common-shared-css.patch: -------------------------------------------------------------------------------- 1 | diff --git a/toolkit/themes/shared/in-content/common-shared.css b/toolkit/themes/shared/in-content/common-shared.css 2 | index 6888ef539d47d31ecf2d6cc6da5f67aa194a45ad..54a0dda72ccd941b1d7298cc3c76c85e4440dbda 100644 3 | --- a/toolkit/themes/shared/in-content/common-shared.css 4 | +++ b/toolkit/themes/shared/in-content/common-shared.css 5 | @@ -252,8 +252,6 @@ 6 | 7 | :root { 8 | appearance: none; 9 | - background-color: var(--in-content-page-background); 10 | - color: var(--in-content-page-color); 11 | } 12 | 13 | :root:not(.system-font-size) { 14 | @@ -263,6 +261,8 @@ 15 | 16 | html|body { 17 | margin: 0; 18 | + background-color: var(--in-content-page-background); 19 | + color: var(--in-content-page-color); 20 | } 21 | 22 | html|hr { 23 | -------------------------------------------------------------------------------- /src/browser/locales/en-US/browser/browser-ftl.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/locales/en-US/browser/browser.ftl b/browser/locales/en-US/browser/browser.ftl 2 | index de82989814fa2c4c08e58230dbdfac4e3ed61801..64243a0212516e2fe2ecf29d363ac22a4e84bf7c 100644 3 | --- a/browser/locales/en-US/browser/browser.ftl 4 | +++ b/browser/locales/en-US/browser/browser.ftl 5 | @@ -981,6 +981,9 @@ firefox-relay-offer-what-relay-provides = All emails sent to your email masks wi 6 | 7 | firefox-relay-offer-legal-notice = By clicking “Use email mask”, you agree to the and . 8 | 9 | +sidebar-context-delete = 10 | + .label = Delete 11 | + 12 | ## Add-on Pop-up Notifications 13 | 14 | popup-notification-addon-install-unsigned = 15 | -------------------------------------------------------------------------------- /src/browser/installer/package-manifest-in.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in 2 | index 73a41dc25b9ad674750ce5849a9db8f9878e5e11..9a970a8823912dd237e82e6b10a1dcb13f883a07 100644 3 | --- a/browser/installer/package-manifest.in 4 | +++ b/browser/installer/package-manifest.in 5 | @@ -391,11 +391,13 @@ bin/libfreebl_64int_3.so 6 | #endif 7 | #endif 8 | 9 | +; Pulse: Removed because we do not use it at the moment and we just want the 10 | +; bloody installer to work properly :( 11 | ; [MaintenanceService] 12 | ; 13 | #ifdef MOZ_MAINTENANCE_SERVICE 14 | -@BINPATH@/maintenanceservice.exe 15 | -@BINPATH@/maintenanceservice_installer.exe 16 | +; @BINPATH@/maintenanceservice.exe 17 | +; @BINPATH@/maintenanceservice_installer.exe 18 | #endif 19 | 20 | ; [Crash Reporter] 21 | -------------------------------------------------------------------------------- /src/netwerk/protocol/about/nsAboutCache-cpp.patch: -------------------------------------------------------------------------------- 1 | diff --git a/netwerk/protocol/about/nsAboutCache.cpp b/netwerk/protocol/about/nsAboutCache.cpp 2 | index d49b2a5a542d3b33e62a07f2b59bd6e2020ed000..b651d2f38cc3e9dce1be8c12d7e008b6159fb23a 100644 3 | --- a/netwerk/protocol/about/nsAboutCache.cpp 4 | +++ b/netwerk/protocol/about/nsAboutCache.cpp 5 | @@ -91,6 +91,7 @@ nsresult nsAboutCache::Channel::Init(nsIURI* aURI, nsILoadInfo* aLoadInfo) { 6 | "href=\"chrome://global/skin/in-content/info-pages.css\"/>\n" 7 | " \n" 9 | + " \n" 10 | "\n" 11 | "\n" 12 | "

Information about the Network Cache Storage Service

\n"); 13 | -------------------------------------------------------------------------------- /src/browser/components/preferences/preferences-xhtml.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml 2 | index 999241db4629794e200ec016b8d14694f7a5f4e3..6387589d6e2ba1a10d73ffef9dfdcc8ddee550c5 100644 3 | --- a/browser/components/preferences/preferences.xhtml 4 | +++ b/browser/components/preferences/preferences.xhtml 5 | @@ -67,6 +67,7 @@ 6 | 8 | 10 | 11 | 12 | 7 | 8 | 9 | + 10 | 11 | 12 |
13 | -------------------------------------------------------------------------------- /src/toolkit/modules/LightweightThemeConsumer-sys-mjs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/toolkit/modules/LightweightThemeConsumer.sys.mjs b/toolkit/modules/LightweightThemeConsumer.sys.mjs 2 | index 49fa4378f2f93842b41c9b01cbda3caddb547c02..a8aafb9ecf2aa855771ac0e049dbaa46398ceb5e 100644 3 | --- a/toolkit/modules/LightweightThemeConsumer.sys.mjs 4 | +++ b/toolkit/modules/LightweightThemeConsumer.sys.mjs 5 | @@ -173,6 +173,14 @@ const toolkitVariableMap = [ 6 | { lwtProperty: "ntp_card_background" }, 7 | ], 8 | ["--newtab-text-primary-color", { lwtProperty: "ntp_text" }], 9 | + // Pulse browser: Sidebar colors 10 | + // Expose some light weight theme variables to be available for use within css 11 | + [ 12 | + '--lwt-sidebar-background-color', 13 | + { 14 | + lwtProperty: "sidebar", 15 | + } 16 | + ] 17 | ]; 18 | 19 | export function LightweightThemeConsumer(aDocument) { 20 | -------------------------------------------------------------------------------- /src/browser/components/extensions/ext-browser-json.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/extensions/ext-browser.json b/browser/components/extensions/ext-browser.json 2 | index 9fb9d562e42558c87676783455e9d2c9938411cc..07cef4ddc27ac1ae93b64c3fb39d65f31303ae51 100644 3 | --- a/browser/components/extensions/ext-browser.json 4 | +++ b/browser/components/extensions/ext-browser.json 5 | @@ -150,6 +150,14 @@ 6 | "manifest": ["sidebar_action"], 7 | "paths": [["sidebarAction"]] 8 | }, 9 | + "sidebars": { 10 | + "url": "chrome://browser/content/parent/ext-sidebars.js", 11 | + "schema": "chrome://browser/content/schemas/sidebars.json", 12 | + "scopes": ["addon_parent"], 13 | + "paths": [ 14 | + ["sidebars"] 15 | + ] 16 | + }, 17 | "tabs": { 18 | "url": "chrome://browser/content/parent/ext-tabs.js", 19 | "schema": "chrome://browser/content/schemas/tabs.json", 20 | -------------------------------------------------------------------------------- /src/browser/themes/BuiltInThemeConfig-sys-mjs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/themes/BuiltInThemeConfig.sys.mjs b/browser/themes/BuiltInThemeConfig.sys.mjs 2 | index 9c93c0d39ad11d95ecb4ad119d3c21da2528af23..e00efac497130363a41c0ecdbe07df761076b368 100644 3 | --- a/browser/themes/BuiltInThemeConfig.sys.mjs 4 | +++ b/browser/themes/BuiltInThemeConfig.sys.mjs 5 | @@ -32,6 +32,20 @@ export const BuiltInThemeConfig = new Map([ 6 | path: "resource://builtin-themes/dark/", 7 | }, 8 | ], 9 | + [ 10 | + "pulse-light@browser.fushra.com", 11 | + { 12 | + version: "1.2", 13 | + path: "resource://builtin-themes/pulse/light/", 14 | + }, 15 | + ], 16 | + [ 17 | + "pulse-dark@browser.fushra.com", 18 | + { 19 | + version: "1.2", 20 | + path: "resource://builtin-themes/pulse/dark/", 21 | + }, 22 | + ], 23 | [ 24 | "firefox-alpenglow@mozilla.org", 25 | { 26 | -------------------------------------------------------------------------------- /src/browser/base/content/aboutDialog.js: -------------------------------------------------------------------------------- 1 | // This Source Code Form is subject to the terms of the Mozilla Public 2 | // License, v. 2.0. If a copy of the MPL was not distributed with this 3 | // file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | var { Services } = ChromeUtils.import('resource://gre/modules/Services.jsm') 5 | var { AppConstants } = ChromeUtils.import( 6 | 'resource://gre/modules/AppConstants.jsm' 7 | ) 8 | 9 | function init(event) { 10 | document.getElementById('version').innerHTML = 11 | AppConstants.MOZ_APP_VERSION_DISPLAY 12 | document.getElementById('channel').innerHTML = Services.prefs.getCharPref( 13 | 'app.update.channel', 14 | 'Unknown' 15 | ) 16 | 17 | console.log(AppConstants.MOZ_APP_VERSION_DISPLAY) 18 | console.log(Services.prefs.getCharPref('app.update.channel', 'Unknown')) 19 | } 20 | 21 | window.onload = () => setTimeout(() => init({}), 500) 22 | -------------------------------------------------------------------------------- /src/browser/base/content/webext-panels-js.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/webext-panels.js b/browser/base/content/webext-panels.js 2 | index 22a5c0b4b6382fa5290391a14f7dd680a10a1ce1..fa8c68161914b230bf7ff3dbe7ab82e409630069 100644 3 | --- a/browser/base/content/webext-panels.js 4 | +++ b/browser/base/content/webext-panels.js 5 | @@ -38,7 +38,7 @@ function getBrowser(panel) { 6 | browser.setAttribute("type", "content"); 7 | browser.setAttribute("flex", "1"); 8 | browser.setAttribute("disableglobalhistory", "true"); 9 | - browser.setAttribute("messagemanagergroup", "webext-browsers"); 10 | + browser.setAttribute("messagemanagergroup", !panel.uri.includes('http') ? "webext-browsers" : "browsers"); 11 | browser.setAttribute("webextension-view-type", panel.viewType); 12 | browser.setAttribute("context", "contentAreaContextMenu"); 13 | browser.setAttribute("tooltip", "aHTMLTooltip"); 14 | -------------------------------------------------------------------------------- /src/browser/themes/pulse/jar.inc.mn: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | # This is not a complete / proper jar manifest. It is included by the 6 | # actual theme-specific manifests, so that shared resources need only 7 | # be specified once. As a result, the source file paths are relative 8 | # to the location of the actual manifest. 9 | 10 | skin/classic/browser/pulse/sidebar_tabs.css (../pulse/sidebar_tabs.css) 11 | skin/classic/browser/pulse/tab_tweaks.css (../pulse/tab_tweaks.css) 12 | skin/classic/browser/pulse/vertical_tabs.css (../pulse/vertical_tabs.css) 13 | skin/classic/browser/pulse/downloads.css (../pulse/content/downloads.css) 14 | skin/classic/browser/addons/shared.css (../pulse/addons/shared.css) 15 | -------------------------------------------------------------------------------- /src/browser/components/preferences/main-js.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js 2 | index 3f5db88709610537280ab4fae1d64364adf4d8bc..43cbc29e5b0d831a9a35a81ee5748098819fe97e 100644 3 | --- a/browser/components/preferences/main.js 4 | +++ b/browser/components/preferences/main.js 5 | @@ -162,6 +162,15 @@ Preferences.addAll([ 6 | 7 | // Media 8 | { id: "media.hardwaremediakeys.enabled", type: "bool" }, 9 | + 10 | + // Pulse browser: custom settings 11 | + { id: "pulse.sidebar.enabled", type: "bool" }, 12 | + { id: "pulse.sidebar.keeptabsactive.enabled", type: "bool" }, 13 | + 14 | + { id: "pulse.tabs.vertical", type: "bool" }, 15 | + { id: "pulse.tabs.vertical.collapse", type: "bool" }, 16 | + { id: "pulse.tabs.show.new", type: "bool" }, 17 | + { id: "pulse.tabs.show.close", type: "bool" }, 18 | ]); 19 | 20 | if (AppConstants.HAVE_SHELL_SERVICE) { 21 | -------------------------------------------------------------------------------- /src/browser/base/content/browser-menubar-inc.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/browser-menubar.inc b/browser/base/content/browser-menubar.inc 2 | index f3134d5a9a01b7965eede5695def5afef4a66d6b..626fba18a7e9341731f6b71a98197695d63d7c6c 100644 3 | --- a/browser/base/content/browser-menubar.inc 4 | +++ b/browser/base/content/browser-menubar.inc 5 | @@ -153,6 +153,9 @@ 6 | type="checkbox" 7 | class="sync-ui-item" 8 | oncommand="SidebarUI.toggle('viewTabsSidebar');" data-l10n-id="menu-view-synced-tabs-sidebar"/> 9 | + 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/browser/base/jar-mn.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/jar.mn b/browser/base/jar.mn 2 | index a0e9585076a16f46f0b100f3fdd71896b75d165b..9c8a3abcdb97a968e00c9727c82e2644f9aaf921 100644 3 | --- a/browser/base/jar.mn 4 | +++ b/browser/base/jar.mn 5 | @@ -60,6 +60,7 @@ browser.jar: 6 | content/browser/browser-thumbnails.js (content/browser-thumbnails.js) 7 | content/browser/browser-unified-extensions.js (content/browser-unified-extensions.js) 8 | content/browser/browser-graphics-utils.js (content/browser-graphics-utils.js) 9 | + content/browser/browser-verticaltabs.js (content/browser-verticaltabs.js) 10 | content/browser/browser-webrtc.js (content/browser-webrtc.js) 11 | * content/browser/pageinfo/pageInfo.xhtml (content/pageinfo/pageInfo.xhtml) 12 | content/browser/pageinfo/pageInfo.js (content/pageinfo/pageInfo.js) 13 | -------------------------------------------------------------------------------- /src/toolkit/mozapps/extensions/internal/XPIDatabase-jsm.patch: -------------------------------------------------------------------------------- 1 | diff --git a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm 2 | index ae514dfea6ba51e1409b1b08983628df54079643..841f601e85d46672deaf0e38362a05fda05068c2 100644 3 | --- a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm 4 | +++ b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm 5 | @@ -1542,7 +1542,7 @@ const updatedAddonFluentIds = new Map([ 6 | addon.type === "theme" 7 | ) { 8 | // Built-in themes are localized with Fluent instead of the WebExtension API. 9 | - let addonIdPrefix = addon.id.replace("@mozilla.org", ""); 10 | + let addonIdPrefix = addon.id.replace("@mozilla.org", "").replace('@browser.fushra.com', ''); 11 | const colorwaySuffix = "colorway"; 12 | if (addonIdPrefix.endsWith(colorwaySuffix)) { 13 | // FIXME: Depending on BuiltInThemes here is sort of a hack. Bug 1733466 14 | -------------------------------------------------------------------------------- /src/browser/components/extensions/parent/experiment.d.ts: -------------------------------------------------------------------------------- 1 | // This Source Code Form is subject to the terms of the Mozilla Public 2 | // License, v. 2.0. If a copy of the MPL was not distributed with this 3 | // file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | // TODO: Make this file publicly available 6 | 7 | declare abstract class ExtensionAPI { 8 | constructor(extention: unknown) 9 | 10 | /** 11 | * The id given to the webextention, either by firefox or by the extention 12 | * manifest 13 | */ 14 | public id: string 15 | 16 | abstract getAPI(context: unknown): Record | any> 17 | } 18 | 19 | declare global { 20 | interface Document { 21 | createXULElement: (type: string) => HTMLElement 22 | } 23 | } 24 | 25 | declare namespace ChromeUtils { 26 | function defineModuleGetter(currentScope: any, exportName: string, url: string) 27 | function import(path: string) 28 | } 29 | -------------------------------------------------------------------------------- /src/browser/components/newtab/jar-mn.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/newtab/jar.mn b/browser/components/newtab/jar.mn 2 | index 59ccd0ca577f5947b4ce8077b444673b80b7be67..b439efb9bbc3dadd317aa753145cf30df8e2de4e 100644 3 | --- a/browser/components/newtab/jar.mn 4 | +++ b/browser/components/newtab/jar.mn 5 | @@ -8,6 +8,8 @@ browser.jar: 6 | res/activity-stream/lib/ (./lib/*) 7 | res/activity-stream/common/ (./common/*) 8 | content/activity-stream/aboutwelcome/aboutwelcome.css (./aboutwelcome/content/aboutwelcome.css) 9 | + content/activity-stream/aboutwelcome/pulse.css (./aboutwelcome/content/pulse.css) 10 | + content/activity-stream/aboutwelcome/browser-preview.png (./aboutwelcome/content/browser-preview.png) 11 | res/activity-stream/aboutwelcome/aboutwelcome.bundle.js (./aboutwelcome/content/aboutwelcome.bundle.js) 12 | res/activity-stream/aboutwelcome/aboutwelcome.html (./aboutwelcome/content/aboutwelcome.html) 13 | res/activity-stream/aboutwelcome/lib/ (./aboutwelcome/lib/*) 14 | -------------------------------------------------------------------------------- /src/toolkit/mozapps/extensions/content/aboutaddons-html.patch: -------------------------------------------------------------------------------- 1 | diff --git a/toolkit/mozapps/extensions/content/aboutaddons.html b/toolkit/mozapps/extensions/content/aboutaddons.html 2 | index 1c4101dc2843b113e02b29a26ad3d9966f6cc074..bf321c9e79340ea1bbb811fca8934b777c71c4da 100644 3 | --- a/toolkit/mozapps/extensions/content/aboutaddons.html 4 | +++ b/toolkit/mozapps/extensions/content/aboutaddons.html 5 | @@ -2,7 +2,7 @@ 6 | - License, v. 2.0. If a copy of the MPL was not distributed with this file, 7 | - You can obtain one at http://mozilla.org/MPL/2.0/. --> 8 | 9 | - 10 | + 11 | 12 | 13 | 14 | @@ -72,6 +72,7 @@ 15 | type="module" 16 | src="chrome://global/content/elements/moz-five-star.mjs" 17 | > 18 | + 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/browser/themes/pulse/content/downloads.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | /* ========================================================================== */ 6 | /* about:downloads */ 7 | 8 | #contentAreaDownloadsView { 9 | background: var(--tab-selected-bgcolor, var(--toolbar-bgcolor)); 10 | } 11 | 12 | #downloadsListBox { 13 | border: none; 14 | border-radius: 0; 15 | background: none; 16 | } 17 | 18 | #downloadsListBox > richlistitem { 19 | border-radius: 4px; 20 | transition: background-color 0.2s ease-in-out; 21 | 22 | margin-bottom: 8px; 23 | } 24 | 25 | #downloadsListBox > richlistitem:not([selected]):hover { 26 | background-color: var(--in-content-box-background); 27 | } 28 | 29 | @media (prefers-reduced-motion) { 30 | #downloadsListBox > richlistitem { 31 | transition: none; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/browser/base/content/browser-xhtml.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml 2 | index a775f71d5ca17dfbba4e84ea602c17ee669ab7e4..36f2d1fab395a7a2f3e299b39dfc15187aa9f28a 100644 3 | --- a/browser/base/content/browser.xhtml 4 | +++ b/browser/base/content/browser.xhtml 5 | @@ -110,6 +110,7 @@ 6 | Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this); 7 | Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this); 8 | Services.scriptloader.loadSubScript("chrome://browser/content/browser-unified-extensions.js", this); 9 | + Services.scriptloader.loadSubScript("chrome://browser/content/browser-verticaltabs.js", this); 10 | Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this); 11 | Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tab.js", this); 12 | Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tabs.js", this); 13 | -------------------------------------------------------------------------------- /src/browser/themes/ThemeVariableMap-sys-mjs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/themes/ThemeVariableMap.sys.mjs b/browser/themes/ThemeVariableMap.sys.mjs 2 | index ff8e85336158e4d86fab047882d6430b9e781445..4da903c46d8597ab1f749c9464ebcc0fd2f99c92 100644 3 | --- a/browser/themes/ThemeVariableMap.sys.mjs 4 | +++ b/browser/themes/ThemeVariableMap.sys.mjs 5 | @@ -159,6 +159,18 @@ export const ThemeVariableMap = [ 6 | }, 7 | }, 8 | ], 9 | + [ 10 | + "--in-content-link-color", 11 | + { 12 | + lwtProperty: "icon_color", 13 | + }, 14 | + ], 15 | + [ 16 | + "--in-content-link-color-hover", 17 | + { 18 | + lwtProperty: "icon_color", 19 | + }, 20 | + ], 21 | ]; 22 | 23 | export const ThemeContentPropertyList = [ 24 | @@ -170,4 +182,10 @@ export const ThemeContentPropertyList = [ 25 | "sidebar_highlight_text", 26 | "sidebar_text", 27 | "zap_gradient", 28 | + 29 | + // Pulse 30 | + "button_primary", 31 | + "button_primary_hover", 32 | + "button_primary_active", 33 | + "button_primary_color", 34 | ]; 35 | -------------------------------------------------------------------------------- /configs/common/mozconfig: -------------------------------------------------------------------------------- 1 | # Browser branding 2 | ac_add_options --with-ccache=sccache 3 | ac_add_options --without-wasm-sandboxed-libraries 4 | 5 | ac_add_options --with-app-basename="Pulse Browser" 6 | ac_add_options --with-app-name=${binName} 7 | export MOZ_USER_DIR="Pulse browser" 8 | export MOZ_APP_VENDOR="Pulse browser" 9 | export MOZ_APP_BASENAME=PulseBrowser 10 | export MOZ_APP_PROFILE=${binName} 11 | export MOZ_APP_DISPLAYNAME="Pulse browser" 12 | export MOZ_MACBUNDLE_ID=com.fushra.browser.alpha 13 | export MOZ_DISTRIBUTION_ID=com.fushra.browser.alpha 14 | export MOZ_MACBUNDLE_NAME="Pulse browser.app" 15 | export MOZ_APP_REMOTINGNAME=com.fushra.browser.alpha 16 | 17 | # Misc 18 | export MOZ_INCLUDE_SOURCE_INFO=1 19 | export MOZ_REQUIRE_SIGNING= 20 | export MOZ_SOURCE_REPO=https://github.com/pulse-browser/browser 21 | export MOZ_SOURCE_CHANGESET=${changeset} 22 | 23 | # Enable these to enable mozilla telemetry and tracking. By default, mozilla will not build telemetry code. 24 | # MOZ_TELEMETRY_REPORTING=1 25 | # MOZ_DATA_REPORTING=1 26 | 27 | -------------------------------------------------------------------------------- /src/browser/components/urlbar/UrlbarInput-sys-mjs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs 2 | index fabe5a334b5c2e2f41ddd6d7b871a3a68affae28..0e80439af0ec560b8eddd1b4657956097cee968a 100644 3 | --- a/browser/components/urlbar/UrlbarInput.sys.mjs 4 | +++ b/browser/components/urlbar/UrlbarInput.sys.mjs 5 | @@ -398,6 +398,16 @@ export class UrlbarInput { 6 | !dueToSessionRestore && 7 | (!this.window.isBlankPageURL(uri.spec) || 8 | uri.schemeIs("moz-extension")); 9 | + 10 | + // Check if the addon is tabliss (our new tab) and stop if from showing up 11 | + // as such 12 | + try { 13 | + const { WebExtensionPolicy } = Cu.getGlobalForObject(Services); 14 | + const policy = WebExtensionPolicy.getByURI(uri); 15 | + if (policy.id === 'extension@tabliss.io') { 16 | + valid = false 17 | + } 18 | + } catch (e) {} 19 | } 20 | } else if ( 21 | this.window.isInitialPage(value) && 22 | -------------------------------------------------------------------------------- /src/browser/base/content/aboutDialog.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | @namespace html 'http://www.w3.org/1999/xhtml'; 5 | 6 | window { 7 | width: 800px !important; 8 | height: 300px !important; 9 | } 10 | 11 | #leftBox { 12 | margin: 0 !important; 13 | } 14 | 15 | #container #rightBox { 16 | margin: 0 !important; 17 | padding: 0 !important; 18 | padding-top: 0 !important; 19 | } 20 | 21 | h1 { 22 | font-size: xxx-large; 23 | font-weight: bold; 24 | } 25 | 26 | #container { 27 | padding: 32px; 28 | display: flex; 29 | justify-content: space-between; 30 | width: 800px !important; 31 | height: 300px !important; 32 | } 33 | 34 | p { 35 | display: block; 36 | } 37 | 38 | .hContainer { 39 | display: flex; 40 | gap: 8px; 41 | } 42 | 43 | #rightBox { 44 | display: flex; 45 | flex-direction: column; 46 | justify-content: space-around; 47 | } 48 | -------------------------------------------------------------------------------- /src/toolkit/themes/shared/desktop-jar-inc-mn.patch: -------------------------------------------------------------------------------- 1 | diff --git a/toolkit/themes/shared/desktop-jar.inc.mn b/toolkit/themes/shared/desktop-jar.inc.mn 2 | index e695d2206a84d6ceb7d61ffa6adb1599872fba3f..45ea891e99bc692d73928e3f06b0ad0d5a0049d9 100644 3 | --- a/toolkit/themes/shared/desktop-jar.inc.mn 4 | +++ b/toolkit/themes/shared/desktop-jar.inc.mn 5 | @@ -146,3 +146,7 @@ 6 | skin/classic/global/reader/RM-Content-Width-Plus-44x16.svg (../../shared/reader/RM-Content-Width-Plus-44x16.svg) 7 | skin/classic/global/reader/RM-Line-Height-Minus-38x14.svg (../../shared/reader/RM-Line-Height-Minus-38x14.svg) 8 | skin/classic/global/reader/RM-Line-Height-Plus-38x24.svg (../../shared/reader/RM-Line-Height-Plus-38x24.svg) 9 | + skin/classic/global/icons/bookmark-outline.svg (../../shared/icons/bookmark-outline.svg) 10 | + skin/classic/global/icons/tab-rising-edge.svg (../../shared/icons/tab-rising-edge.svg) 11 | + skin/classic/global/icons/tab-falling-edge.svg (../../shared/icons/tab-falling-edge.svg) 12 | + 13 | \ No newline at end of file 14 | -------------------------------------------------------------------------------- /src/browser/base/content/browser-js.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js 2 | index 0bc3e362057b69754919b0e4a57eeb1846a7e6e5..6cc97a82b354274e8367d6aa00374bf87013a5f6 100644 3 | --- a/browser/base/content/browser.js 4 | +++ b/browser/base/content/browser.js 5 | @@ -1710,6 +1710,7 @@ var gBrowserInit = { 6 | gPrivateBrowsingUI.init(); 7 | BrowserSearch.init(); 8 | BrowserPageActions.init(); 9 | + VerticalTabs.init(); 10 | if (gToolbarKeyNavEnabled) { 11 | ToolbarKeyboardNavigator.init(); 12 | } 13 | @@ -9865,9 +9866,7 @@ var FirefoxViewHandler = { 14 | NimbusFeatures.firefoxViewNext.offUpdate(this._updateEnabledState); 15 | }, 16 | _updateEnabledState() { 17 | - this._enabled = 18 | - NimbusFeatures.majorRelease2022.getVariable("firefoxView") || 19 | - NimbusFeatures.firefoxViewNext.getVariable("enabled"); 20 | + this._enabled = false; 21 | // We use a root attribute because there's no guarantee the button is in the 22 | // DOM, and visibility changes need to take effect even if it isn't in the DOM 23 | // right now. 24 | -------------------------------------------------------------------------------- /src/browser/base/content/browser-box-inc-xhtml.patch: -------------------------------------------------------------------------------- 1 | diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml 2 | index d445abe7e743b2ec5d46d42f8f149c000e3c7997..552bc997c4ca1955fdd09232a360d9f9e91ce682 100644 3 | --- a/browser/base/content/browser-box.inc.xhtml 4 | +++ b/browser/base/content/browser-box.inc.xhtml 5 | @@ -3,9 +3,13 @@ 6 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 | 8 | 9 | + 13 | 28 | 29 | + 30 | + 44 | + 45 | 46 |