├── .gitmodules
├── app
├── config
│ ├── version.txt
│ └── version_display.txt
├── settings
│ ├── dumps
│ │ ├── last_modified.json
│ │ ├── moz.build
│ │ └── dot
│ │ │ └── search-config.json
│ └── moz.build
├── macbuild
│ └── Contents
│ │ ├── Resources
│ │ └── English.lproj
│ │ │ └── InfoPlist.strings.in
│ │ ├── moz.build
│ │ ├── MacOS-files.in
│ │ └── MacOS-files-copy.in
├── permissions
└── profile
│ └── channel-prefs.js
├── docs
├── .gitignore
├── CNAME
├── src
│ ├── favicon.png
│ ├── contributing
│ │ ├── images
│ │ │ ├── about_debugging_host.png
│ │ │ ├── about_debugging_sidebar.png
│ │ │ ├── about_debugging_addressbar.png
│ │ │ ├── about_debugging_toolbox_tab.jpg
│ │ │ ├── about_debugging_browser_processes.png
│ │ │ └── about_debugging_connected_browser.png
│ │ ├── building_the_browser
│ │ │ ├── README.md
│ │ │ ├── macos.md
│ │ │ └── windows.md
│ │ ├── contributors_guide.md
│ │ └── README.md
│ ├── README.md
│ └── SUMMARY.md
├── README.md
└── book.toml
├── themes
├── shared
│ ├── common-dialog.css
│ ├── browser-layouts.css
│ ├── global-shared.css
│ ├── browser-dialog.css
│ ├── xul
│ │ └── menu.css
│ └── icons
│ │ ├── layout.svg
│ │ ├── add.svg
│ │ ├── media-pause.svg
│ │ ├── window.svg
│ │ ├── media-stop.svg
│ │ ├── chevron-down.svg
│ │ ├── chevron-left.svg
│ │ ├── chevron-up.svg
│ │ ├── chevron-right.svg
│ │ ├── padlock.svg
│ │ ├── block.svg
│ │ ├── media-play.svg
│ │ ├── more-horizontal.svg
│ │ ├── check.svg
│ │ ├── more-vertical.svg
│ │ ├── arrow-down.svg
│ │ ├── arrow-right.svg
│ │ ├── arrow-up.svg
│ │ ├── arrow-left.svg
│ │ ├── page.svg
│ │ ├── folder.svg
│ │ ├── key.svg
│ │ ├── briefcase.svg
│ │ ├── clock.svg
│ │ ├── rubbish-bin.svg
│ │ ├── filter.svg
│ │ ├── dock-left.svg
│ │ ├── search.svg
│ │ ├── dock-top.svg
│ │ ├── collapse-right.svg
│ │ ├── dock-bottom.svg
│ │ ├── dock-right.svg
│ │ ├── label.svg
│ │ ├── beaker.svg
│ │ └── radio-check.svg
├── addons
│ ├── dark
│ │ ├── experiment.css
│ │ └── icon.svg
│ ├── light
│ │ ├── experiment.css
│ │ └── icon.svg
│ ├── moz.build
│ ├── system
│ │ ├── manifest.json
│ │ └── icon.svg
│ └── jar.mn
├── linux
│ ├── global.css
│ ├── moz.build
│ └── jar.mn
├── osx
│ ├── global.css
│ ├── moz.build
│ ├── jar.mn
│ └── browser.css
├── windows
│ ├── global.css
│ ├── moz.build
│ ├── jar.mn
│ └── browser.css
├── BuiltInThemeConfig.sys.mjs
└── ThemeIcons.sys.mjs
├── actors
├── DotClickHandlerParent.sys.mjs
├── DotClickHandlerChild.sys.mjs
├── moz.build
├── DotUAStylesChild.sys.mjs
├── DotDevToolsChild.sys.mjs
└── DotLinkStatusParent.sys.mjs
├── components
├── compat
│ ├── content
│ │ └── blank.css
│ ├── moz.build
│ └── jar.mn
├── BrowserComponents.manifest
├── search
│ ├── extensions
│ │ ├── ddg
│ │ │ ├── favicon.ico
│ │ │ └── manifest.json
│ │ └── startpage
│ │ │ ├── favicon.ico
│ │ │ └── manifest.json
│ ├── moz.build
│ └── content
│ │ ├── browser-urlbar-container.css
│ │ ├── browser-urlbar-results.css
│ │ ├── browser-urlbar-input.css
│ │ ├── browser-urlbar-button.js
│ │ ├── browser-urlbar-button.css
│ │ └── browser-urlbar-results.js
├── settings
│ ├── content
│ │ ├── settings.js
│ │ └── settings.css
│ ├── PreferencesManager.sys.mjs
│ ├── moz.build
│ └── jar.mn
├── shortcuts
│ ├── BrowserShortcuts.sys.mjs
│ └── moz.build
├── contextmenu
│ ├── content
│ │ ├── browser-context-menu.css
│ │ ├── browser-contextual-menu.js
│ │ └── browser-context-menu.js
│ ├── moz.build
│ └── jar.mn
├── customizableui
│ ├── content
│ │ ├── browser-customizable-template.css
│ │ ├── browser-customizable-overflowable-area.css
│ │ ├── browser-customizable-area-empty.css
│ │ ├── browser-customizable-area.css
│ │ └── browser-customizable-template.js
│ ├── schemas
│ │ ├── customizable_custom_component.schema.json
│ │ └── customizable_state.schema.json
│ └── moz.build
├── toolbar
│ ├── content
│ │ ├── browser-toolbar-overflow.css
│ │ ├── browser-toolbar-overflow.js
│ │ └── browser-toolbar-button.js
│ ├── moz.build
│ └── jar.mn
├── dev
│ ├── moz.build
│ └── content
│ │ └── dev-customizable-area-context.css
├── menus
│ ├── moz.build
│ └── content
│ │ ├── xul-menugroup.css
│ │ ├── xul-menuseparator.css
│ │ └── xul-menuitem.js
├── widgets
│ ├── moz.build
│ └── content
│ │ ├── browser-spring.js
│ │ ├── browser-spring.css
│ │ ├── browser-separator.js
│ │ ├── browser-group.js
│ │ ├── browser-group.css
│ │ ├── browser-icon.css
│ │ └── browser-debug-hologram.css
├── onboarding
│ ├── moz.build
│ ├── content
│ │ └── onboarding.css
│ └── jar.mn
├── extensions
│ ├── jar.mn
│ └── moz.build
├── interstitials
│ └── moz.build
├── startpage
│ ├── content
│ │ ├── startpage.css
│ │ ├── startpage.js
│ │ └── blank.html
│ ├── moz.build
│ └── jar.mn
├── identity
│ ├── jar.mn
│ └── moz.build
├── prompts
│ ├── jar.mn
│ ├── BrowserPrompts.sys.mjs
│ ├── moz.build
│ ├── BrowserWindowPrompts.sys.mjs
│ └── BrowserChromePrompts.sys.mjs
├── startup
│ └── moz.build
├── favicons
│ └── moz.build
├── navigation
│ └── moz.build
├── csd
│ ├── moz.build
│ └── jar.mn
├── devtools
│ └── moz.build
├── storage
│ ├── moz.build
│ └── BrowserStorage.sys.mjs
├── actions
│ ├── jar.mn
│ ├── moz.build
│ ├── Action.sys.mjs
│ └── content
│ │ └── browser
│ │ └── tabs
│ │ └── close_tab.js
├── DotComponents.manifest
├── tooltips
│ ├── moz.build
│ ├── content
│ │ ├── browser-tooltip.css
│ │ └── browser-remote-tooltip.js
│ └── jar.mn
├── accessibility
│ ├── moz.build
│ ├── jar.mn
│ └── content
│ │ └── browser-a11y-ring.css
├── status
│ ├── moz.build
│ └── jar.mn
├── tabs
│ ├── moz.build
│ └── content
│ │ ├── browser-tab-button.css
│ │ ├── browser-tabs-overflow-button.css
│ │ ├── browser-web-panel.js
│ │ ├── browser-tab-label.css
│ │ ├── browser-tab-button.js
│ │ ├── browser-web-frame.js
│ │ └── browser-web-container.js
├── commands
│ ├── moz.build
│ ├── content
│ │ ├── internal
│ │ │ ├── cut.js
│ │ │ ├── select-all.js
│ │ │ ├── copy.js
│ │ │ └── paste.js
│ │ ├── save-page-as.js
│ │ └── inspect.js
│ ├── jar.mn
│ └── CommandAudiences.sys.mjs
├── about
│ ├── moz.build
│ ├── AboutRedirector.h
│ └── components.conf
└── nsIBrowserHandler.idl
├── third_party
├── dothq
│ └── gecko-types
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── .prettierrc.json
│ │ ├── .prettierignore
│ │ ├── lib
│ │ ├── nsIThread.d.ts
│ │ ├── InspectorUtils.d.ts
│ │ ├── nsIDragService.d.ts
│ │ ├── services
│ │ │ ├── logins.d.ts
│ │ │ ├── appshell.d.ts
│ │ │ ├── uuid.d.ts
│ │ │ ├── wm.d.ts
│ │ │ ├── scriptloader.d.ts
│ │ │ ├── startup.d.ts
│ │ │ ├── ppmm.d.ts
│ │ │ ├── obs.d.ts
│ │ │ ├── dirsvc.d.ts
│ │ │ ├── textToSubURI.d.ts
│ │ │ └── policies.d.ts
│ │ ├── nsIBrowserHandler.d.ts
│ │ ├── Marionette.d.ts
│ │ ├── RemoteAgent.d.ts
│ │ ├── EventEmitter.d.ts
│ │ ├── WindowRoot.d.ts
│ │ ├── nsJSID.d.ts
│ │ ├── Cr.d.ts
│ │ ├── nsIInterfaceRequestor.d.ts
│ │ ├── MozHTMLElement.d.ts
│ │ ├── MozXULElement.d.ts
│ │ ├── nsIJSIID.d.ts
│ │ ├── nsIArray.d.ts
│ │ ├── nsIConsoleListener.d.ts
│ │ ├── XULElement.d.ts
│ │ ├── NetUtil.d.ts
│ │ ├── nsIEnvironment.d.ts
│ │ ├── BrowserTab.d.ts
│ │ ├── SharedLibrary.d.ts
│ │ ├── nsISecureBrowserUI.d.ts
│ │ ├── Cc.d.ts
│ │ ├── DevToolsSocketStatus.d.ts
│ │ ├── JSActor.d.ts
│ │ ├── nsIException.d.ts
│ │ ├── nsIFilePicker.d.ts
│ │ ├── MessageManager.d.ts
│ │ ├── BrowserUIUtils.d.ts
│ │ ├── ChromeWindow.d.ts
│ │ ├── MozElements.d.ts
│ │ ├── FluentLocalization.d.ts
│ │ ├── nsIDirectoryEnumerator.d.ts
│ │ └── ReceiveMessageArgument.d.ts
│ │ └── package.json
├── moz.build
└── jar.mn
├── REVISION
├── branding
└── official
│ ├── dot.ico
│ ├── disk.icns
│ ├── dot.icns
│ ├── dot64.ico
│ ├── newtab.ico
│ ├── pbmode.ico
│ ├── document.ico
│ ├── background.png
│ ├── default128.png
│ ├── default16.png
│ ├── default22.png
│ ├── default24.png
│ ├── default256.png
│ ├── default32.png
│ ├── default48.png
│ ├── default64.png
│ ├── document.icns
│ ├── newwindow.ico
│ ├── wizHeader.bmp
│ ├── content
│ ├── about.png
│ └── aboutdebugging-logo.svg
│ ├── wizHeaderRTL.bmp
│ ├── wizWatermark.bmp
│ ├── VisualElements_150.png
│ ├── VisualElements_70.png
│ ├── stubinstaller
│ ├── bgstub.jpg
│ └── profile_cleanup_page.css
│ ├── LICENSE
│ ├── configure.sh
│ ├── locales
│ ├── moz.build
│ ├── jar.mn
│ └── en-US
│ │ └── brand.properties
│ ├── moz.build
│ ├── dot.VisualElementsManifest.xml
│ └── branding.nsi
├── .prettierrc.json
├── l10n-registry.manifest
├── installer
├── removed-files.in
└── windows
│ └── nsis
│ └── updater_append.ini
├── .prettierignore
├── .gitattributes
├── tests
├── css
│ └── prefers-color-scheme
│ │ └── index.css
└── js
│ └── window-open
│ ├── popup.html
│ └── index.html
├── locales
├── en-US
│ ├── dot
│ │ ├── settings.ftl
│ │ ├── startpage.ftl
│ │ ├── onboarding.ftl
│ │ ├── search.ftl
│ │ ├── tooltips.ftl
│ │ ├── customizable.ftl
│ │ └── errors
│ │ │ └── neterror.ftl
│ ├── dot-l10n.js
│ ├── defines.inc
│ ├── updater
│ │ └── updater.ini
│ └── browser
│ │ └── appExtensionFields.ftl
├── l10n.ini
├── jar.mn
└── moz.build
├── .editorconfig
├── base
├── content
│ ├── browser-compat.inc.xhtml
│ ├── global-theme.js
│ ├── main-popupset.inc.xhtml
│ └── browser-dialog.inc.xhtml
├── moz.build
└── jar.mn
├── .mailmap
├── global.d.ts
├── modules
├── DotAppConstants.sys.mjs
├── README.md
└── moz.build
├── config
└── mozconfigs
│ └── common
├── .vscode
└── extensions.json
├── mach
├── package.json
├── confvars.sh
├── moz.build
├── scripts
└── shared
│ ├── cmd.py
│ └── path.py
├── patches
├── 0003-Remove-profile-after-change-telemetry-observer.patch
├── removed
│ ├── 0007-Add-mach_initialize.py-to-mach-script.patch
│ └── !0004-Force-user-agent-name-to-be-Firefox.patch
├── README.md
└── 0002-Enforce-has_build-mach-policy.patch
└── tsconfig.json
/.gitmodules:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/config/version.txt:
--------------------------------------------------------------------------------
1 | 0.1.0
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | book
2 |
--------------------------------------------------------------------------------
/docs/CNAME:
--------------------------------------------------------------------------------
1 | browser-docs.dothq.org
--------------------------------------------------------------------------------
/themes/shared/common-dialog.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/actors/DotClickHandlerParent.sys.mjs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/config/version_display.txt:
--------------------------------------------------------------------------------
1 | 0.1.0
--------------------------------------------------------------------------------
/components/compat/content/blank.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .log
--------------------------------------------------------------------------------
/app/settings/dumps/last_modified.json:
--------------------------------------------------------------------------------
1 | {
2 | "dot/search_config": 0
3 | }
--------------------------------------------------------------------------------
/docs/src/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/docs/src/favicon.png
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/README.md:
--------------------------------------------------------------------------------
1 | # gecko-types
2 | TypeScript definitions for Mozilla APIs
--------------------------------------------------------------------------------
/REVISION:
--------------------------------------------------------------------------------
1 | https://github.com/dothq/gecko-dev.git e5a393dd62b6571ae50115cdae227ef84b4a17fc release
2 |
--------------------------------------------------------------------------------
/branding/official/dot.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/dot.ico
--------------------------------------------------------------------------------
/branding/official/disk.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/disk.icns
--------------------------------------------------------------------------------
/branding/official/dot.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/dot.icns
--------------------------------------------------------------------------------
/branding/official/dot64.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/dot64.ico
--------------------------------------------------------------------------------
/branding/official/newtab.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/newtab.ico
--------------------------------------------------------------------------------
/branding/official/pbmode.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/pbmode.ico
--------------------------------------------------------------------------------
/components/BrowserComponents.manifest:
--------------------------------------------------------------------------------
1 | # This file is used to mock the browser's BrowserComponents.manifest file
--------------------------------------------------------------------------------
/branding/official/document.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/document.ico
--------------------------------------------------------------------------------
/branding/official/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/background.png
--------------------------------------------------------------------------------
/branding/official/default128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default128.png
--------------------------------------------------------------------------------
/branding/official/default16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default16.png
--------------------------------------------------------------------------------
/branding/official/default22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default22.png
--------------------------------------------------------------------------------
/branding/official/default24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default24.png
--------------------------------------------------------------------------------
/branding/official/default256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default256.png
--------------------------------------------------------------------------------
/branding/official/default32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default32.png
--------------------------------------------------------------------------------
/branding/official/default48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default48.png
--------------------------------------------------------------------------------
/branding/official/default64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/default64.png
--------------------------------------------------------------------------------
/branding/official/document.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/document.icns
--------------------------------------------------------------------------------
/branding/official/newwindow.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/newwindow.ico
--------------------------------------------------------------------------------
/branding/official/wizHeader.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/wizHeader.bmp
--------------------------------------------------------------------------------
/branding/official/content/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/content/about.png
--------------------------------------------------------------------------------
/branding/official/wizHeaderRTL.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/wizHeaderRTL.bmp
--------------------------------------------------------------------------------
/branding/official/wizWatermark.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/wizWatermark.bmp
--------------------------------------------------------------------------------
/branding/official/VisualElements_150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/VisualElements_150.png
--------------------------------------------------------------------------------
/branding/official/VisualElements_70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/VisualElements_70.png
--------------------------------------------------------------------------------
/branding/official/stubinstaller/bgstub.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/branding/official/stubinstaller/bgstub.jpg
--------------------------------------------------------------------------------
/components/search/extensions/ddg/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/components/search/extensions/ddg/favicon.ico
--------------------------------------------------------------------------------
/components/search/extensions/startpage/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/components/search/extensions/startpage/favicon.ico
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": false,
4 | "trailingComma": "none",
5 | "printWidth": 80,
6 | "tabWidth": 4
7 | }
--------------------------------------------------------------------------------
/docs/src/contributing/images/about_debugging_host.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/docs/src/contributing/images/about_debugging_host.png
--------------------------------------------------------------------------------
/docs/src/contributing/images/about_debugging_sidebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/docs/src/contributing/images/about_debugging_sidebar.png
--------------------------------------------------------------------------------
/docs/src/contributing/images/about_debugging_addressbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/docs/src/contributing/images/about_debugging_addressbar.png
--------------------------------------------------------------------------------
/docs/src/contributing/images/about_debugging_toolbox_tab.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/docs/src/contributing/images/about_debugging_toolbox_tab.jpg
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": false,
4 | "trailingComma": "none",
5 | "printWidth": 70,
6 | "tabWidth": 4
7 | }
8 |
--------------------------------------------------------------------------------
/docs/src/contributing/images/about_debugging_browser_processes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/docs/src/contributing/images/about_debugging_browser_processes.png
--------------------------------------------------------------------------------
/docs/src/contributing/images/about_debugging_connected_browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dothq/browser-desktop/HEAD/docs/src/contributing/images/about_debugging_connected_browser.png
--------------------------------------------------------------------------------
/l10n-registry.manifest:
--------------------------------------------------------------------------------
1 | category l10n-registry 5-dot resource://app/localization/{locale}/ backgroundtask=0
2 | category l10n-registry 5-dot resource://app/localization/{locale}/ backgroundtask=1
3 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/.prettierignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | .env
4 | .env.*
5 | !.env.example
6 |
7 | # Ignore files for PNPM, NPM and YARN
8 | pnpm-lock.yaml
9 | package-lock.json
10 | yarn.lock
11 |
--------------------------------------------------------------------------------
/branding/official/LICENSE:
--------------------------------------------------------------------------------
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 https://mozilla.org/MPL/2.0/.
4 |
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | # Dot Browser Developer Documentation
2 |
3 | ## Prerequisites
4 |
5 | You will need to install `mdbook` on Cargo to get started.
6 |
7 | ## Development
8 |
9 | * Starting the dev server: ```mdbook serve docs```
--------------------------------------------------------------------------------
/installer/removed-files.in:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | .env
4 | .env.*
5 | !.env.example
6 | /.next
7 |
8 | # Ignore files for PNPM, NPM and YARN
9 | pnpm-lock.yaml
10 | package-lock.json
11 | yarn.lock
12 |
13 | base/content/browser.xhtml
--------------------------------------------------------------------------------
/themes/addons/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/. */
--------------------------------------------------------------------------------
/themes/addons/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/. */
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.jsm linguist-language=JavaScript
2 | *.configure linguist-language=Python
3 | *.build linguist-language=Python
4 | *.mn linguist-language=Properties
5 | *.mozbuild linguist-language=Python
6 | *components.conf* linguist-language=Python
--------------------------------------------------------------------------------
/components/settings/content/settings.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 |
--------------------------------------------------------------------------------
/docs/src/contributing/building_the_browser/README.md:
--------------------------------------------------------------------------------
1 | # Building Dot Browser
2 |
3 | This document outlines how to build Dot Browser.
4 |
5 | ## Build targets
6 |
7 | * [Windows](windows.md)
8 | * [Linux](linux.md)
9 | * [macOS](macos.md)
10 |
--------------------------------------------------------------------------------
/tests/css/prefers-color-scheme/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: white;
3 | color: black;
4 | }
5 |
6 | @media (prefers-color-scheme: dark) {
7 | body {
8 | background-color: black;
9 | color: white;
10 | }
11 | }
--------------------------------------------------------------------------------
/docs/src/contributing/building_the_browser/macos.md:
--------------------------------------------------------------------------------
1 | # Building Dot Browser on macOS
2 |
3 | This document will guide you in setting up a development environment to build and hack on Dot Browser using macOS.
4 |
5 | ***Note*** This section is a work in progress.
6 |
--------------------------------------------------------------------------------
/docs/src/contributing/contributors_guide.md:
--------------------------------------------------------------------------------
1 | # Contributors Guide
2 |
3 | This document assumes you have setup your repositories and have built the browser in [Building Dot Browser](building_the_browser/README.md).
4 |
5 | ***Note*** This section is a work in progress.
--------------------------------------------------------------------------------
/locales/en-US/dot/settings.ftl:
--------------------------------------------------------------------------------
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 | settings-page-title = Settings
--------------------------------------------------------------------------------
/locales/en-US/dot/startpage.ftl:
--------------------------------------------------------------------------------
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 | startpage-page-title = New Tab
--------------------------------------------------------------------------------
/docs/src/README.md:
--------------------------------------------------------------------------------
1 | # Dot Browser Source Documentation
2 |
3 | ## Contributing to Dot Browser
4 |
5 | To get started with setting up, building and contributing: refer to the [Building Dot Browser](contributing/building_the_browser) page and traverse through subsequent documents.
--------------------------------------------------------------------------------
/docs/src/contributing/README.md:
--------------------------------------------------------------------------------
1 | # Contributing to Dot Browser
2 |
3 | This guide provides an introduction to contributing to the Dot Browser codebase.
4 |
5 | * [Building Dot Browser](building_the_browser/README.md)
6 | * [Configuring Build Options](configuring_build_options.md)
--------------------------------------------------------------------------------
/docs/src/contributing/building_the_browser/windows.md:
--------------------------------------------------------------------------------
1 | # Building Dot Browser on Windows
2 |
3 | This document will guide you in setting up a development environment to build and hack on Dot Browser using your Windows machine.
4 |
5 | ***Note*** This section is a work in progress.
6 |
--------------------------------------------------------------------------------
/themes/shared/browser-layouts.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 | [flex] {
6 | flex: 1;
7 | }
--------------------------------------------------------------------------------
/themes/linux/global.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://dot/skin/global-shared.css");
--------------------------------------------------------------------------------
/themes/osx/global.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://dot/skin/global-shared.css");
--------------------------------------------------------------------------------
/themes/shared/global-shared.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://dot/skin/input.css");
--------------------------------------------------------------------------------
/themes/windows/global.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://dot/skin/global-shared.css");
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: https://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | [*]
7 | indent_style = space
8 | indent_size = 4
9 | end_of_line = lf
10 | charset = utf-8
11 | trim_trailing_whitespace = false
12 | insert_final_newline = false
--------------------------------------------------------------------------------
/locales/en-US/dot/onboarding.ftl:
--------------------------------------------------------------------------------
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 | onboarding-page-title = Welcome to { -brand-full-name }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIThread.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 | export interface nsIThread {}
--------------------------------------------------------------------------------
/components/shortcuts/BrowserShortcuts.sys.mjs:
--------------------------------------------------------------------------------
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 | export class BrowserShortcuts {}
6 |
--------------------------------------------------------------------------------
/components/settings/PreferencesManager.sys.mjs:
--------------------------------------------------------------------------------
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 | export const PreferencesManager = {};
6 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/InspectorUtils.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 | export type InspectorUtils = any;
6 |
--------------------------------------------------------------------------------
/locales/en-US/dot-l10n.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 |
5 | #filter substitution
6 |
7 | pref("spellchecker.dictionary", "@AB_CD@");
--------------------------------------------------------------------------------
/tests/js/window-open/popup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | window.open popup
7 |
8 |
9 |
Popup Window
10 |
11 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIDragService.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 | export interface nsIDragService {}
6 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/logins.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 | export interface ServicesLogins {}
6 |
--------------------------------------------------------------------------------
/base/content/browser-compat.inc.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIBrowserHandler.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 | export interface nsIBrowserHandler {}
6 |
--------------------------------------------------------------------------------
/actors/DotClickHandlerChild.sys.mjs:
--------------------------------------------------------------------------------
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 | export class DotClickHandlerChild extends JSWindowActorChild {}
6 |
--------------------------------------------------------------------------------
/app/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in:
--------------------------------------------------------------------------------
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 | CFBundleName = "@MAC_APP_NAME@";
6 |
--------------------------------------------------------------------------------
/components/contextmenu/content/browser-context-menu.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 | browser-context-menu {
6 | --menu-min-width: 250px;
7 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/Marionette.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 | export interface Marionette {
6 | running: boolean;
7 | }
8 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/RemoteAgent.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 | export interface RemoteAgent {
6 | running: boolean;
7 | }
8 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/EventEmitter.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export const EventEmitter: {
6 | decorate: (target: object) => void;
7 | };
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/WindowRoot.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 | export interface WindowRoot extends EventTarget {
6 | ownerGlobal: Window;
7 | }
8 |
--------------------------------------------------------------------------------
/components/customizableui/content/browser-customizable-template.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 | browser-customizable-template {
6 | display: none !important;
7 | }
--------------------------------------------------------------------------------
/components/toolbar/content/browser-toolbar-overflow.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 | button[is=browser-toolbar-overflow] {
6 | margin-inline-end: var(--padding);
7 | }
--------------------------------------------------------------------------------
/themes/osx/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsJSID.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 | export interface nsJSID {
6 | number: string;
7 | equals(value: any): boolean;
8 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/appshell.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 | export interface ServicesAppShell {
6 | hiddenDOMWindow: ChromeWindow;
7 | }
8 |
--------------------------------------------------------------------------------
/third_party/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/dev/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/menus/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/toolbar/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/widgets/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/themes/addons/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
--------------------------------------------------------------------------------
/themes/linux/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
--------------------------------------------------------------------------------
/themes/windows/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/.mailmap:
--------------------------------------------------------------------------------
1 | # This file provides the canonical name and email of contributors
2 | # when their name is not always written in the same way or they
3 | # author commits under different email addresses.
4 |
5 | # See more: https://git-scm.com/docs/gitmailmap
6 |
7 | Ejaz Ali
8 | Kieran Drewett
9 | Kieran Drewett
--------------------------------------------------------------------------------
/components/contextmenu/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/onboarding/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/app/settings/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | DIRS += ["dumps"]
8 |
--------------------------------------------------------------------------------
/components/extensions/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/
--------------------------------------------------------------------------------
/components/interstitials/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
--------------------------------------------------------------------------------
/components/widgets/content/browser-spring.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 |
5 | class BrowserSpring extends MozHTMLElement {}
6 |
7 | customElements.define("browser-spring", BrowserSpring);
8 |
--------------------------------------------------------------------------------
/components/menus/content/xul-menugroup.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 | menugroup {
6 | display: flex;
7 | gap: 2px;
8 | }
9 |
10 | menugroup>menuitem {
11 | flex: 1;
12 | }
--------------------------------------------------------------------------------
/components/settings/content/settings.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,
6 | body {
7 | margin: 0;
8 | padding: 0;
9 | box-sizing: border-box;
10 | font: message-box;
11 | }
--------------------------------------------------------------------------------
/themes/osx/jar.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 | dot.jar:
6 | % skin dot classic/1.0 %skin/classic/dot/
7 | #include ../shared/jar.inc.mn
8 | skin/classic/dot/browser.css
9 | skin/classic/dot/global.css
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/Cr.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 | type ResultsKey = `NS_${Uppercase}`;
6 |
7 | export interface Cr {
8 | [key: ResultsKey]: number;
9 | }
10 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIInterfaceRequestor.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface nsIInterfaceRequestor {
6 | getInterface(uuid: object, result: any): void;
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/components/onboarding/content/onboarding.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,
6 | body {
7 | margin: 0;
8 | padding: 0;
9 | box-sizing: border-box;
10 | font: message-box;
11 | }
--------------------------------------------------------------------------------
/components/startpage/content/startpage.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,
6 | body {
7 | margin: 0;
8 | padding: 0;
9 | box-sizing: border-box;
10 | font: message-box;
11 | }
--------------------------------------------------------------------------------
/themes/windows/jar.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 | dot.jar:
6 | % skin dot classic/1.0 %skin/classic/dot/
7 | #include ../shared/jar.inc.mn
8 | skin/classic/dot/browser.css
9 | skin/classic/dot/global.css
--------------------------------------------------------------------------------
/components/identity/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 |
--------------------------------------------------------------------------------
/components/prompts/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/uuid.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 | import { nsIJSIID } from "../nsIJSIID";
6 |
7 | export interface ServicesUUID {
8 | generateUUID(): nsIJSIID;
9 | }
--------------------------------------------------------------------------------
/components/startup/moz.build:
--------------------------------------------------------------------------------
1 | # vim: set filetype=python:
2 | # This Source Code Form is subject to the terms of the Mozilla Public
3 | # License, v. 2.0. If a copy of the MPL was not distributed with this
4 | # file, you can obtain one at http://mozilla.org/MPL/2.0/.
5 |
6 | FINAL_TARGET_FILES.actors += [
7 | "BrowserStartupChild.sys.mjs",
8 | "BrowserStartupParent.sys.mjs",
9 | ]
10 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/MozHTMLElement.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 | import { MozElementMixin } from "./MozElementMixin";
6 |
7 | export interface MozHTMLElement extends HTMLElement, MozElementMixin {}
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/MozXULElement.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 | import { MozElementMixin } from "./MozElementMixin";
6 |
7 | export interface MozXULElement extends XULElement, MozElementMixin {}
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIJSIID.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 | import { nsJSID } from "./nsJSID";
6 |
7 | export interface nsIJSIID extends nsJSID {
8 | name: N;
9 | }
10 |
--------------------------------------------------------------------------------
/components/customizableui/content/browser-customizable-overflowable-area.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 | :host(.customizable-area[overflowable])>.customizable-container [overflowing] {
6 | display: none !important;
7 | }
--------------------------------------------------------------------------------
/components/favicons/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "FaviconsDatastore.sys.mjs",
9 | ]
10 |
--------------------------------------------------------------------------------
/components/navigation/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "NavigationHelper.sys.mjs",
9 | ]
10 |
--------------------------------------------------------------------------------
/components/shortcuts/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "BrowserShortcuts.sys.mjs",
9 | ]
10 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIArray.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 | import { nsIJSIID } from "./nsIJSIID";
6 |
7 | export interface nsIArray
8 | extends nsIJSIID<"nsIArray">,
9 | Omit {}
10 |
--------------------------------------------------------------------------------
/branding/official/configure.sh:
--------------------------------------------------------------------------------
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 | MOZ_APP_VENDOR="Dot HQ"
6 | MOZ_APP_BASENAME=Dot
7 | MOZ_APP_PROFILE=dot
8 | MOZ_APP_DISPLAYNAME="Dot Browser"
9 | MOZ_MACBUNDLE_ID=browser
10 | MOZ_DISTRIBUTION_ID=org.dothq
--------------------------------------------------------------------------------
/global.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 | declare const gBrowserInit: any;
6 | declare const dump: (message: string) => void;
7 | declare const require: (moduleURI: string) => T;
8 |
9 | declare module "resource://*";
10 |
--------------------------------------------------------------------------------
/locales/l10n.ini:
--------------------------------------------------------------------------------
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 | [general]
6 | depth = ../..
7 | all = dot/locales/all-locales
8 |
9 | [compare]
10 | dirs = dot
11 | dot/branding/official
12 |
13 | [extras]
14 | dirs = extensions/spellcheck
15 |
--------------------------------------------------------------------------------
/themes/linux/jar.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 | dot.jar:
6 | % skin dot classic/1.0 %skin/classic/dot/
7 | #include ../shared/jar.inc.mn
8 | skin/classic/dot/browser.css
9 | skin/classic/dot/global.css
10 | skin/classic/dot/gtk.css
--------------------------------------------------------------------------------
/components/extensions/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | DIRS += ["/browser/components/extensions"]
8 |
9 | JAR_MANIFESTS += ["jar.mn"]
10 |
--------------------------------------------------------------------------------
/locales/en-US/dot/search.ftl:
--------------------------------------------------------------------------------
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 | addressbar-input-field =
6 | .placeholder = Search the web or enter address
7 |
8 | addressbar-input-field-with-engine =
9 | .placeholder = Search with { $engine } or enter address
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/wm.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface ServicesWm {
6 | getMostRecentWindow: (name: string) => ChromeWindow;
7 | getMostRecentNonPBWindow: (name: string) => ChromeWindow;
8 | }
--------------------------------------------------------------------------------
/themes/osx/browser.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://dot/skin/browser-shared.css");
6 |
7 | @namespace html url("http://www.w3.org/1999/xhtml");
8 |
9 | :root {
10 | --chrome-content-separator-color: #e1e1e2;
11 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIConsoleListener.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 | import { nsIConsoleMessage } from "./nsIConsoleMessage";
6 |
7 | export interface nsIConsoleListener {
8 | observe(message: nsIConsoleMessage): void;
9 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/scriptloader.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface ServicesScriptloader {
6 | loadSubScript(url: string, options?: any);
7 | loadSubScriptWithOptions(url: string, options: any);
8 | }
--------------------------------------------------------------------------------
/components/csd/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | EXTRA_JS_MODULES += [
10 | "NativeTitlebar.sys.mjs",
11 | ]
--------------------------------------------------------------------------------
/components/devtools/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | EXTRA_JS_MODULES += [
10 | "TabDevTools.sys.mjs"
11 | ]
--------------------------------------------------------------------------------
/components/storage/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "BrowserStorage.sys.mjs",
9 | "Datastore.sys.mjs",
10 | ]
11 |
--------------------------------------------------------------------------------
/locales/en-US/dot/tooltips.ftl:
--------------------------------------------------------------------------------
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 | tooltip-label = { $label }
6 |
7 | tooltip-shortcut-label =
8 | { PLATFORM() ->
9 | [macos] { $label } { $shortcut }
10 | *[other] { $label } ({ $shortcut })
11 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/XULElement.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 | export interface XULElement extends HTMLElement {
6 | new (): XULElement;
7 | prototype: XULElement;
8 |
9 | isInstance: (el: XULElement) => boolean;
10 | }
11 |
--------------------------------------------------------------------------------
/components/actions/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/actions/ (content/*)
--------------------------------------------------------------------------------
/components/customizableui/content/browser-customizable-area-empty.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 | browser-customizable-area-empty {
6 | display: flex;
7 |
8 | width: 100%;
9 | height: 100%;
10 |
11 | justify-content: center;
12 | }
--------------------------------------------------------------------------------
/components/startpage/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "StartPage.sys.mjs",
9 | ]
10 |
11 | JAR_MANIFESTS += ["jar.mn"]
12 |
--------------------------------------------------------------------------------
/modules/DotAppConstants.sys.mjs:
--------------------------------------------------------------------------------
1 | #filter substitution
2 |
3 | /* This Source Code Form is subject to the terms of the Mozilla Public
4 | * License, v. 2.0. If a copy of the MPL was not distributed with this
5 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 |
7 | export const DotAppConstants = Object.freeze({
8 | DOT_APP_VERSION: "@DOT_APP_VERSION@",
9 | DOT_APP_VERSION_DISPLAY: "@DOT_APP_VERSION_DISPLAY@"
10 | })
--------------------------------------------------------------------------------
/themes/windows/browser.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://dot/skin/browser-shared.css");
6 |
7 | @namespace html url("http://www.w3.org/1999/xhtml");
8 |
9 | :root {
10 | --chrome-content-separator-color: ThreeDShadow;
11 | }
--------------------------------------------------------------------------------
/branding/official/locales/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | DEFINES['MOZ_DISTRIBUTION_ID_UNQUOTED'] = CONFIG['MOZ_DISTRIBUTION_ID']
8 |
9 | JAR_MANIFESTS += ['jar.mn']
--------------------------------------------------------------------------------
/components/DotComponents.manifest:
--------------------------------------------------------------------------------
1 | # DotGlue.sys.mjs
2 |
3 | # This component must restrict its registration for the app-startup category
4 | # to the specific list of apps that use it so it doesn't get loaded in xpcshell.
5 | # Thus we restrict it to these apps:
6 | #
7 | # dot: {818c990f-687c-498c-bc9a-a99d9729702a}
8 |
9 | category app-startup nsDotGlue @dothq.org/dot/dotglue;1 application={818c990f-687c-498c-bc9a-a99d9729702a}
10 |
--------------------------------------------------------------------------------
/components/compat/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | EXTRA_JS_MODULES += [
10 | "BrowserCompatibility.sys.mjs"
11 | ]
--------------------------------------------------------------------------------
/components/contextmenu/content/browser-contextual-menu.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 |
5 | class BrowserContextualMenu extends BrowserCustomizableArea {
6 |
7 | }
8 |
9 | customElements.define("browser-contextual-menu", BrowserContextualMenu);
10 |
--------------------------------------------------------------------------------
/components/identity/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "TabIdentityHandler.sys.mjs",
9 | ]
10 |
11 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/search/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "BrowserSearch.sys.mjs",
9 | ]
10 |
11 | JAR_MANIFESTS += ["jar.mn"]
12 |
--------------------------------------------------------------------------------
/components/tooltips/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "TooltipLabelProvider.sys.mjs"
9 | ]
10 |
11 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/themes/shared/browser-dialog.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 | #window-modal-dialog {
6 | border: none;
7 | padding: 0;
8 | border-radius: 8px;
9 | box-shadow: rgba(0, 0, 0, 0.07) 0px 0px 10px 2px, rgba(0, 0, 0, 0.05) 0px 2px 12px 6px;
10 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/startup.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface ServicesStartup {
6 | quit: (optionsBitmask: number) => void;
7 | eForceQuit: number;
8 | eRestart: number;
9 | shuttingDown: boolean;
10 | }
11 |
--------------------------------------------------------------------------------
/app/settings/dumps/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | DIRS += ["dot"]
8 |
9 | FINAL_TARGET_FILES.defaults.settings += ["last_modified.json"]
10 |
--------------------------------------------------------------------------------
/components/accessibility/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | EXTRA_JS_MODULES += [
10 | "BrowserAccessibility.sys.mjs",
11 | ]
--------------------------------------------------------------------------------
/components/settings/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "PreferencesManager.sys.mjs",
9 | ]
10 |
11 | JAR_MANIFESTS += ["jar.mn"]
12 |
--------------------------------------------------------------------------------
/branding/official/content/aboutdebugging-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/prompts/BrowserPrompts.sys.mjs:
--------------------------------------------------------------------------------
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 | export class BrowserPrompts {
6 | /** @type {Window} */
7 | #win = null;
8 |
9 | /**
10 | * @param {Window} win
11 | */
12 | constructor(win) {
13 | this.#win = win;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/ppmm.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface ServicesPPMMSharedData extends Map {
6 | flush(): void;
7 | }
8 |
9 | export interface ServicesPPMM {
10 | sharedData: ServicesPPMMSharedData;
11 | }
12 |
--------------------------------------------------------------------------------
/third_party/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % resource third-party %res/third-party/ contentaccessible=yes
9 | res/third-party/libs/anime.js (./juliangarnier/anime.js)
--------------------------------------------------------------------------------
/components/compat/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/compat/blank.css (content/blank.css)
--------------------------------------------------------------------------------
/components/widgets/content/browser-spring.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 | browser-spring {
6 | flex: 80 80;
7 | min-width: 1px;
8 | max-width: var(--spring-grip);
9 | justify-content: center;
10 | align-items: center;
11 | user-select: none;
12 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "gecko-types",
3 | "version": "0.0.1",
4 | "description": "TypeScript definitions for Gecko APIs",
5 | "homepage": "https://github.com/dothq/gecko-types",
6 | "license": "MPL-2.0",
7 | "main": "",
8 | "types": "index.d.ts",
9 | "repository": "https://github.com/dothq/gecko-types",
10 | "scripts": {},
11 | "dependencies": {},
12 | "devDependencies": {}
13 | }
14 |
--------------------------------------------------------------------------------
/branding/official/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | DIRS += ["locales"]
8 |
9 | JAR_MANIFESTS += ["jar.mn"]
10 |
11 | include("../branding-common.mozbuild")
12 | DotBranding()
13 |
--------------------------------------------------------------------------------
/components/search/content/browser-urlbar-container.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://dot/content/widgets/browser-urlbar.css");
6 |
7 | :host(browser-urlbar-container) {
8 | display: flex;
9 | flex: 1;
10 | max-height: var(--urlbar-height);
11 | }
--------------------------------------------------------------------------------
/config/mozconfigs/common:
--------------------------------------------------------------------------------
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 file is included by the Dot Browser mozconfig
6 |
7 | # Set build target to Dot Browser
8 | ac_add_options --enable-application=dot
9 |
10 | # Enable bootstrapping of mozbuild components
11 | ac_add_options --enable-bootstrap
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/NetUtil.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 | import { nsIChannel } from ".";
6 |
7 | export interface NetUtil {
8 | newURI(target: any, originCharset?: string, baseURI?: nsIURI): nsIURI;
9 | newChannel(whatToLoad: object): nsIChannel;
10 | }
--------------------------------------------------------------------------------
/modules/README.md:
--------------------------------------------------------------------------------
1 | # Modules
2 |
3 | Modules that have been written by *us* will typically have "Dot" prepended to the module name and export.
4 |
5 | This is because we don't want to cause disruption and disparity with existing modules, especially since some `toolkit` code relies on a error from a `importESModule` to determine if the module can be used. If we were to re-use the same module name as a `browser` module, our APIs wouldn't line up with what is expected, causing problems.
--------------------------------------------------------------------------------
/base/content/global-theme.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 |
5 | // Scoped
6 | (() => {
7 | const { LightweightThemeConsumer } = ChromeUtils.importESModule(
8 | "resource://gre/modules/LightweightThemeConsumer.sys.mjs"
9 | );
10 |
11 | new LightweightThemeConsumer(document);
12 | })();
13 |
--------------------------------------------------------------------------------
/components/customizableui/schemas/customizable_custom_component.schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json-schema.org/draft/2020-12/schema",
3 | "$id": "chrome://dot/content/customizableui/schemas/customizable_custom_component.schema.json",
4 | "title": "Customizable Custom Component",
5 | "type": "object",
6 | "properties": {
7 | "name": {
8 | "type": "string"
9 | }
10 | },
11 | "required": [
12 | "name"
13 | ]
14 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIEnvironment.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export class nsIEnvironment { }
6 |
7 | export interface Environment {
8 | exists(envName: string): boolean;
9 | get(envName: string): string;
10 | set(envName: string, value: string): void;
11 | }
--------------------------------------------------------------------------------
/base/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | DEFINES["DOT_APP_VERSION"] = CONFIG["DOT_APP_VERSION"]
8 | DEFINES["DOT_APP_VERSION_DISPLAY"] = CONFIG["DOT_APP_VERSION_DISPLAY"]
9 |
10 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/app/permissions:
--------------------------------------------------------------------------------
1 | # This file has default permissions for the permission manager.
2 | # The file-format is strict:
3 | # * matchtype \t type \t permission \t host
4 | # * "origin" should be used for matchtype, "host" is supported for legacy reasons
5 | # * type is a string that identifies the type of permission (e.g. "cookie")
6 | # * permission is an integer between 1 and 15
7 | # See nsPermissionManager.cpp for more...
8 |
9 | # XPInstall
10 | origin install 1 https://addons.mozilla.org
11 |
--------------------------------------------------------------------------------
/base/content/main-popupset.inc.xhtml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/components/tooltips/content/browser-tooltip.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 | tooltip.browser-tooltip {
6 | opacity: 0;
7 |
8 | &[animate="true"] {
9 | transition: 0.15s opacity cubic-bezier(0.19, 1, 0.22, 1);
10 | }
11 |
12 | &[showing] {
13 | opacity: 1;
14 | }
15 | }
--------------------------------------------------------------------------------
/app/profile/channel-prefs.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 | //
5 | // This pref is in its own file for complex reasons. See the comment in
6 | // dot/app/Makefile.in, bug 756325, and bug 1431342 for details. Do not add
7 | // other prefs to this file.
8 |
9 | pref("app.update.channel", "@MOZ_UPDATE_CHANNEL@");
10 |
--------------------------------------------------------------------------------
/components/search/content/browser-urlbar-results.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 | :host(browser-urlbar-results) {
6 | display: flex;
7 | height: 400px;
8 | padding: 0 2px;
9 | margin-block-start: var(--urlbar-expanded-padding);
10 | border-top: 1px solid var(--arrowpanel-border-color);
11 | }
--------------------------------------------------------------------------------
/themes/addons/system/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 2,
3 | "applications": {
4 | "gecko": {
5 | "id": "default-theme@mozilla.org"
6 | }
7 | },
8 | "name": "System",
9 | "description": "Follow the system setting for buttons, menus, and windows.",
10 | "author": "Dot HQ",
11 | "version": "1.0",
12 | "icons": {
13 | "32": "icon.svg"
14 | },
15 | "theme": {},
16 | "dark_theme": {},
17 | "theme_experiment": {}
18 | }
--------------------------------------------------------------------------------
/components/status/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "BrowserStatus.sys.mjs",
9 | "StatusManager.sys.mjs",
10 | "TabStatusManager.sys.mjs",
11 | ]
12 |
13 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/tabs/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "BrowserTabs.sys.mjs",
9 | "BrowserTabsUtils.sys.mjs",
10 | "TabProgressListener.sys.mjs",
11 | ]
12 |
13 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "NathanRidley.autotrim",
4 | "dbaeumer.vscode-eslint",
5 | "esbenp.prettier-vscode",
6 | "llvm-vs-code-extensions.vscode-clangd",
7 | "rust-lang.rust",
8 | "rust-lang.rust-analyzer",
9 | "ecmel.vscode-html-css",
10 | "firefox-devtools.vscode-firefox-debug",
11 | "mythmon.idl",
12 | "vtrois.gitmoji-vscode",
13 | "jock.svg",
14 | "ctf0.macros",
15 | "esbenp.prettier-vscode",
16 | "dave-deletethis.midl-webidl-syntax",
17 | ]
18 | }
--------------------------------------------------------------------------------
/app/macbuild/Contents/moz.build:
--------------------------------------------------------------------------------
1 | defs = []
2 |
3 | for s in (
4 | "MOZ_GECKODRIVER",
5 | "MOZ_ASAN",
6 | "MOZ_TSAN",
7 | "MOZ_CRASHREPORTER",
8 | "MOZ_APP_NAME",
9 | ):
10 | if CONFIG[s]:
11 | defs.append("-D%s=%s" % (s, "1" if CONFIG[s] is True else CONFIG[s]))
12 |
13 | GeneratedFile(
14 | "MacOS-files.txt",
15 | script="/python/mozbuild/mozbuild/action/preprocessor.py",
16 | entry_point="generate",
17 | inputs=["MacOS-files.in"],
18 | flags=defs,
19 | )
20 |
--------------------------------------------------------------------------------
/mach:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # This Source Code Form is subject to the terms of the Mozilla Public
3 | # License, v. 2.0. If a copy of the MPL was not distributed with this
4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 |
6 | # Allows use of mach in dot directory
7 |
8 | import os
9 | import sys
10 |
11 | # Hacky way of getting to topsrcdir
12 | os.chdir("..")
13 |
14 | print(f"Executing mach from cwd {os.getcwd()}.")
15 |
16 | sys.exit(
17 | os.WEXITSTATUS(os.system(" ".join(sys.argv)))
18 | )
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/BrowserTab.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | import { ChromeBrowser } from "./ChromeBrowser";
6 |
7 | export interface BrowserTab extends HTMLElement {
8 | linkedBrowser: ChromeBrowser;
9 |
10 | _sharingState: {
11 | geo?: boolean;
12 | xr?: boolean;
13 | webRTC?: any;
14 | };
15 | }
16 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/SharedLibrary.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface SharedLibrary {
6 | start: number;
7 | end: number;
8 | offset: number;
9 | name: string;
10 | path: string;
11 | debugName: string;
12 | debugPath: string;
13 | breakpadId: string;
14 | arch: string;
15 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsISecureBrowserUI.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 | import { nsITransportSecurityInfo } from "./nsITransportSecurityInfo";
6 |
7 | export interface nsISecureBrowserUI {
8 | readonly state: number;
9 | readonly isSecureContext: boolean;
10 | readonly secInfo: nsITransportSecurityInfo;
11 | }
--------------------------------------------------------------------------------
/modules/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 |
5 | EXTRA_JS_MODULES += [
6 | "AccessibilityFocus.sys.mjs",
7 | "AnimationEngine.sys.mjs",
8 | "DevToolsServer.sys.mjs",
9 | "DOMUtils.sys.mjs",
10 | "DotWindowTracker.sys.mjs",
11 | "ProcessArguments.sys.mjs",
12 | ]
13 |
14 | EXTRA_PP_JS_MODULES += [
15 | "DotAppConstants.sys.mjs",
16 | ]
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/obs.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface ServicesObs {
6 | addObserver: (
7 | observer: object,
8 | type: string,
9 | holdWeak?: boolean
10 | ) => void;
11 | removeObserver: (observer: object, type: string) => void;
12 | notifyObservers: (subject: any, topic: string) => void;
13 | }
14 |
--------------------------------------------------------------------------------
/branding/official/locales/jar.mn:
--------------------------------------------------------------------------------
1 | #filter substitution
2 | # This Source Code Form is subject to the terms of the Mozilla Public
3 | # License, v. 2.0. If a copy of the MPL was not distributed with this
4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 |
6 | [localization] @AB_CD@.jar:
7 | branding (%*.ftl)
8 |
9 | @AB_CD@.jar:
10 | % locale branding @AB_CD@ %locale/branding/
11 | locale/branding/brand.dtd (%brand.dtd)
12 | locale/branding/brand.properties (%brand.properties)
13 |
--------------------------------------------------------------------------------
/components/tabs/content/browser-tab-button.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 | button.browser-tab-button {
6 | padding: 0px;
7 |
8 | min-height: 0px;
9 | min-width: 0px;
10 |
11 | --button-default-color: transparent;
12 |
13 | --button-inner-padding-scale: 0.5;
14 |
15 | & .browser-button-icon {
16 | --size: 14px;
17 | }
18 | }
--------------------------------------------------------------------------------
/components/menus/content/xul-menuseparator.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 | menuseparator {
6 | width: calc(100% - 4px * 2);
7 | height: 1px;
8 | margin-block: 4px;
9 | margin-inline: 4px;
10 | background: linear-gradient(to top, var(--arrowpanel-border-color), var(--arrowpanel-border-color)), color-mix(in srgb, currentColor 15%, transparent 100%);
11 | }
--------------------------------------------------------------------------------
/components/onboarding/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/onboarding/onboarding.html (content/onboarding.html)
10 | content/onboarding/onboarding.css (content/onboarding.css)
--------------------------------------------------------------------------------
/components/status/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/widgets/browser-status.js (content/browser-status.js)
10 | content/widgets/browser-status.css (content/browser-status.css)
11 |
--------------------------------------------------------------------------------
/themes/shared/xul/menu.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://dot/skin/browser-theme.css");
6 |
7 | @import url("chrome://dot/content/widgets/xul-menupopup.css");
8 | @import url("chrome://dot/content/widgets/xul-menuitem.css");
9 | @import url("chrome://dot/content/widgets/xul-menuseparator.css");
10 | @import url("chrome://dot/content/widgets/xul-menugroup.css");
--------------------------------------------------------------------------------
/app/macbuild/Contents/MacOS-files.in:
--------------------------------------------------------------------------------
1 | #if 0
2 | ; Specifies files that should be copied (preserving symlinks) from dist/bin
3 | ; to the .app/Contents/MacOS directory.
4 | #endif
5 | #filter substitution
6 | /*.app/***
7 | /certutil
8 | /@MOZ_APP_NAME@-bin
9 | #if defined(MOZ_GECKODRIVER)
10 | /geckodriver
11 | #endif
12 | /gtest/***
13 | /http3server
14 | #if defined(MOZ_ASAN) || defined(MOZ_TSAN)
15 | /llvm-symbolizer
16 | #endif
17 | #if defined(MOZ_CRASHREPORTER)
18 | /minidump-analyzer
19 | #endif
20 | /pingsender
21 | /pk12util
22 | /ssltunnel
23 | /xpcshell
24 | /XUL
25 |
--------------------------------------------------------------------------------
/components/accessibility/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/widgets/browser-a11y-ring.js (content/browser-a11y-ring.js)
10 | content/widgets/browser-a11y-ring.css (content/browser-a11y-ring.css)
--------------------------------------------------------------------------------
/components/search/content/browser-urlbar-input.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 | input[is=browser-urlbar-input] {
6 | appearance: none;
7 |
8 | background-color: transparent;
9 |
10 | border: none;
11 | outline: none;
12 |
13 | padding: 0 calc(var(--urlbar-container-padding) * 3);
14 | margin: 0;
15 |
16 | flex: 500 500;
17 |
18 | font: inherit;
19 | }
--------------------------------------------------------------------------------
/components/startpage/content/startpage.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 |
5 | const time = document.getElementById("time");
6 |
7 | const tick = () => {
8 | const d = new Date();
9 |
10 | time.textContent = `${d.getHours().toString().padStart(2, "0")}:${d
11 | .getMinutes()
12 | .toString()
13 | .padStart(2, "0")}`;
14 | };
15 |
16 | tick();
17 | setInterval(() => tick(), 1000);
18 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dot",
3 | "version(note)": "See dot/app/config/version.txt for browser version.",
4 | "version": "0.0.0",
5 | "description": "Dot Browser for Windows, macOS and Linux",
6 | "main": "-",
7 | "repository": "https://github.com/dothq/browser-desktop",
8 | "author": "Dot HQ ",
9 | "license": "MPL-2.0",
10 | "private": true,
11 | "devDependencies": {
12 | "esbuild": "^0.20.2",
13 | "glob": "^10.3.10",
14 | "prettier": "^3.2.5",
15 | "typescript": "^5.3.3"
16 | }
17 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/Cc.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 | import * as Gecko from ".";
6 |
7 | export interface Cc {
8 | "@mozilla.org/process/environment;1": {
9 | getService(service: Gecko.nsIEnvironment): Gecko.Environment;
10 | };
11 | "@mozilla.org/filepicker;1": {
12 | createInstance(
13 | instance: Gecko.nsIFilePicker
14 | ): Gecko.FilePicker;
15 | };
16 | }
17 |
--------------------------------------------------------------------------------
/branding/official/locales/en-US/brand.properties:
--------------------------------------------------------------------------------
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 | brandShorterName=Dot
6 | brandShortName=Dot Browser
7 | brandFullName=Dot Browser
8 | # LOCALIZATION NOTE(brandProductName):
9 | # This brand name can be used in messages where the product name needs to
10 | # remain unchanged across different versions (Nightly, Beta, etc.).
11 | brandProductName=Dot
12 | vendorShortName=Dot HQ
13 |
--------------------------------------------------------------------------------
/components/csd/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/widgets/browser-window-controls.js (content/browser-window-controls.js)
10 | content/widgets/browser-window-controls.css (content/browser-window-controls.css)
--------------------------------------------------------------------------------
/components/prompts/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXTRA_JS_MODULES += [
8 | "BrowserChromePrompts.sys.mjs",
9 | "BrowserContentPrompts.sys.mjs",
10 | "BrowserPromptManager.sys.mjs",
11 | "BrowserPrompts.sys.mjs",
12 | "BrowserWindowPrompts.sys.mjs",
13 | ]
14 |
15 | JAR_MANIFESTS += ["jar.mn"]
--------------------------------------------------------------------------------
/components/commands/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | EXTRA_JS_MODULES += [
10 | "BrowserCommands.sys.mjs",
11 | "Command.sys.mjs",
12 | "CommandAudiences.sys.mjs",
13 | "CommandSubscription.sys.mjs",
14 | "GeckoCommand.sys.mjs",
15 | "TabCommand.sys.mjs"
16 | ]
--------------------------------------------------------------------------------
/components/widgets/content/browser-separator.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 |
5 | class BrowserSeparator extends BrowserContextualMixin(MozHTMLElement) {
6 | /**
7 | * The allowed customizable attributes for the group
8 | */
9 | static get customizableAttributes() {
10 | return {
11 | orientation: "orientation"
12 | };
13 | }
14 | }
15 |
16 | customElements.define("browser-separator", BrowserSeparator);
17 |
--------------------------------------------------------------------------------
/locales/en-US/defines.inc:
--------------------------------------------------------------------------------
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 | #filter emptyLines
5 |
6 | #define MOZ_LANGPACK_CREATOR dothq.org
7 |
8 | # If non-English locales wish to credit multiple contributors, uncomment this
9 | # variable definition and use the format specified.
10 | # #define MOZ_LANGPACK_CONTRIBUTORS Joe SolonSuzy Solon
11 |
12 | #unfilter emptyLines
13 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/DevToolsSocketStatus.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 | export interface DevToolsSocketStatus {
6 | hasSocketOpened(options: {
7 | excludeBrowserToolboxSockets?: boolean;
8 | }): boolean;
9 |
10 | notifySocketOpened(options: {
11 | fromBrowserToolbox?: boolean;
12 | }): void;
13 | notifySocketClosed(options: {
14 | fromBrowserToolbox?: boolean;
15 | }): void;
16 | }
17 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/JSActor.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | import { ReceiveMessageArgument } from "./ReceiveMessageArgument";
6 |
7 | export class JSActor {
8 | sendAsyncMessage(messageName: string, obj?: any): void;
9 |
10 | sendQuery(messageName: string, obj?: any): Promise;
11 |
12 | receiveMessage(message?: ReceiveMessageArgument): void;
13 |
14 | readonly name: string;
15 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIException.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 | export interface nsIException {
6 | filename: string;
7 | name: string;
8 | sourceId: number;
9 | lineNumber: number;
10 | columnNumber: number;
11 | sourceLine: string;
12 | asyncCause: string;
13 | asyncCaller: any;
14 | caller: any;
15 | formattedStack: string;
16 | nativeSavedFrame: any;
17 | toString(): string;
18 | }
19 |
--------------------------------------------------------------------------------
/components/widgets/content/browser-group.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 |
5 | class BrowserGroup extends BrowserContextualMixin(MozHTMLElement) {
6 | /**
7 | * The allowed customizable attributes for the group
8 | */
9 | static get customizableAttributes() {
10 | return {
11 | orientation: "orientation",
12 | mode: "mode"
13 | };
14 | }
15 | }
16 |
17 | customElements.define("browser-group", BrowserGroup);
18 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/dirsvc.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 | import { nsIDirectoryService } from "../nsIDirectoryService";
6 | import { nsIDirectoryServiceProvider2 } from "../nsIDirectoryServiceProvider";
7 | import { nsIFile } from "../nsIFile";
8 | import { nsIProperties } from "../nsIProperties";
9 |
10 | export type ServicesDirsvc = nsIDirectoryService & nsIProperties & nsIDirectoryServiceProvider2;
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIFilePicker.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export class nsIFilePicker { }
6 |
7 | export interface FilePicker {
8 | init: (window: Window, title: string, mode: number) => void;
9 | open: (callback: (rv: number) => unknown) => void;
10 | // The following are enum values.
11 | modeGetFolder: number;
12 | returnOK: number;
13 | file: {
14 | path: string;
15 | };
16 | }
--------------------------------------------------------------------------------
/branding/official/dot.VisualElementsManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
12 |
13 |
--------------------------------------------------------------------------------
/components/settings/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/settings/settings.html (content/settings.html)
10 | content/settings/settings.css (content/settings.css)
11 | content/settings/settings.js (content/settings.js)
--------------------------------------------------------------------------------
/docs/book.toml:
--------------------------------------------------------------------------------
1 | [book]
2 | title = "Dot Browser Source Documentation"
3 | authors = ["Dot HQ"]
4 | language = "en"
5 | multilingual = false
6 | src = "src"
7 |
8 | [output.html]
9 | git-repository-url = "https://github.com/dothq/browser-desktop/tree/nightly/docs"
10 | edit-url-template = "https://github.com/dothq/browser-desktop/edit/nightly/docs/{path}"
11 |
12 | [output.html.playground]
13 | editable = true
14 | line-numbers = true
15 |
16 | [output.html.search]
17 | limit-results = 20
18 | use-boolean-and = true
19 | boost-title = 2
20 | boost-hierarchy = 2
21 | boost-paragraph = 1
22 | expand = true
23 | heading-split-level = 2
--------------------------------------------------------------------------------
/components/actions/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | EXTRA_JS_MODULES += [
10 | "Action.sys.mjs",
11 | "ActionRegistry.sys.mjs",
12 | "ActionsDispatcher.sys.mjs",
13 | "ActionsIPC.sys.mjs",
14 | "ActionsMessenger.sys.mjs",
15 | "ActionsReceiver.sys.mjs",
16 | "BrowserActions.sys.mjs",
17 | ]
--------------------------------------------------------------------------------
/components/tabs/content/browser-tabs-overflow-button.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://dot/content/widgets/browser-toolbar-button.css");
6 |
7 | button.browser-tabs-overflow-button {
8 | display: none;
9 |
10 | & .browser-button-container {
11 | padding: 0 calc(var(--x-padding) / 2);
12 | }
13 | }
14 |
15 | :host(browser-tabs[overflowing]) button.browser-tabs-overflow-button {
16 | display: flex;
17 | }
--------------------------------------------------------------------------------
/components/widgets/content/browser-group.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 | browser-group {
6 | display: flex;
7 | gap: inherit;
8 | }
9 |
10 | browser-group[orientation=vertical],
11 | :host([orientation=vertical]) browser-group:not([orientation]) {
12 | flex-direction: column;
13 | }
14 |
15 | browser-group[orientation=horizontal],
16 | :host([orientation=horizontal]) browser-group:not([orientation]) {
17 | flex-direction: row;
18 | }
--------------------------------------------------------------------------------
/themes/addons/dark/icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/themes/addons/system/icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/components/about/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | EXPORTS.dot.browser += [
8 | "AboutRedirector.h",
9 | ]
10 |
11 | SOURCES += [
12 | "AboutRedirector.cpp",
13 | ]
14 |
15 | XPCOM_MANIFESTS += [
16 | "components.conf",
17 | ]
18 |
19 | LOCAL_INCLUDES += [
20 | "/dom/base",
21 | ]
22 |
23 | Library("dotcomps")
24 | FINAL_LIBRARY = "xul"
25 |
--------------------------------------------------------------------------------
/components/customizableui/schemas/customizable_state.schema.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json-schema.org/draft/2020-12/schema",
3 | "$id": "chrome://dot/content/customizableui/schemas/customizable_state.schema.json",
4 | "title": "Customizable UI State",
5 | "type": "object",
6 | "properties": {
7 | "version": {
8 | "type": "integer"
9 | },
10 | "state": {
11 | "$ref": "chrome://dot/content/customizableui/schemas/customizable_defs.schema.json#/$defs/components-array"
12 | }
13 | },
14 | "required": [
15 | "version",
16 | "state"
17 | ]
18 | }
--------------------------------------------------------------------------------
/components/menus/content/xul-menuitem.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 |
5 | {
6 | Services.scriptloader.loadSubScript(
7 | "chrome://dot/content/widgets/xul-menu-base.js"
8 | );
9 |
10 | class MozMenuItem extends MozMenuItemBaseMixin(MozXULElement) {}
11 | customElements.define("menuitem", MozMenuItem);
12 |
13 | class MozMenuCaption extends MozMenuItemBaseMixin(MozXULElement) {}
14 | customElements.define("menucaption", MozMenuCaption);
15 | }
16 |
--------------------------------------------------------------------------------
/themes/addons/light/icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/components/commands/content/internal/cut.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 |
5 | const { GeckoCommand } = ChromeUtils.importESModule(
6 | "resource://gre/modules/GeckoCommand.sys.mjs"
7 | );
8 |
9 | export class CutCommand extends GeckoCommand {
10 | constructor(subscription, subscriber, area) {
11 | super(subscription, subscriber, area);
12 |
13 | this.geckoCommandId = "cmd_cut";
14 |
15 | this.label = "Cut";
16 | this.icon = "cut";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/components/commands/content/internal/select-all.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 |
5 | const { GeckoCommand } = ChromeUtils.importESModule(
6 | "resource://gre/modules/GeckoCommand.sys.mjs"
7 | );
8 |
9 | export class SelectAllCommand extends GeckoCommand {
10 | constructor(subscription, subscriber, area) {
11 | super(subscription, subscriber, area);
12 |
13 | this.geckoCommandId = "cmd_selectAll";
14 |
15 | this.label = "Select All";
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/components/search/content/browser-urlbar-button.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 |
5 | class BrowserUrlbarButton extends BrowserCommandButton {
6 | constructor() {
7 | super();
8 | }
9 |
10 | connectedCallback() {
11 | super.connectedCallback();
12 | }
13 |
14 | disconnectedCallback() {
15 | super.disconnectedCallback();
16 | }
17 | }
18 |
19 | customElements.define("browser-urlbar-button", BrowserUrlbarButton, {
20 | extends: "button"
21 | });
22 |
--------------------------------------------------------------------------------
/components/toolbar/content/browser-toolbar-overflow.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 |
5 | class BrowserToolbarOverflow extends BrowserButton {
6 | connectedCallback() {
7 | super.connectedCallback();
8 |
9 | this.classList.add("browser-toolbar-button");
10 |
11 | this.label = "More...";
12 | this.icon = "chevron-down";
13 | }
14 | }
15 |
16 | customElements.define("browser-toolbar-overflow", BrowserToolbarOverflow, {
17 | extends: "button"
18 | });
19 |
--------------------------------------------------------------------------------
/installer/windows/nsis/updater_append.ini:
--------------------------------------------------------------------------------
1 |
2 | ; IMPORTANT: This file should always start with a newline in case a locale
3 | ; provided updater.ini does not end with a newline.
4 | ; Application to launch after an update has been successfully applied. This
5 | ; must be in the same directory or a sub-directory of the directory of the
6 | ; application executable that initiated the software update.
7 | [PostUpdateWin]
8 | ; ExeRelPath is the path to the PostUpdateWin executable relative to the
9 | ; application executable.
10 | ExeRelPath=uninstall\helper.exe
11 | ; ExeArg is the argument to pass to the PostUpdateWin exe
12 | ExeArg=/PostUpdate
13 |
--------------------------------------------------------------------------------
/components/commands/content/internal/copy.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 |
5 | const { GeckoCommand } = ChromeUtils.importESModule(
6 | "resource://gre/modules/GeckoCommand.sys.mjs"
7 | );
8 |
9 | export class CopyCommand extends GeckoCommand {
10 | constructor(subscription, subscriber, area) {
11 | super(subscription, subscriber, area);
12 |
13 | this.geckoCommandId = "cmd_copy";
14 |
15 | this.label = "Copy";
16 | this.icon = "copy";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/components/commands/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/commands/ (content/*)
10 |
11 | content/widgets/browser-command-button.js (widgets/browser-command-button.js)
12 | content/widgets/browser-command-element.js (widgets/browser-command-element.js)
--------------------------------------------------------------------------------
/components/commands/content/internal/paste.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 |
5 | const { GeckoCommand } = ChromeUtils.importESModule(
6 | "resource://gre/modules/GeckoCommand.sys.mjs"
7 | );
8 |
9 | export class PasteCommand extends GeckoCommand {
10 | constructor(subscription, subscriber, area) {
11 | super(subscription, subscriber, area);
12 |
13 | this.geckoCommandId = "cmd_paste";
14 |
15 | this.label = "Paste";
16 | this.icon = "paste";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/textToSubURI.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface ServicesTextToSubURI {
6 | ConvertAndEscape: (charset: string, text: string) => string;
7 | UnEscapeAndConvert: (charset: string, text: string) => string;
8 | unEscapeNonAsciiURI: (
9 | charset: string,
10 | uriFragment: string
11 | ) => string;
12 | unEscapeURIForUI: (
13 | uriFragment: string,
14 | dontEscape?: boolean
15 | ) => string;
16 | }
17 |
--------------------------------------------------------------------------------
/base/content/browser-dialog.inc.xhtml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/components/tooltips/content/browser-remote-tooltip.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 |
5 | class BrowserRemoteTooltip extends BrowserTooltip {
6 | connectedCallback() {
7 | super.connectedCallback();
8 |
9 | this.id = "browser-remote-tooltip";
10 |
11 | this.setAttribute("animate", "true");
12 | this.setAttribute("location", "floating");
13 | }
14 | }
15 |
16 | customElements.define("browser-remote-tooltip", BrowserRemoteTooltip, {
17 | extends: "tooltip"
18 | });
19 |
--------------------------------------------------------------------------------
/docs/src/SUMMARY.md:
--------------------------------------------------------------------------------
1 | # Summary
2 |
3 | [Introduction](README.md)
4 |
5 | # Contributing to Dot Browser
6 |
7 | - [Building Dot Browser](contributing/building_the_browser/README.md)
8 | - [Building Dot Browser on Windows](contributing/building_the_browser/windows.md)
9 | - [Building Dot Browser on Linux](contributing/building_the_browser/linux.md)
10 | - [Building Dot Browser on macOS](contributing/building_the_browser/macos.md)
11 | - [Configuring Build Options](contributing/configuring_build_options.md)
12 | - [Contributors Guide](contributing/contributors_guide.md)
13 | - [The Browser DevTools](contributing/browser_devtools.md)
14 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/MessageManager.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | export interface MessageManager {
6 | loadFrameScript(url: string, flag: boolean): void;
7 | sendAsyncMessage: (event: string, data: any) => void;
8 | sendSyncMessage: (event: string, data: any) => void;
9 | addMessageListener: (event: string, listener: (event: any) => void) => void;
10 | removeMessageListener: (event: string, listener: (event: any) => void) => void;
11 | }
--------------------------------------------------------------------------------
/components/customizableui/content/browser-customizable-area.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 | :host(.customizable-area) {
6 | position: relative;
7 | }
8 |
9 | .customizable-container {
10 | display: flex;
11 | flex-direction: row;
12 | align-items: stretch;
13 | flex: 1;
14 | max-width: 100%;
15 | overflow: visible;
16 | }
17 |
18 | :host(.customizable-area[orientation=vertical]) .customizable-container {
19 | flex-direction: column !important;
20 | }
--------------------------------------------------------------------------------
/components/tooltips/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/widgets/browser-tooltip.js (content/browser-tooltip.js)
10 | content/widgets/browser-tooltip.css (content/browser-tooltip.css)
11 |
12 | content/widgets/browser-remote-tooltip.js (content/browser-remote-tooltip.js)
13 |
--------------------------------------------------------------------------------
/components/contextmenu/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/widgets/browser-context-menu.js (content/browser-context-menu.js)
10 | content/widgets/browser-context-menu.css (content/browser-context-menu.css)
11 |
12 | content/widgets/browser-contextual-menu.js (content/browser-contextual-menu.js)
--------------------------------------------------------------------------------
/locales/jar.mn:
--------------------------------------------------------------------------------
1 | #filter substitution
2 | # This Source Code Form is subject to the terms of the Mozilla Public
3 | # License, v. 2.0. If a copy of the MPL was not distributed with this
4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 |
6 | [localization] @AB_CD@.jar:
7 | browser (%browser/**/*.ftl)
8 | dot (%dot/**/*.ftl)
9 |
10 | @AB_CD@.jar:
11 | % locale dot @AB_CD@ %locale/dot/
12 | locale/dot/appstrings.properties (%chrome/overrides/appstrings.properties)
13 |
14 | % override chrome://global/locale/appstrings.properties chrome://dot/locale/appstrings.properties
--------------------------------------------------------------------------------
/components/commands/CommandAudiences.sys.mjs:
--------------------------------------------------------------------------------
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 | export const CommandAudiences = {
6 | /**
7 | * The base, default audience for context
8 | */
9 | DEFAULT: "default",
10 |
11 | /**
12 | * The audience used for context in a tab
13 | */
14 | TAB: "tab",
15 |
16 | /**
17 | * The audience used for context in an urlbar
18 | */
19 | URLBAR: "urlbar",
20 |
21 | /**
22 | * The audience used for context in a panel/popup
23 | */
24 | PANEL: "panel"
25 | };
26 |
--------------------------------------------------------------------------------
/components/startpage/content/blank.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/locales/en-US/dot/customizable.ftl:
--------------------------------------------------------------------------------
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 | # Areas
6 |
7 | customizable-component-toolbar =
8 | .name = Toolbar
9 | .description = A fundamental of the browser, providing swift access to your essentials.
10 |
11 | customizable-component-tabs =
12 | .name = Tab Strip
13 | .description = Facilitates seamless navigation between multiple open webpages.
14 |
15 | customizable-component-urlbar =
16 | .name = Search Bar
17 | .description = Search Bar
18 |
19 | # Widgets
--------------------------------------------------------------------------------
/tests/js/window-open/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | window.open test
7 |
8 |
9 |
10 |
11 |
20 |
21 |
--------------------------------------------------------------------------------
/components/customizableui/content/browser-customizable-template.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 |
5 | class BrowserCustomizableTemplate extends MozHTMLElement {
6 | /**
7 | * The contents of this customizable template
8 | * @type {DocumentFragment}
9 | */
10 | content = null;
11 |
12 | constructor() {
13 | super();
14 |
15 | this.content = document.createDocumentFragment();
16 | }
17 | }
18 |
19 | customElements.define(
20 | "browser-customizable-template",
21 | BrowserCustomizableTemplate
22 | );
23 |
--------------------------------------------------------------------------------
/components/toolbar/content/browser-toolbar-button.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 |
5 | class BrowserToolbarButton extends BrowserCommandButton {
6 | constructor() {
7 | super();
8 | }
9 |
10 | connectedCallback() {
11 | super.connectedCallback();
12 |
13 | this.classList.add("browser-toolbar-button");
14 | }
15 |
16 | disconnectedCallback() {
17 | super.disconnectedCallback();
18 | }
19 | }
20 |
21 | customElements.define("browser-toolbar-button", BrowserToolbarButton, {
22 | extends: "button"
23 | });
24 |
--------------------------------------------------------------------------------
/confvars.sh:
--------------------------------------------------------------------------------
1 | #! /bin/sh
2 | # This Source Code Form is subject to the terms of the Mozilla Public
3 | # License, v. 2.0. If a copy of the MPL was not distributed with this
4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 |
6 | MOZ_APP_NAME=dot-browser
7 |
8 | if test "$OS_ARCH" = "WINNT"; then
9 | if ! test "$HAVE_64BIT_BUILD"; then
10 | MOZ_VERIFY_MAR_SIGNATURE=1
11 | fi
12 | fi
13 |
14 | BROWSER_CHROME_URL=chrome://dot/content/browser.xhtml
15 |
16 | MOZ_BRANDING_DIRECTORY=dot/branding/official
17 | MOZ_OFFICIAL_BRANDING_DIRECTORY=dot/branding/official
18 |
19 | MOZ_APP_UA_NAME=Firefox
20 |
21 | MOZ_APP_ID={818c990f-687c-498c-bc9a-a99d9729702a}
22 |
23 | MOZ_DEVTOOLS=all
24 |
--------------------------------------------------------------------------------
/components/startpage/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/startpage/blank.html (content/blank.html)
10 |
11 | content/startpage/startpage.html (content/startpage.html)
12 | content/startpage/startpage.css (content/startpage.css)
13 | content/startpage/startpage.js (content/startpage.js)
--------------------------------------------------------------------------------
/locales/en-US/updater/updater.ini:
--------------------------------------------------------------------------------
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 file is in the UTF-8 encoding
6 | [Strings]
7 | TitleText=%MOZ_APP_DISPLAYNAME% Update
8 | InfoText=%MOZ_APP_DISPLAYNAME% is installing your updates and will start in a few moments…
9 | MozillaMaintenanceDescription=The Maintenance Service ensures that you have the latest and most secure version of Dot Browser on your computer. Keeping Dot Browser up to date is very important for your online security, and we strongly recommend that you keep this service enabled.
10 |
--------------------------------------------------------------------------------
/app/macbuild/Contents/MacOS-files-copy.in:
--------------------------------------------------------------------------------
1 | # Specifies files that should be copied (via deep copy, resolving symlinks)
2 | # from dist/bin to the .app/Contents/MacOS directory. Linking is preferred to
3 | # reduce disk I/O during builds, so just include dylibs which need to be in the
4 | # same directory as returned by dladddr(3).
5 | #
6 | # Some of these dylibs load other dylibs which are assumed to be siblings in
7 | # the same directory obtained from dladdr(3). With macOS 10.15, dladdr returns
8 | # absolute resolved paths which breaks this assumption if symlinks are used
9 | # because the symlink targets are in different directories. Hence the need for
10 | # them to be copied to the same directory.
11 | /*.dylib
12 |
--------------------------------------------------------------------------------
/components/search/content/browser-urlbar-button.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 | button[is=browser-urlbar-button] {
6 | display: flex;
7 |
8 | align-self: stretch;
9 | justify-content: center;
10 |
11 | padding: 0;
12 |
13 | outline-offset: -2px;
14 |
15 | margin: var(--urlbar-container-padding);
16 |
17 | --button-default-color: transparent;
18 |
19 | & .browser-button-container {
20 | display: flex;
21 |
22 | align-items: center;
23 | justify-content: center;
24 | }
25 | }
--------------------------------------------------------------------------------
/components/tabs/content/browser-web-panel.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 |
5 | class BrowserWebPanel extends MozHTMLElement {
6 | constructor() {
7 | super();
8 | }
9 |
10 | get webContents() {
11 | return this.querySelector("browser-web-frame .browser-web-contents");
12 | }
13 |
14 | connectedCallback() {
15 | if (this.delayConnectedCallback()) return;
16 | }
17 |
18 | disconnectedCallback() {
19 | if (this.delayConnectedCallback()) return;
20 | }
21 | }
22 |
23 | customElements.define("browser-web-panel", BrowserWebPanel);
24 |
--------------------------------------------------------------------------------
/components/actions/Action.sys.mjs:
--------------------------------------------------------------------------------
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 | export class Action {
6 | static id = "";
7 |
8 | /**
9 | * The ID of this action
10 | */
11 | get id() {
12 | return /** @type {typeof Action} */ (this.constructor).id;
13 | }
14 |
15 | /**
16 | * The name of this action
17 | */
18 | get name() {
19 | return this.id;
20 | }
21 |
22 | /**
23 | * Performs this action
24 | * @param {import("./ActionsIPC.sys.mjs").ActionDispatchEvent<{}>} event
25 | */
26 | run(event) {}
27 |
28 | constructor() {}
29 | }
30 |
--------------------------------------------------------------------------------
/components/search/content/browser-urlbar-results.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 |
5 | class BrowserUrlbarResults extends BrowserCustomizableArea {
6 | constructor() {
7 | super();
8 | }
9 |
10 | connectedCallback() {
11 | this.connect("urlbar-results", {
12 | orientation: "vertical",
13 | styles: ["chrome://dot/content/widgets/browser-urlbar-results.css"]
14 | });
15 |
16 | this.customizableContainer.appendChild(html("h1", {}, "Results"));
17 | }
18 | }
19 |
20 | customElements.define("browser-urlbar-results", BrowserUrlbarResults);
21 |
--------------------------------------------------------------------------------
/components/customizableui/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | EXTRA_JS_MODULES += [
10 | "BrowserCustomizable.sys.mjs",
11 | "BrowserCustomizableAttributePrimitives.sys.mjs",
12 | "BrowserCustomizableAttributes.sys.mjs",
13 | "BrowserCustomizableComponent.sys.mjs",
14 | "BrowserCustomizableComponents.sys.mjs",
15 | "BrowserCustomizableInternal.sys.mjs",
16 | "BrowserCustomizableShared.sys.mjs",
17 | ]
--------------------------------------------------------------------------------
/themes/shared/icons/layout.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
18 |
--------------------------------------------------------------------------------
/actors/moz.build:
--------------------------------------------------------------------------------
1 | # vim: set filetype=python:
2 | # This Source Code Form is subject to the terms of the Mozilla Public
3 | # License, v. 2.0. If a copy of the MPL was not distributed with this
4 | # file, you can obtain one at http://mozilla.org/MPL/2.0/.
5 |
6 | FINAL_TARGET_FILES.actors += [
7 | "DotClickHandlerChild.sys.mjs",
8 | "DotClickHandlerParent.sys.mjs",
9 | "DotContextMenuChild.sys.mjs",
10 | "DotContextMenuParent.sys.mjs",
11 | "DotDevToolsChild.sys.mjs",
12 | "DotGeckoCommandsChild.sys.mjs",
13 | "DotLinkHandlerParent.sys.mjs",
14 | "DotLinkStatusChild.sys.mjs",
15 | "DotLinkStatusParent.sys.mjs",
16 | "DotPromptParent.sys.mjs",
17 | "DotTooltipListenerChild.sys.mjs",
18 | "DotUAStylesChild.sys.mjs",
19 | ]
20 |
--------------------------------------------------------------------------------
/themes/shared/icons/add.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/components/accessibility/content/browser-a11y-ring.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 | :host(browser-a11y-ring) {
6 | border: 2px solid var(--browser-accent-color);
7 | position: absolute;
8 |
9 | left: var(--ring-x);
10 | top: var(--ring-y);
11 |
12 | width: calc(var(--ring-width) - 2px * 2);
13 | height: calc(var(--ring-height) - 2px * 2);
14 |
15 | z-index: 2147483647;
16 |
17 | transition: 0.1s all;
18 |
19 | pointer-events: none;
20 | }
21 |
22 | :host(browser-a11y-ring[inactive]) {
23 | filter: contrast(0%);
24 | border-style: dashed;
25 | }
--------------------------------------------------------------------------------
/themes/BuiltInThemeConfig.sys.mjs:
--------------------------------------------------------------------------------
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 | // List of themes built in to the browser. The themes are represented by objects
6 | // containing their id, current version, and path relative to
7 | // resource://builtin-themes/.
8 | export const BuiltInThemeConfig = new Map([
9 | [
10 | "dot-compact-light@mozilla.org",
11 | {
12 | version: "1.0",
13 | path: "resource://builtin-themes/light/"
14 | }
15 | ],
16 | [
17 | "dot-compact-dark@mozilla.org",
18 | {
19 | version: "1.0",
20 | path: "resource://builtin-themes/dark/"
21 | }
22 | ]
23 | ]);
24 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/services/policies.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | import { nsIURI } from "../nsIURI";
6 |
7 | export interface ServicesPolicies {
8 | isAllowed(feature: string): boolean;
9 | getActivePolicies(): { [key: string]: boolean };
10 | getSupportMenu(): any;
11 | getExtensionPolicy(extensionID: string): any;
12 | getExtensionSettings(extensionID: string): any;
13 | mayInstallAddon(addon: any): boolean;
14 | allowedInstallSource(uri: nsIURI): boolean;
15 | isExemptExecutableExtension(url: string, extension: string): boolean;
16 | }
--------------------------------------------------------------------------------
/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | CONFIGURE_SUBST_FILES += ["installer/Makefile"]
8 |
9 | DIRS += [
10 | "actors",
11 | "base",
12 | "components",
13 | "locales",
14 | "modules",
15 | "themes",
16 | "third_party",
17 | ]
18 |
19 | if CONFIG["MAKENSISU"]:
20 | DIRS += ["installer/windows"]
21 |
22 | if CONFIG["MOZ_BUNDLED_FONTS"]:
23 | DIRS += ["/%s/browser/fonts" % CONFIG["topsrcdir"]]
24 |
25 | DIRS += ["app"]
26 | FINAL_TARGET_FILES.defaults += ["app/permissions"]
27 |
--------------------------------------------------------------------------------
/themes/shared/icons/media-pause.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/window.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/components/dev/content/dev-customizable-area-context.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 | dev-customizable-area-context menupopup {
6 | background-color: black;
7 | color: white;
8 | padding: 8px;
9 | border: 1px solid white;
10 | border-radius: 8px;
11 | min-width: max-content;
12 | }
13 |
14 | dev-customizable-area-context menupopup .area-context-menu-content {
15 | display: flex;
16 | flex-direction: column;
17 | gap: 4px;
18 | }
19 |
20 | dev-customizable-area-context menupopup .detail {
21 | display: flex;
22 | flex-direction: column;
23 | gap: 4px;
24 | }
--------------------------------------------------------------------------------
/themes/shared/icons/media-stop.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/components/search/extensions/startpage/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Startpage",
3 | "description": "Search Startpage",
4 | "manifest_version": 2,
5 | "version": "1.1",
6 | "applications": {
7 | "gecko": {
8 | "id": "startpage@search.mozilla.org"
9 | }
10 | },
11 | "hidden": true,
12 | "icons": {
13 | "16": "favicon.ico"
14 | },
15 | "web_accessible_resources": [
16 | "favicon.ico"
17 | ],
18 | "chrome_settings_overrides": {
19 | "search_provider": {
20 | "keyword": "@startpage",
21 | "name": "Startpage",
22 | "search_url": "https://www.startpage.com/sp/search?query={searchTerms}",
23 | "search_url_get_params": "query={searchTerms}"
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/components/tabs/content/browser-tab-label.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 | browser-tab-label {
6 | display: flex;
7 | align-items: center;
8 | white-space: nowrap;
9 | overflow: hidden;
10 | flex: 1;
11 | }
12 |
13 | :host(browser-tab) browser-tab-label[overflowing],
14 | browser-tab-label[overflowing] {
15 | &:-moz-locale-dir(ltr) {
16 | mask-image: linear-gradient(to left, transparent, black var(--tab-label-mask-size, 2em));
17 | }
18 |
19 | &:-moz-locale-dir(rtl) {
20 | mask-image: linear-gradient(to right, transparent, black var(--tab-label-mask-size, 2em));
21 | }
22 | }
--------------------------------------------------------------------------------
/components/tabs/content/browser-tab-button.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 |
5 | class BrowserTabButton extends BrowserCommandButton {
6 | constructor() {
7 | super();
8 |
9 | // Tab buttons can only be in icons mode, due
10 | // to the restriction of space in tab contents.
11 | this.mode = "icons";
12 | }
13 |
14 | connectedCallback() {
15 | super.connectedCallback();
16 |
17 | this.classList.add("browser-tab-button");
18 | }
19 |
20 | disconnectedCallback() {
21 | super.disconnectedCallback();
22 | }
23 | }
24 |
25 | customElements.define("browser-tab-button", BrowserTabButton, {
26 | extends: "button"
27 | });
28 |
--------------------------------------------------------------------------------
/locales/en-US/browser/appExtensionFields.ftl:
--------------------------------------------------------------------------------
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 | ## Theme names and descriptions used in the Themes panel in about:addons
6 |
7 | extension-default-theme-name-auto=
8 | { PLATFORM() ->
9 | [linux] GTK
10 | *[other] System
11 | }
12 | extension-default-theme-description=Follow the operating system setting for buttons, menus, and windows.
13 |
14 | extension-dot-compact-light-name=Light
15 | extension-dot-compact-light-description=A theme with a light color scheme.
16 |
17 | extension-dot-compact-dark-name=Dark
18 | extension-dot-compact-dark-description=A theme with a dark color scheme.
19 |
--------------------------------------------------------------------------------
/components/widgets/content/browser-icon.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 | browser-icon {
6 | display: flex;
7 |
8 | background-image: var(--src);
9 | background-size: cover;
10 | background-position: center;
11 | background-repeat: no-repeat;
12 |
13 | -moz-context-properties: fill;
14 | fill: currentColor;
15 |
16 | width: var(--size, 16px);
17 | height: var(--size, 16px);
18 | min-width: var(--size, 16px);
19 | min-height: var(--size, 16px);
20 | max-width: var(--size, 16px);
21 | max-height: var(--size, 16px);
22 |
23 | transition: 0.3s opacity cubic-bezier(0.19, 1, 0.22, 1);
24 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/BrowserUIUtils.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 | import { ChromeBrowser } from "./ChromeBrowser";
6 | import { nsIURI } from "./nsIURI";
7 |
8 | export interface BrowserUIUtils {
9 | checkEmptyPageOrigin(
10 | browser: ChromeBrowser,
11 | uri?: nsIURI
12 | ): boolean;
13 | setToolbarButtonHeightProperty(element: Element): Promise;
14 | getLocalizedFragment(
15 | doc: Document,
16 | msg: string,
17 | ...nodesOrStrings: any[]
18 | ): DocumentFragment;
19 | removeSingleTrailingSlashFromURL(url: string): string;
20 | trimURLProtocol: string;
21 | trimURL(url: string): string;
22 | }
23 |
--------------------------------------------------------------------------------
/components/storage/BrowserStorage.sys.mjs:
--------------------------------------------------------------------------------
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 | const { FaviconsDatastore } = ChromeUtils.importESModule(
6 | "resource://gre/modules/FaviconsDatastore.sys.mjs"
7 | );
8 |
9 | export class BrowserStorage {
10 | /** @type {Window} */
11 | #win = null;
12 |
13 | /** @type {typeof FaviconsDatastore.prototype} */
14 | favicons = null;
15 |
16 | constructor(win) {
17 | this.#win = win;
18 |
19 | this.favicons = new FaviconsDatastore();
20 |
21 | this.init();
22 | }
23 |
24 | async init() {
25 | Promise.allSettled([this.favicons.initConnection()]).catch((e) => {
26 | throw e;
27 | });
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/components/tabs/content/browser-web-frame.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 |
5 | class BrowserWebFrame extends MozHTMLElement {
6 | constructor() {
7 | super();
8 | }
9 |
10 | get webContents() {
11 | return this.querySelector(".browser-web-contents");
12 | }
13 |
14 | connectedCallback() {
15 | if (this.delayConnectedCallback()) return;
16 |
17 | // Needed for compatibility with external modules like DevTools
18 | this.classList.add("browserStack");
19 | }
20 |
21 | disconnectedCallback() {
22 | if (this.delayConnectedCallback()) return;
23 | }
24 | }
25 |
26 | customElements.define("browser-web-frame", BrowserWebFrame);
27 |
--------------------------------------------------------------------------------
/components/nsIBrowserHandler.idl:
--------------------------------------------------------------------------------
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 | #include "nsISupports.idl"
6 |
7 | interface nsICommandLine;
8 |
9 | [scriptable, uuid(5D0CE354-DF01-421A-83FB-7EAD0990C24E)]
10 | interface nsIBrowserHandler : nsISupports
11 | {
12 | attribute AUTF8String startPage;
13 | attribute AUTF8String defaultArgs;
14 | attribute boolean kiosk;
15 | attribute boolean majorUpgrade;
16 |
17 | /**
18 | * Extract the width and height specified on the command line, if present.
19 | * @return A feature string with a prepended comma, e.g. ",width=500,height=400"
20 | */
21 | AUTF8String getFeatures(in nsICommandLine aCmdLine);
22 | };
23 |
--------------------------------------------------------------------------------
/themes/shared/icons/chevron-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/chevron-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/components/tabs/content/browser-web-container.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 |
5 | class BrowserWebContainer extends MozHTMLElement {
6 | constructor() {
7 | super();
8 | }
9 |
10 | get webContents() {
11 | return this.querySelector(".browser-web-contents");
12 | }
13 |
14 | connectedCallback() {
15 | if (this.delayConnectedCallback()) return;
16 |
17 | // Needed for compatibility with external modules like DevTools
18 | this.classList.add("browserContainer");
19 | }
20 |
21 | disconnectedCallback() {
22 | if (this.delayConnectedCallback()) return;
23 | }
24 | }
25 |
26 | customElements.define("browser-web-container", BrowserWebContainer);
27 |
--------------------------------------------------------------------------------
/locales/moz.build:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | JAR_MANIFESTS += ["jar.mn"]
8 |
9 | # If DIST_SUBDIR ever gets unset in browser this path might be wrong due to PREF_DIR changing.
10 | LOCALIZED_PP_FILES.defaults.preferences += ["en-US/dot-l10n.js"]
11 |
12 | if CONFIG["MOZ_UPDATER"]:
13 | LOCALIZED_GENERATED_FILES += ["updater.ini"]
14 | updater = LOCALIZED_GENERATED_FILES["updater.ini"]
15 | updater.script = "generate_ini.py"
16 | updater.inputs = [
17 | "en-US/updater/updater.ini",
18 | "../installer/windows/nsis/updater_append.ini",
19 | ]
--------------------------------------------------------------------------------
/themes/shared/icons/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/scripts/shared/cmd.py:
--------------------------------------------------------------------------------
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 subprocess
6 | import time
7 |
8 | def run_cmd(command, cwd):
9 | process = subprocess.Popen(command,
10 | cwd=cwd,
11 | stdout=subprocess.PIPE,
12 | stderr=subprocess.STDOUT
13 | )
14 |
15 | while process.stdout.readable():
16 | line = process.stdout.readline()
17 |
18 | if not line:
19 | break
20 |
21 | ln = line.strip().decode()
22 |
23 | print(f" {ln}")
24 |
25 | while process.poll() is None:
26 | time.sleep(0.5)
27 |
28 | if process.returncode != 0:
29 | raise Exception("Failed to run command")
30 |
--------------------------------------------------------------------------------
/components/contextmenu/content/browser-context-menu.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 |
5 | // class BrowserContextMenu extends BrowserPanelMenu {
6 | // constructor() {
7 | // super();
8 | // }
9 |
10 | // connectedCallback() {
11 | // super.connectedCallback();
12 |
13 | // super.connect("context-menu-panel", {
14 | // templateId: "browser-context-menu",
15 | // orientation: "vertical",
16 | // styles: ["chrome://dot/content/widgets/browser-panel-button.css"]
17 | // });
18 | // }
19 |
20 | // disconnectedCallback() {
21 | // super.disconnectedCallback();
22 | // }
23 | // }
24 |
25 | // customElements.define("browser-context-menu", BrowserContextMenu);
26 |
--------------------------------------------------------------------------------
/actors/DotUAStylesChild.sys.mjs:
--------------------------------------------------------------------------------
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 | export class DotUAStylesChild extends JSWindowActorChild {
6 | /**
7 | * Loads a stylesheet into the browser frame
8 | * @param {string} uri
9 | */
10 | loadSheet(uri) {
11 | const { windowUtils } = this.contentWindow;
12 |
13 | try {
14 | windowUtils.loadSheetUsingURIString(uri, windowUtils.AGENT_SHEET);
15 | } catch (e) {}
16 | }
17 |
18 | init() {
19 | this.loadSheet("chrome://dot/skin/tooltip.css");
20 | }
21 |
22 | handleEvent(event) {
23 | switch (event.type) {
24 | case "DOMDocElementInserted":
25 | case "DOMContentLoaded":
26 | this.init();
27 | break;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/themes/shared/icons/padlock.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/block.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/media-play.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/more-horizontal.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/patches/0003-Remove-profile-after-change-telemetry-observer.patch:
--------------------------------------------------------------------------------
1 | From 66b54702144859157498e645184357e9495abebc Mon Sep 17 00:00:00 2001
2 | From: EnderDev
3 | Date: Sat, 27 Aug 2022 15:02:06 +0100
4 | Subject: [PATCH] Remove profile-after-change telemetry observer
5 |
6 | ---
7 | toolkit/components/telemetry/TelemetryStartup.manifest | 1 -
8 | 1 file changed, 1 deletion(-)
9 |
10 | diff --git a/toolkit/components/telemetry/TelemetryStartup.manifest b/toolkit/components/telemetry/TelemetryStartup.manifest
11 | index b82b459b5e9dc..e69de29bb2d1d 100644
12 | --- a/toolkit/components/telemetry/TelemetryStartup.manifest
13 | +++ b/toolkit/components/telemetry/TelemetryStartup.manifest
14 | @@ -1 +0,0 @@
15 | -category profile-after-change TelemetryStartup @mozilla.org/base/telemetry-startup;1 process=main
16 | \ No newline at end of file
17 | --
18 | 2.37.1
19 |
20 |
--------------------------------------------------------------------------------
/actors/DotDevToolsChild.sys.mjs:
--------------------------------------------------------------------------------
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 | export class DotDevToolsChild extends JSWindowActorChild {
6 | /**
7 | * Loads a stylesheet into the DevTools frame
8 | * @param {string} uri
9 | */
10 | loadSheet(uri) {
11 | const { windowUtils } = this.contentWindow;
12 |
13 | try {
14 | windowUtils.loadSheetUsingURIString(uri, windowUtils.AUTHOR_SHEET);
15 | } catch (e) {}
16 | }
17 |
18 | init() {
19 | this.loadSheet("chrome://dot/content/devtools/devtools.css");
20 | }
21 |
22 | handleEvent(event) {
23 | switch (event.type) {
24 | case "DOMDocElementInserted":
25 | case "DOMContentLoaded":
26 | this.init();
27 | break;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/themes/shared/icons/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/patches/removed/0007-Add-mach_initialize.py-to-mach-script.patch:
--------------------------------------------------------------------------------
1 | From b972cc604e1b5cfa62627a1e88d3b25832f8617e Mon Sep 17 00:00:00 2001
2 | From: EnderDev
3 | Date: Sat, 14 Jan 2023 16:43:19 +0000
4 | Subject: [PATCH] Add mach_initialize.py to mach script
5 |
6 | ---
7 | mach | 2 ++
8 | 1 file changed, 2 insertions(+)
9 |
10 | diff --git a/mach b/mach
11 | index 7e00054bf5a1..80bcfc92f182 100755
12 | --- a/mach
13 | +++ b/mach
14 | @@ -25,6 +25,8 @@ def check_and_get_mach(dir_path):
15 | initialize_paths = (
16 | # Run Thunderbird's mach_initialize.py if it exists
17 | 'comm/build/mach_initialize.py',
18 | + # Run Dot's mach_initialize.py if it exists
19 | + 'dot/build/mach_initialize.py',
20 | 'build/mach_initialize.py',
21 | # test package initialize
22 | 'tools/mach_initialize.py',
23 | --
24 | 2.38.1
25 |
26 |
--------------------------------------------------------------------------------
/themes/shared/icons/more-vertical.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/ChromeWindow.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | import { Browser } from "./Browser";
6 | import { ChromeBrowser } from "./ChromeBrowser";
7 |
8 | export interface ChromeWindow {
9 | gBrowser: Browser;
10 | focus(): void;
11 | openWebLinkIn(
12 | url: string,
13 | where: "current" | "tab" | "window",
14 | options: Partial<{
15 | // Not all possible options are present, please add more if/when needed.
16 | userContextId: number;
17 | forceNonPrivate: boolean;
18 | resolveOnContentBrowserCreated: (
19 | contentBrowser: ChromeBrowser
20 | ) => unknown;
21 | }>
22 | ): void;
23 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2022",
4 | "module": "es2022",
5 | "moduleResolution": "node",
6 | "experimentalDecorators": true,
7 | "esModuleInterop": true,
8 | "allowSyntheticDefaultImports": true,
9 | "jsx": "react",
10 | "jsxFactory": "html", // Defines our custom JSX factory
11 | "jsxFragmentFactory": "Fragment",
12 | "allowJs": true,
13 | "checkJs": true,
14 | "outDir": "dist",
15 | "baseUrl": ".", // Needed to resolve imports from the root
16 | "types": [] // Needed to prevent types of node_modules from being included
17 | },
18 | "exclude": [
19 | /* Globbed folders */
20 | "**/app/profile/**/*",
21 | "**/locales/**/*",
22 | "**/build/**/*",
23 | "**/branding/**/*",
24 | "**/dist/**/*",
25 | "**/node_modules/**/*",
26 | /* Individual files */
27 | "**/modules/DotAppConstants.sys.mjs" /* Excluded for use of macros */
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/app/settings/dumps/dot/search-config.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": [
3 | {
4 | "appliesTo": [
5 | {
6 | "included": {
7 | "everywhere": true
8 | }
9 | }
10 | ],
11 | "webExtension": {
12 | "id": "ddg@search.mozilla.org"
13 | },
14 | "id": "ddg",
15 | "last_modified": 0
16 | },
17 | {
18 | "appliesTo": [
19 | {
20 | "included": {
21 | "everywhere": true
22 | }
23 | }
24 | ],
25 | "webExtension": {
26 | "id": "startpage@search.mozilla.org"
27 | },
28 | "id": "startpage",
29 | "last_modified": 0
30 | }
31 | ],
32 | "timestamp": 0
33 | }
--------------------------------------------------------------------------------
/components/about/AboutRedirector.h:
--------------------------------------------------------------------------------
1 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 | /* This Source Code Form is subject to the terms of the Mozilla Public
3 | * License, v. 2.0. If a copy of the MPL was not distributed with this
4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 |
6 | #ifndef AboutRedirector_h__
7 | #define AboutRedirector_h__
8 |
9 | #include "nsIAboutModule.h"
10 |
11 | namespace dot {
12 | namespace browser {
13 | class AboutRedirector : public nsIAboutModule {
14 | public:
15 | NS_DECL_ISUPPORTS
16 | NS_DECL_NSIABOUTMODULE
17 |
18 | AboutRedirector() {}
19 |
20 | static nsresult Create(REFNSIID aIID, void** aResult);
21 |
22 | protected:
23 | virtual ~AboutRedirector() {}
24 | };
25 | }
26 | }
27 |
28 | #endif // AboutRedirector_h__
29 |
--------------------------------------------------------------------------------
/themes/shared/icons/page.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/MozElements.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 | import { MozElementMixinStatic } from "./MozElementMixin";
6 | import { MozXULElement as MozXULElementInstance } from "./MozXULElement";
7 |
8 | interface MozElement {
9 | prototype: MozXULElementInstance & T;
10 | new (): MozXULElementInstance & T;
11 | }
12 |
13 | interface MozElementsInterface {
14 | [key: string]: MozElement & MozElementMixinStatic;
15 |
16 | }
17 |
18 | export type MozElements = {
19 | MozElementMixin: (el: T) => MozElement & MozElementMixinStatic;
20 | BaseTextMixin: (el: Constructor) => MozElement & MozElementMixinStatic;
21 | } & MozElementsInterface;
--------------------------------------------------------------------------------
/components/about/components.conf:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | pages = [
8 | "blocked",
9 | "certerror",
10 | "framecrashed",
11 | "home",
12 | "newtab",
13 | "rights",
14 | "tabcrashed",
15 | "preferences",
16 | "welcome",
17 | ]
18 |
19 | Classes = [
20 | {
21 | "cid": "{23ee0314-a8c0-4d8d-9439-f548f3ddf5ac}",
22 | "contract_ids": ["@mozilla.org/network/protocol/about;1?what=%s" % page
23 | for page in pages],
24 | "legacy_constructor": "dot::browser::AboutRedirector::Create",
25 | "headers": ["/dot/components/about/AboutRedirector.h"],
26 | }
27 | ]
28 |
--------------------------------------------------------------------------------
/themes/shared/icons/folder.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/key.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/components/commands/content/save-page-as.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 |
5 | const { Command } = ChromeUtils.importESModule(
6 | "resource://gre/modules/Command.sys.mjs"
7 | );
8 |
9 | export class SavePageAsCommand extends Command {
10 | constructor(subscription, subscriber, area) {
11 | super(subscription, subscriber, area);
12 |
13 | this.label = "Save page as…";
14 | this.icon = {
15 | [this.audiences.DEFAULT]: "save",
16 | [this.audiences.PANEL]: ""
17 | };
18 | }
19 |
20 | /**
21 | * Fired when the command is performed
22 | * @param {import("../Command.sys.mjs").CommandEvent} event
23 | */
24 | on_command(event) {
25 | this.actions.run("browser.tabs.save_page", {
26 | tab: this.context.tab
27 | });
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/actors/DotLinkStatusParent.sys.mjs:
--------------------------------------------------------------------------------
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 | export class LinkStatusParent extends JSWindowActorParent {
6 | /**
7 | *
8 | * @param {import("third_party/dothq/gecko-types/lib").ReceiveMessageArgument} msg
9 | */
10 | receiveMessage(msg) {
11 | if (msg.name !== "LinkStatus:OverLink") return;
12 |
13 | const { href } = msg.data;
14 |
15 | const browser = this.manager.browsingContext.top.embedderElement;
16 | const win = browser.ownerGlobal;
17 |
18 | if (!win.gDot) return;
19 |
20 | const tab = win.gDot.tabs?.getTabForWebContents(browser);
21 |
22 | if (tab) {
23 | win.gDot.status.setTabStatus(tab, "overLink", href);
24 | } else {
25 | win.gDot.status.setStatus("overLink", href);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/branding/official/stubinstaller/profile_cleanup_page.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 | body {
6 | color: white;
7 | }
8 |
9 | #header,
10 | #refreshCheckboxContainer,
11 | #refreshButtonContainer {
12 | text-align: center;
13 | margin-left: 40px;
14 | margin-right: 40px;
15 | margin-bottom: 30px;
16 | }
17 |
18 | #header {
19 | font-size: 35px;
20 | font-weight: normal;
21 | margin-top: 45px;
22 | }
23 |
24 | #refreshCheckbox {
25 | vertical-align: middle;
26 | }
27 |
28 | #checkboxLabel {
29 | font-size: 13px;
30 | }
31 |
32 | #refreshButton {
33 | padding: 8px 40px;
34 | font-size: 15px;
35 | }
36 |
37 | /* The footer goes in the bottom right corner. */
38 | #footer {
39 | position: fixed;
40 | right: 50px;
41 | bottom: 59px;
42 | }
43 |
--------------------------------------------------------------------------------
/themes/shared/icons/briefcase.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/FluentLocalization.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | type L10nArgs = Record;
6 |
7 | export interface FluentLocalization {
8 | formatValue(id: string, args?: L10nArgs): Promise;
9 | formatValues(ids: string[], args?: L10nArgs): Promise;
10 |
11 | formatValueSync(id: string, args?: L10nArgs): string | null;
12 | formatValuesSync(ids: string[], args?: L10nArgs): string[] | null[];
13 |
14 | /**
15 | * This function sets the attributes data-l10n-id and possibly data-l10n-args
16 | * on the element.
17 | */
18 | setAttributes(
19 | target: Element,
20 | id?: string,
21 | args?: Record
22 | ): void;
23 | }
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/nsIDirectoryEnumerator.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 | import { nsIFile } from "./nsIFile";
6 |
7 | export interface nsIDirectoryEnumerator extends Enumerator {
8 | /**
9 | * Retrieves the next file in the sequence. The "nextFile" element is the
10 | * first element upon the first call. This attribute is null if there is no
11 | * next element.
12 | */
13 | readonly nextFile: nsIFile;
14 |
15 | /**
16 | * Closes the directory being enumerated, releasing the system resource.
17 | * @throws NS_OK if the call succeeded and the directory was closed.
18 | * NS_ERROR_FAILURE if the directory close failed.
19 | * It is safe to call this function many times.
20 | */
21 | close(): void;
22 | }
23 |
--------------------------------------------------------------------------------
/base/jar.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 | dot.jar:
6 | % content dot %content/ contentaccessible=yes
7 | * content/browser.xhtml (content/browser.xhtml)
8 | content/commonDialog.xhtml (content/commonDialog.xhtml)
9 |
10 | content/ (content/*.js)
11 |
12 | % resource dot %modules/dot/
13 | % override chrome://dot/content/safeMode.xhtml chrome://browser/content/safeMode.xhtml
14 | % override chrome://browser/content/utilityOverlay.js chrome://dot/content/browser-utility-overlay.js
15 | % override chrome://global/content/commonDialog.xhtml chrome://dot/content/commonDialog.xhtml
16 |
17 | browser.jar:
18 | % content browser %content/
19 | content/ (../../browser/*)
--------------------------------------------------------------------------------
/themes/shared/icons/clock.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/rubbish-bin.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/components/prompts/BrowserWindowPrompts.sys.mjs:
--------------------------------------------------------------------------------
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 | const { BrowserPromptManager } = ChromeUtils.importESModule(
6 | "resource://gre/modules/BrowserPromptManager.sys.mjs"
7 | );
8 |
9 | export class BrowserWindowPrompts extends BrowserPromptManager {
10 | /**
11 | * Opens the window prompt
12 | * @param {Object} args
13 | */
14 | open(args) {
15 | // const { win, uri, features, bag } = this.getPromptData(args);
16 | // Services.ww.openWindow(
17 | // win || Services.ww.activeWindow,
18 | // uri,
19 | // "_blank",
20 | // features,
21 | // bag
22 | // );
23 | // return this.getReturnValue(args, bag);
24 | }
25 |
26 | /**
27 | * @param {Window} win
28 | */
29 | constructor(win) {
30 | super(win);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/components/search/extensions/ddg/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "DuckDuckGo",
3 | "description": "Search DuckDuckGo",
4 | "manifest_version": 2,
5 | "version": "1.1",
6 | "applications": {
7 | "gecko": {
8 | "id": "ddg@search.mozilla.org"
9 | }
10 | },
11 | "hidden": true,
12 | "icons": {
13 | "16": "favicon.ico"
14 | },
15 | "web_accessible_resources": [
16 | "favicon.ico"
17 | ],
18 | "chrome_settings_overrides": {
19 | "search_provider": {
20 | "keyword": "@duckduckgo",
21 | "name": "DuckDuckGo",
22 | "search_url": "https://duckduckgo.com/",
23 | "search_form": "https://duckduckgo.com/?q={searchTerms}",
24 | "search_url_get_params": "q={searchTerms}",
25 | "suggest_url": "https://ac.duckduckgo.com/ac/",
26 | "suggest_url_get_params": "q={searchTerms}&type=list"
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/components/toolbar/jar.mn:
--------------------------------------------------------------------------------
1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 | # vim: set filetype=python:
3 | # This Source Code Form is subject to the terms of the Mozilla Public
4 | # License, v. 2.0. If a copy of the MPL was not distributed with this
5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 |
7 | dot.jar:
8 | % content dot %content/ contentaccessible=yes
9 | content/widgets/browser-toolbar.js (content/browser-toolbar.js)
10 | content/widgets/browser-toolbar.css (content/browser-toolbar.css)
11 |
12 | content/widgets/browser-toolbar-button.js (content/browser-toolbar-button.js)
13 | content/widgets/browser-toolbar-button.css (content/browser-toolbar-button.css)
14 |
15 | content/widgets/browser-toolbar-overflow.js (content/browser-toolbar-overflow.js)
16 | content/widgets/browser-toolbar-overflow.css (content/browser-toolbar-overflow.css)
--------------------------------------------------------------------------------
/themes/shared/icons/filter.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/dock-left.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
24 |
--------------------------------------------------------------------------------
/themes/shared/icons/search.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/branding/official/branding.nsi:
--------------------------------------------------------------------------------
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 | # NSIS branding defines for unofficial builds.
6 | # The official release build branding.nsi is located in other-license/branding/firefox/
7 | # The nightly build branding.nsi is located in browser/installer/windows/nsis/
8 |
9 | # BrandFullNameInternal is used for some registry and file system values
10 | # instead of BrandFullName and typically should not be modified.
11 | !define BrandFullNameInternal "Dot Browser"
12 | !define BrandFullName "Dot Browser"
13 | !define CompanyName "Dot HQ"
14 | !define URLInfoAbout "https://www.dothq.org/${AB_CD}/"
15 | !define URLUpdateInfo "https://www.dothq.org/${AB_CD}/"
16 | !define URLSystemRequirements "https://www.dothq.org/${AB_CD}/browser/system-requirements/"
--------------------------------------------------------------------------------
/components/prompts/BrowserChromePrompts.sys.mjs:
--------------------------------------------------------------------------------
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 | const { BrowserPromptManager } = ChromeUtils.importESModule(
6 | "resource://gre/modules/BrowserPromptManager.sys.mjs"
7 | );
8 |
9 | export class BrowserChromePrompts extends BrowserPromptManager {
10 | /**
11 | * Opens the chrome prompt
12 | * @param {Object} args
13 | */
14 | async open(args) {
15 | // const { uri, features, bag } = this.getPromptData(args);
16 | // const prompt = await this.createSubprompt();
17 | // const target = prompt.getAttribute("name");
18 | // this.win.openDialog(this.win, uri, target, features, bag);
19 | // return this.getReturnValue(args, bag);
20 | }
21 |
22 | /**
23 | * @param {Window} win
24 | */
25 | constructor(win) {
26 | super(win);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/patches/README.md:
--------------------------------------------------------------------------------
1 | # Dot Browser patches
2 |
3 | All the patches used in Dot Browser to make tweaks and changes to Firefox/Gecko.
4 |
5 | We should avoid making new patches if at all possible, as it creates conflict hell when pulling from `gecko-dev`.
6 |
7 | Patches are meant to be small, individual file modifications - if you are having to create patches that include multiple modified files then an alternative approach is needed.
8 |
9 | ## Creating a new patch
10 |
11 | You should read the [Contributors Guide](https://developer.dothq.org/contributing/contributors_guide.html) for instructions on how to create a new patch.
12 |
13 | ## Phasing out a patch
14 |
15 | Phasing out (removing) a patch should only be done by core maintainers as it can cause problems if not done safely.
16 |
17 | Only patches in the [`removed`](./removed/) prefixed with `!` will be automatically reverted by patchtool, this is to ensure automatic reversion is only performed on an opt-in basis.
18 |
--------------------------------------------------------------------------------
/scripts/shared/path.py:
--------------------------------------------------------------------------------
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 os
6 |
7 | def get_topsrcdir():
8 | cwd = os.getcwd()
9 | dir_name = os.path.basename(cwd)
10 |
11 | topsrcdir = ""
12 |
13 | if dir_name == "dot":
14 | topsrcdir = os.path.abspath("..")
15 | elif dir_name.startswith("obj-"):
16 | topsrcdir = os.path.abspath("..")
17 | else:
18 | if (
19 | os.path.isfile(os.path.join(os.getcwd(), "moz.configure")) and
20 | os.path.isfile(os.path.join(os.getcwd(), "old-configure.in"))
21 | ):
22 | topsrcdir = os.getcwd()
23 | else:
24 | raise Exception("Unable to sync! We can't find your topsrcdir. You need to be in either the gecko-dev directory or dot directory.")
25 |
26 | return topsrcdir
--------------------------------------------------------------------------------
/themes/shared/icons/dock-top.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
24 |
--------------------------------------------------------------------------------
/third_party/dothq/gecko-types/lib/ReceiveMessageArgument.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 file,
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */
4 |
5 | import { FrameLoader } from "./FrameLoader";
6 |
7 | export interface ReceiveMessageArgument {
8 | /**
9 | * The target of the message. Either an element owning the message manager, or message
10 | * manager itself if no element owns it.
11 | */
12 | target: any;
13 |
14 | /**
15 | * Message name.
16 | */
17 | name: string;
18 |
19 | sync: boolean;
20 |
21 | /**
22 | * Structured clone of the sent message data
23 | */
24 | data: D;
25 |
26 | /**
27 | * Same as .data, deprecated.
28 | * @deprecated
29 | */
30 | json: D;
31 |
32 | ports: Map;
33 |
34 | targetFrameLoader: FrameLoader;
35 | }
--------------------------------------------------------------------------------
/themes/shared/icons/collapse-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/patches/0002-Enforce-has_build-mach-policy.patch:
--------------------------------------------------------------------------------
1 | From d5040a4243f07cd65c46ce4bf84e89662beb698e Mon Sep 17 00:00:00 2001
2 | From: EnderDev
3 | Date: Sat, 27 Aug 2022 14:59:14 +0100
4 | Subject: [PATCH] Enforce has_build mach policy
5 |
6 | ---
7 | python/mozbuild/mozbuild/base.py | 2 +-
8 | 1 file changed, 1 insertion(+), 1 deletion(-)
9 |
10 | diff --git a/python/mozbuild/mozbuild/base.py b/python/mozbuild/mozbuild/base.py
11 | index e2a6feb59f017..614dad089f655 100644
12 | --- a/python/mozbuild/mozbuild/base.py
13 | +++ b/python/mozbuild/mozbuild/base.py
14 | @@ -1018,7 +1018,7 @@ class MachCommandConditions(object):
15 | """Must have a build."""
16 | return MachCommandConditions.is_firefox_or_android(
17 | cls
18 | - ) or MachCommandConditions.is_thunderbird(cls)
19 | + ) or MachCommandConditions.is_thunderbird(cls) or True
20 |
21 | @staticmethod
22 | def has_build_or_shell(cls):
23 | --
24 | 2.37.1
25 |
26 |
--------------------------------------------------------------------------------
/themes/ThemeIcons.sys.mjs:
--------------------------------------------------------------------------------
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 | export const ThemeIcons = {
6 | BRANDING_BASE: "chrome://branding/content/",
7 | SKIN_BASE: "chrome://dot/skin/icons/",
8 |
9 | /**
10 | * Obtains the icon's chrome URI from its readable name
11 | * @param {string} iconName
12 | */
13 | getURI(iconName) {
14 | if (!iconName || !iconName.length) return "";
15 |
16 | switch (iconName) {
17 | case "brand16":
18 | case "brand22":
19 | case "brand24":
20 | case "brand32":
21 | case "brand48":
22 | case "brand64":
23 | case "brand128":
24 | case "brand256":
25 | return `${this.BRANDING_BASE}${iconName.replace(
26 | "brand",
27 | "icon"
28 | )}.png`;
29 | default:
30 | return `${this.SKIN_BASE}${iconName}.svg`;
31 | }
32 | }
33 | };
34 |
--------------------------------------------------------------------------------
/themes/shared/icons/dock-bottom.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
24 |
--------------------------------------------------------------------------------
/themes/shared/icons/dock-right.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
24 |
--------------------------------------------------------------------------------
/themes/addons/jar.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 | dot.jar:
6 | % resource builtin-themes %content/builtin-themes/
7 |
8 | content/builtin-themes/dark (dark/*.svg)
9 | content/builtin-themes/dark (dark/*.css)
10 | content/builtin-themes/dark/manifest.json (dark/manifest.json)
11 |
12 | content/builtin-themes/light (light/*.svg)
13 | content/builtin-themes/light (light/*.css)
14 | content/builtin-themes/light/manifest.json (light/manifest.json)
15 |
16 | toolkit.jar:
17 | % resource default-theme %content/mozapps/extensions/default-theme/
18 | content/mozapps/extensions/default-theme (system/*.svg)
19 | content/mozapps/extensions/default-theme/manifest.json (system/manifest.json)
--------------------------------------------------------------------------------
/themes/shared/icons/label.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/components/commands/content/inspect.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 |
5 | const { TabCommand } = ChromeUtils.importESModule(
6 | "resource://gre/modules/TabCommand.sys.mjs"
7 | );
8 |
9 | export class InspectCommand extends TabCommand {
10 | constructor(subscription, subscriber, area) {
11 | super(subscription, subscriber, area);
12 |
13 | this.label = "Inspect";
14 | this.labelAuxiliary = {
15 | [this.audiences.DEFAULT]: "Inspect this page",
16 | [this.audiences.PANEL]: "Inspect"
17 | };
18 | this.icon = "inspect";
19 | }
20 |
21 | /**
22 | * Fired when the command is performed
23 | * @param {import("../Command.sys.mjs").CommandEvent} event
24 | */
25 | on_command(event) {
26 | this.actions.run("browser.developer.inspect", {
27 | tab: this.context.tab
28 | });
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/components/widgets/content/browser-debug-hologram.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 | :host(panel) browser-debug-hologram {
6 | position: unset !important;
7 | }
8 |
9 | browser-debug-hologram {
10 | &:hover {
11 | z-index: 2147483647;
12 | }
13 | }
14 |
15 | :host(browser-debug-hologram) {
16 | position: fixed;
17 | display: flex;
18 | flex-direction: column;
19 | background-color: black;
20 | color: white;
21 | font-weight: 600;
22 | font-size: 10px;
23 | font-family: monospace;
24 | white-space: nowrap;
25 | border: 1px solid rgba(255, 255, 255, 0.75);
26 | }
27 |
28 | :host(browser-debug-hologram[hidden]) {
29 | display: none !important;
30 | }
31 |
32 | :host(browser-debug-hologram) ::slotted(*) {
33 | display: flex;
34 | gap: 4px;
35 | }
--------------------------------------------------------------------------------
/themes/shared/icons/beaker.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
19 |
--------------------------------------------------------------------------------
/themes/shared/icons/radio-check.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
26 |
--------------------------------------------------------------------------------
/patches/removed/!0004-Force-user-agent-name-to-be-Firefox.patch:
--------------------------------------------------------------------------------
1 | From f3f32944ccb8c3f5dd9fb0928782085b79286043 Mon Sep 17 00:00:00 2001
2 | From: EnderDev
3 | Date: Sun, 4 Sep 2022 20:19:36 +0100
4 | Subject: [PATCH] Force user agent name to be Firefox
5 |
6 | ---
7 | netwerk/protocol/http/nsHttpHandler.cpp | 2 +-
8 | 1 file changed, 1 insertion(+), 1 deletion(-)
9 |
10 | diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp
11 | index 060b0053e5490..40825c21f6f34 100644
12 | --- a/netwerk/protocol/http/nsHttpHandler.cpp
13 | +++ b/netwerk/protocol/http/nsHttpHandler.cpp
14 | @@ -782,7 +782,7 @@ void nsHttpHandler::BuildUserAgent() {
15 | mUserAgent += '/';
16 | mUserAgent += mProductSub;
17 |
18 | - bool isFirefox = mAppName.EqualsLiteral("Firefox");
19 | + bool isFirefox = true;
20 | if (isFirefox || mCompatFirefoxEnabled) {
21 | // "Firefox/x.y" (compatibility) app token
22 | mUserAgent += ' ';
23 | --
24 | 2.37.1
25 |
26 |
--------------------------------------------------------------------------------
/locales/en-US/dot/errors/neterror.ftl:
--------------------------------------------------------------------------------
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 | neterror-page-title = Problem loading page
6 |
7 | neterror-try-again-action = Try again
8 |
9 | # Unknown error
10 |
11 | neterror-unknown-error-message = { -brand-shorter-name } can't load this page for some reason.
12 |
13 | # Connection failure
14 |
15 | neterror-connection-failure-title = Unable to connect to site
16 |
17 | # DNS failure
18 |
19 | neterror-dns-not-found-title = Couldn't locate this site
20 | neterror-dns-not-found-message = We're having trouble connecting to the server at { $host }.
21 |
22 | # Malformed URI
23 |
24 | neterror-malformed-uri-page-title = Invalid URL
25 | neterror-malformed-uri-title = That address doesn’t look right
26 | neterror-malformed-uri-message = Please check that the URL is correct and try again.
--------------------------------------------------------------------------------
/components/actions/content/browser/tabs/close_tab.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 |
5 | /**
6 | * @typedef {import("components/actions/ActionsIPC.sys.mjs").ActionDispatchEvent} ActionDispatchEvent
7 | * @template T
8 | */
9 |
10 | const { Action } = ChromeUtils.importESModule(
11 | "resource://gre/modules/Action.sys.mjs"
12 | );
13 |
14 | export class BrowserTabsCloseTabAction extends Action {
15 | static id = "browser.tabs.close_tab";
16 |
17 | constructor() {
18 | super();
19 | }
20 |
21 | /**
22 | * The name of this action
23 | */
24 | get name() {
25 | return "Close tab";
26 | }
27 |
28 | /**
29 | * Performs this action
30 | * @param {ActionDispatchEvent<{ tab: BrowserTab }>} event
31 | */
32 | run(event) {
33 | const { args } = event.detail;
34 |
35 | args.tab.maybeClose();
36 | }
37 | }
38 |
--------------------------------------------------------------------------------