Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Commit 969ef32

Browse files
committed
🔀Merge remote-tracking branch 'origin/alpha' into 108.0
2 parents 1684e27 + 2daf8f6 commit 969ef32

File tree

65 files changed

+1602
-262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1602
-262
lines changed

‎.github/workflows/alpha.yml‎

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
build_date: ${{ steps.data.outputs.builddate }}
1212
version: ${{ steps.data.outputs.version }}
1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v3
1515
with:
1616
submodules: recursive
1717
token: ${{ secrets.ROBOT_TOKEN }}
@@ -35,8 +35,8 @@ jobs:
3535
id: data
3636
shell: bash
3737
run: |
38-
echo "::set-output name=builddate::$(date +"%Y-%m-%d")"
39-
echo "::set-output name=version::$(gluon get version | xargs)"
38+
echo "builddate=$(date +"%Y-%m-%d")" >> $GITHUB_OUTPUT
39+
echo "version=$(gluon get version | xargs)" >> $GITHUB_OUTPUT
4040
4141
- uses: stefanzweifel/git-auto-commit-action@v4
4242
with:
@@ -49,7 +49,7 @@ jobs:
4949
needs: [build-data]
5050

5151
steps:
52-
- uses: actions/checkout@v2
52+
- uses: actions/checkout@v3
5353
with:
5454
submodules: recursive
5555

@@ -68,21 +68,9 @@ jobs:
6868
run: |
6969
sudo apt-get update --fix-missing
7070
sudo apt-get update
71-
sudo apt-get install dos2unix yasm nasm build-essential libgtk2.0-dev libpython3-dev m4 uuid libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdrm-dev libdbus-glib-1-dev libdbus-glib-1-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb lld-10 llvm
71+
sudo apt-get install dos2unix yasm nasm build-essential libgtk2.0-dev libpython3-dev m4 uuid libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdrm-dev libdbus-glib-1-dev libdbus-glib-1-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb lld llvm
7272
pip install pycairo testresources
7373
74-
echo "/usr/lib/llvm-10/bin" >> $GITHUB_PATH
75-
76-
- name: Install WASI SDK
77-
run: |
78-
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-14/wasi-sdk_14.0_amd64.deb
79-
sudo apt install ./wasi-sdk_14.0_amd64.deb
80-
81-
- name: Install libclang builtins
82-
run: |
83-
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-14/libclang_rt.builtins-wasm32-wasi-14.0.tar.gz
84-
sudo tar -xf libclang_rt.builtins-wasm32-wasi-14.0.tar.gz --strip-components=1 -C /usr/lib/llvm-10/lib/clang/10.0.0/lib/
85-
8674
- name: Disable wasm sandboxing for the sake of my sanity
8775
run: |
8876
echo "ac_add_options --without-wasm-sandboxed-libraries" >> mozconfig
@@ -106,20 +94,12 @@ jobs:
10694
echo "$HOME/.local/bin" >> $GITHUB_PATH
10795
10896
- name: Save sccache
109-
uses: actions/cache@v2
97+
uses: actions/cache@v3
11098
continue-on-error: false
11199
with:
112100
path: /home/runner/.cache/sccache
113101
key: ${{ runner.os }}-sccache
114102

115-
- name: Get System Info
116-
run: |
117-
llc --version
118-
ls /usr/lib/llvm-10/bin
119-
wasm-ld --version
120-
cargo --version
121-
ls /opt/wasi-sdk/share/wasi-sysroot
122-
123103
- name: Setup gluon
124104
run: |
125105
yarn
@@ -173,7 +153,7 @@ jobs:
173153
needs: [build-data]
174154

175155
steps:
176-
- uses: actions/checkout@v2
156+
- uses: actions/checkout@v3
177157
with:
178158
submodules: recursive
179159

@@ -201,7 +181,7 @@ jobs:
201181
python-version: '3.9'
202182

203183
- name: Save sccache
204-
uses: actions/cache@v2
184+
uses: actions/cache@v3
205185
continue-on-error: false
206186
with:
207187
path: ~/Library/Caches/Mozilla.sccache
@@ -259,7 +239,7 @@ jobs:
259239
needs: [build-data]
260240

261241
steps:
262-
- uses: actions/checkout@v2
242+
- uses: actions/checkout@v3
263243
with:
264244
submodules: recursive
265245

@@ -350,6 +330,8 @@ jobs:
350330
name: Release
351331
needs: [build-data, linux, source, mac, windows]
352332
runs-on: ubuntu-latest
333+
if: ${{ github.ref == 'refs/heads/alpha' }}
334+
353335
steps:
354336
- uses: actions/download-artifact@v2
355337

@@ -397,6 +379,7 @@ jobs:
397379
name: Build flatpak repos
398380
needs: [build-data, release]
399381
runs-on: ubuntu-latest
382+
if: ${{ github.ref == 'refs/heads/alpha' }}
400383

401384
steps:
402385
- uses: actions/checkout@v3
@@ -405,14 +388,21 @@ jobs:
405388
token: ${{ secrets.ROBOT_TOKEN }}
406389
submodules: recursive
407390

391+
- name: Ensure repo is on main branch
392+
run: |
393+
cd repo
394+
git checkout main
395+
git pull
396+
408397
- name: Install flatpak builder
409398
run: |
399+
sudo apt-get update
410400
sudo apt-get install -y flatpak-builder
411401
412402
- name: Install build dependancies
413403
run: |
414404
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
415-
sudo flatpak install flathub org.freedesktop.Platform//22.08 org.freedesktop.Sdk//22.08 org.mozilla.firefox.BaseApp//22.08
405+
sudo flatpak install flathub org.freedesktop.Platform//22.08 org.freedesktop.Sdk//22.08 org.mozilla.firefox.BaseApp//22.08 -y
416406
417407
- name: Import GPG keys
418408
run: |
@@ -433,3 +423,11 @@ jobs:
433423
commit_user_name: Fushra Robot
434424
commit_user_email: trickypr@gmail.com
435425
repository: ./repo
426+
427+
- name: Update repo version in package
428+
uses: stefanzweifel/git-auto-commit-action@v4
429+
with:
430+
commit_message: 📦 Upload flatpak for ${{ needs.build-data.outputs.version }}
431+
commit_user_name: Fushra Robot
432+
commit_user_email: trickypr@gmail.com
433+
repository: .

‎.vscode/settings.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"moz.configure": "python",
66
"app.mozbuild": "python",
77
"Makefile.in": "makefile",
8-
"mozconfig": "shellscript"
8+
"mozconfig": "shellscript",
9+
"src/browser/themes/**.json": "jsonc"
910
},
1011
"files.watcherExclude": {
1112
"**/.git/objects/**": true,

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# Pulse Browser
99
An experimental Firefox fork that enhances focus and increases work productivity due to its Hyper minimalistic UI and built-in tools.
1010

11-
[![Discord](https://img.shields.io/discord/835714549545828352?style=flat-square)](https://discord.gg/xNkretH7sD) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/pulse-browser/browser/Alpha%20builds?style=flat-square) ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/pulse-browser/browser?style=flat-square) ![GitHub Repo stars](https://img.shields.io/github/stars/pulse-browser/browser?style=flat-square)
11+
[![Discord](https://img.shields.io/discord/835714549545828352?style=flat-square)](https://discord.gg/xNkretH7sD) ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/pulse-browser/browser/alpha.yml?branch=alpha&style=flat-square) ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/pulse-browser/browser?style=flat-square) ![GitHub Repo stars](https://img.shields.io/github/stars/pulse-browser/browser?style=flat-square)
1212

1313

1414
</div>

‎gluon.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
"brandShortName": "Pulse Browser",
8181
"brandFullName": "Pulse Browser Alpha",
8282
"release": {
83-
"displayVersion": "1.0.0-a.39",
83+
"displayVersion": "1.0.0-a.48",
8484
"github": {
8585
"repo": "pulse-browser/browser"
8686
},

‎package.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,18 @@
77
"license": "MPL-2.0",
88
"private": true,
99
"dependencies": {
10-
"gluon-build": "^1.0.0-rc.2"
10+
"gluon-build": "^1.0.0-rc.4"
1111
},
1212
"scripts": {
1313
"build": "gluon build",
1414
"build:ui": "gluon build --ui",
1515
"bs": "yarn build && yarn start",
1616
"bus": "yarn build:ui && yarn start",
17-
"start": "gluon run",
17+
"start": "yarn clearStartupCache && gluon run",
1818
"export": "gluon export-file",
1919
"imp": "gluon import",
2020
"clearProfile": "rm -rf engine/obj-x86_64-pc-linux-gnu/tmp/profile-default",
21+
"clearStartupCache": "rm -rf engine/obj-x86_64-pc-linux-gnu/tmp/profile-default/startupCache",
2122
"download": "gluon download",
2223
"package": "gluon package",
2324
"ff-version": "gluon ff-version",
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/browser/base/content/aboutRobots.xhtml b/browser/base/content/aboutRobots.xhtml
2+
index 767b31067d6d82c1ddfdbf633ececc459c6480ae..21d09dfb758477930096b6c1b070642464a09e69 100644
3+
--- a/browser/base/content/aboutRobots.xhtml
4+
+++ b/browser/base/content/aboutRobots.xhtml
5+
@@ -14,6 +14,7 @@
6+
<linkset>
7+
<link rel="localization" href="browser/aboutRobots.ftl"/>
8+
</linkset>
9+
+ <script src="chrome://browser/content/contentTheme.js"></script>
10+
</head>
11+
12+
<body>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
2+
index a9d4fc4abe1d3b5d5213d3afd90fd0128ee0d032..f2eb4888521deefa7da2b7666ec6012af2a27a4e 100644
3+
--- a/browser/base/content/browser.js
4+
+++ b/browser/base/content/browser.js
5+
@@ -1841,6 +1841,7 @@ var gBrowserInit = {
6+
gPrivateBrowsingUI.init();
7+
BrowserSearch.init();
8+
BrowserPageActions.init();
9+
+ VerticalTabs.init();
10+
if (gToolbarKeyNavEnabled) {
11+
ToolbarKeyboardNavigator.init();
12+
}

‎src/browser/base/content/browser-sidebar-js.patch‎

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/browser/base/content/browser-sidebar.js b/browser/base/content/browser-sidebar.js
2-
index f09e37fc42f7754f7f3687884ead25124c1b2076..e1833bbfd8a8ed7da767349f886d554f3dd795f3 100644
2+
index c5ac301416d2d820ba95e21c0ce1fe305e63b554..ef82cb7bf931d7601c2116ee0d1828d6aa593cae 100644
33
--- a/browser/base/content/browser-sidebar.js
44
+++ b/browser/base/content/browser-sidebar.js
55
@@ -11,6 +11,10 @@ var SidebarUI = {
@@ -165,18 +165,21 @@ index f09e37fc42f7754f7f3687884ead25124c1b2076..e1833bbfd8a8ed7da767349f886d554f
165165
}
166166
}
167167
},
168-
@@ -573,6 +652,10 @@ var SidebarUI = {
168+
@@ -570,6 +649,13 @@ var SidebarUI = {
169169
this._box.setAttribute("sidebarcommand", commandID);
170170
this.lastOpenedId = commandID;
171171

172172
+ // Pulse: Reset sidebar margin to zero to allow for correct animations to
173173
+ // take place (adapted from dot browser, se below)
174174
+ this._box.style.marginLeft = "0px";
175+
+
176+
+ // Pulse: Add checked to the sidebar-icons class to enable more css latter
177+
+ this._sidebarIcons.setAttribute("checked", "true");
175178
+
176179
let { url, title, sourceL10nEl } = this.sidebars.get(commandID);
177180
this.title = title;
178181
// Keep the title element in sync with any l10n changes.
179-
@@ -618,6 +701,26 @@ var SidebarUI = {
182+
@@ -615,6 +701,27 @@ var SidebarUI = {
180183

181184
this.selectMenuItem("");
182185

@@ -198,12 +201,21 @@ index f09e37fc42f7754f7f3687884ead25124c1b2076..e1833bbfd8a8ed7da767349f886d554f
198201
+ this._splitter.hidden = true;
199202
+
200203
+ this._box.removeAttribute("checked");
204+
+ this._sidebarIcons.removeAttribute("checked");
201205
+ }, 170);
202206
+
203207
// Replace the document currently displayed in the sidebar with about:blank
204208
// so that we can free memory by unloading the page. We need to explicitly
205209
// create a new content viewer because the old one doesn't get destroyed
206-
@@ -641,25 +744,112 @@ var SidebarUI = {
210+
@@ -625,6 +732,7 @@ var SidebarUI = {
211+
212+
this._box.removeAttribute("checked");
213+
this._box.hidden = this._splitter.hidden = true;
214+
+ this._sidebarIcons.removeAttribute("checked");
215+
216+
let selBrowser = gBrowser.selectedBrowser;
217+
selBrowser.focus();
218+
@@ -638,25 +746,112 @@ var SidebarUI = {
207219
* none if the argument is an empty string.
208220
*/
209221
selectMenuItem(commandID) {
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
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+
// @ts-check
5+
6+
const VERTICAL_TABS_POSITION = 'pulse.tabs.vertical'
7+
8+
var VerticalTabs = {
9+
/**
10+
* @return {Boolean} true if the vertical tabs feature is enabled.
11+
*/
12+
get verticalTabsEnabled() {
13+
return Services.prefs.getBoolPref(VERTICAL_TABS_POSITION, false)
14+
},
15+
16+
/**
17+
* @return {HTMLElement?}
18+
*/
19+
get tabsToolbar() {
20+
return document.getElementById('TabsToolbar')
21+
},
22+
23+
/**
24+
* @return {HTMLElement?}
25+
*/
26+
get titlebarContainer() {
27+
return document.getElementById('titlebar')
28+
},
29+
30+
/**
31+
* @return {HTMLElement?}
32+
*/
33+
get browserContainer() {
34+
return document.getElementById('browser')
35+
},
36+
37+
/** @type {HTMLElement?} */
38+
arrowScrollbox: null,
39+
/** @type {HTMLElement?} */
40+
tabBrowserTabs: null,
41+
42+
_initialized: false,
43+
44+
init() {
45+
if (this._initialized) {
46+
return
47+
}
48+
49+
this.arrowScrollbox = document.getElementById('tabbrowser-arrowscrollbox')
50+
this.tabBrowserTabs = document.getElementById('tabbrowser-tabs')
51+
52+
Services.prefs.addObserver(VERTICAL_TABS_POSITION, this)
53+
54+
if (this.verticalTabsEnabled) {
55+
this.enableVerticalTabs()
56+
}
57+
58+
this._initialized = true
59+
},
60+
61+
enableVerticalTabs() {
62+
this.browserContainer?.prepend(this.tabsToolbar || '')
63+
64+
this.arrowScrollbox?.setAttribute('orient', 'vertical')
65+
this.tabBrowserTabs?.setAttribute('orient', 'vertical')
66+
67+
document
68+
.getElementById('navigator-toolbox-background')
69+
?.setAttribute('verticaltabs', 'true')
70+
document
71+
.querySelector('#TabsToolbar .toolbar-items')
72+
?.setAttribute('align', 'start')
73+
},
74+
75+
disableVerticalTabs() {
76+
this.titlebarContainer?.prepend(this.tabsToolbar || '')
77+
78+
this.arrowScrollbox?.setAttribute('orient', 'horizontal')
79+
this.tabBrowserTabs?.setAttribute('orient', 'horizontal')
80+
81+
document
82+
.getElementById('navigator-toolbox-background')
83+
?.removeAttribute('verticaltabs')
84+
document
85+
.querySelector('#TabsToolbar .toolbar-items')
86+
?.setAttribute('align', 'end')
87+
},
88+
89+
/**
90+
* The handler for `Services.prefs.addObserver`.
91+
*/
92+
observe(_subject, topic, data) {
93+
switch (topic) {
94+
case 'nsPref:changed':
95+
if (data === VERTICAL_TABS_POSITION) {
96+
if (this.verticalTabsEnabled) {
97+
this.enableVerticalTabs()
98+
} else {
99+
this.disableVerticalTabs()
100+
}
101+
}
102+
break
103+
}
104+
},
105+
}

0 commit comments

Comments
 (0)