1
0
Fork 1
mirror of https://github.com/zen-browser/desktop.git synced 2025-07-08 16:30:00 +02:00

Merge branch 'dev' into update-firefox-137

Signed-off-by: mr. m  <91018726+mauro-balades@users.noreply.github.com>
This commit is contained in:
mr. m 2025-03-26 19:34:52 +01:00 committed by GitHub
commit 02c9ec67c0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 36 additions and 25 deletions

View file

@ -1106,7 +1106,7 @@
&::after { &::after {
content: ""; content: "";
inset: -50%; inset: -50%;
filter: blur(15px) brightness(1.2); filter: blur(20px);
position: absolute; position: absolute;
background-size: 100% 100%; background-size: 100% 100%;
background-clip: padding-box; background-clip: padding-box;

View file

@ -130,6 +130,9 @@
overflow: hidden; overflow: hidden;
display: flex; display: flex;
gap: 0.5ch; gap: 0.5ch;
overflow-x: auto;
scrollbar-width: none;
scroll-behavior: smooth;
} }
} }

View file

@ -192,15 +192,6 @@ class ZenMediaController {
this._currentBrowser = browser; this._currentBrowser = browser;
this.updatePipButton(); this.updatePipButton();
const positionState = mediaController.getPositionState();
this.mediaControllersMap.set(mediaController.id, {
controller: mediaController,
browser,
position: positionState.position,
duration: positionState.duration,
lastUpdated: Date.now(),
});
} }
setupMediaControlUI(metadata, positionState) { setupMediaControlUI(metadata, positionState) {
@ -244,6 +235,7 @@ class ZenMediaController {
browser, browser,
position: positionState.position, position: positionState.position,
duration: positionState.duration, duration: positionState.duration,
playbackRate: positionState.playbackRate,
lastUpdated: Date.now(), lastUpdated: Date.now(),
}); });
@ -292,6 +284,7 @@ class ZenMediaController {
...mediaController, ...mediaController,
position: event.position, position: event.position,
duration: event.duration, duration: event.duration,
playbackRate: event.playbackRate,
lastUpdated: Date.now(), lastUpdated: Date.now(),
}); });
@ -333,6 +326,7 @@ class ZenMediaController {
this.setupMediaControlUI(nextController.controller.getMetadata(), { this.setupMediaControlUI(nextController.controller.getMetadata(), {
position: nextController.position + (nextController.controller.isPlaying ? elapsedTime : 0), position: nextController.position + (nextController.controller.isPlaying ? elapsedTime : 0),
duration: nextController.duration, duration: nextController.duration,
playbackRate: nextController.playbackRate,
}); });
this.showMediaControls(); this.showMediaControls();

View file

@ -981,7 +981,9 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
layoutTree: this.calculateLayoutTree(tabs, gridType), layoutTree: this.calculateLayoutTree(tabs, gridType),
}; };
this._data.push(splitData); this._data.push(splitData);
if (!this._sessionRestoring) {
window.gBrowser.selectedTab = tabs[0]; window.gBrowser.selectedTab = tabs[0];
}
// Add tabs to the split view group // Add tabs to the split view group
let splitGroup = this._getSplitViewGroup(tabs); let splitGroup = this._getSplitViewGroup(tabs);
@ -1739,6 +1741,7 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
if (!data) { if (!data) {
return; return;
} }
this._sessionRestoring = true;
// We can just get the tab group with document.getElementById(group.groupId) // We can just get the tab group with document.getElementById(group.groupId)
// and add the tabs to it // and add the tabs to it
for (const group of data) { for (const group of data) {
@ -1748,6 +1751,15 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
this.splitTabs([...tabs], group.gridType); this.splitTabs([...tabs], group.gridType);
} }
} }
delete this._sessionRestoring;
}
onAfterWorkspaceSessionRestore() {
if (this.currentView >= 0) {
// Activate all browsers in the split view
this.currentView = -1;
this.onLocationChange(gBrowser.selectedTab.linkedBrowser);
}
} }
} }

View file

@ -405,6 +405,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
_handleSwipeMayStart(event) { _handleSwipeMayStart(event) {
if (!this.workspaceEnabled) return; if (!this.workspaceEnabled) return;
if (event.target.closest('#zen-sidebar-bottom-buttons')) return;
// Only handle horizontal swipes // Only handle horizontal swipes
if (event.direction === event.DIRECTION_LEFT || event.direction === event.DIRECTION_RIGHT) { if (event.direction === event.DIRECTION_LEFT || event.direction === event.DIRECTION_RIGHT) {
@ -648,6 +649,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
if (gZenVerticalTabsManager._canReplaceNewTab && showed) { if (gZenVerticalTabsManager._canReplaceNewTab && showed) {
BrowserCommands.openTab(); BrowserCommands.openTab();
} }
gZenViewSplitter.onAfterWorkspaceSessionRestore();
} }
handleInitialTab(tab, isEmpty) { handleInitialTab(tab, isEmpty) {
@ -2415,6 +2417,17 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
const maxWidth = 100 / numButtons; const maxWidth = 100 / numButtons;
parent.style.setProperty('--zen-overflowed-workspace-button-width', `${maxWidth}%`); parent.style.setProperty('--zen-overflowed-workspace-button-width', `${maxWidth}%`);
this._processingResize = false; this._processingResize = false;
// Scroll to the active workspace button if it's not visible
const activeButton = parent.querySelector('.zen-workspace-button.active');
if (!activeButton) {
return;
}
const parentRect = parent.getBoundingClientRect();
const activeRect = activeButton.getBoundingClientRect();
if (activeRect.left < parentRect.left || activeRect.right > parentRect.right) {
parent.scrollLeft = activeButton.offsetLeft;
}
}); });
} }
})(); })();

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
index f814772114948f87cbb3c3a7231c95ea1f68d776..ee358a46956d5f09983fa98a202085bac69c8b27 100644 index f814772114948f87cbb3c3a7231c95ea1f68d776..38913eb9dee97b42697440560f7a1bab1ffe9f15 100644
--- a/browser/components/sessionstore/SessionStore.sys.mjs --- a/browser/components/sessionstore/SessionStore.sys.mjs
+++ b/browser/components/sessionstore/SessionStore.sys.mjs +++ b/browser/components/sessionstore/SessionStore.sys.mjs
@@ -3171,7 +3171,7 @@ var SessionStoreInternal = { @@ -3171,7 +3171,7 @@ var SessionStoreInternal = {
@ -54,17 +54,6 @@ index f814772114948f87cbb3c3a7231c95ea1f68d776..ee358a46956d5f09983fa98a202085ba
this._log.debug( this._log.debug(
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs` `restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
); );
@@ -5933,8 +5936,8 @@ var SessionStoreInternal = {
let isRemotenessUpdate = options.isRemotenessUpdate;
let willRestoreImmediately =
- options.restoreImmediately || tabbrowser.selectedBrowser == browser;
-
+ options.restoreImmediately || tabbrowser.selectedBrowser == browser
+ || (tabbrowser.selectedTab.group?.id == tab.group?.id);
let isBrowserInserted = browser.isConnected;
// Increase the busy state counter before modifying the tab.
@@ -6086,8 +6089,23 @@ var SessionStoreInternal = { @@ -6086,8 +6089,23 @@ var SessionStoreInternal = {
// Most of tabData has been restored, now continue with restoring // Most of tabData has been restored, now continue with restoring

View file

@ -19,7 +19,7 @@
"brandShortName": "Zen", "brandShortName": "Zen",
"brandFullName": "Zen Browser", "brandFullName": "Zen Browser",
"release": { "release": {
"displayVersion": "1.10.1b", "displayVersion": "1.10.2b",
"github": { "github": {
"repo": "zen-browser/desktop" "repo": "zen-browser/desktop"
}, },
@ -39,7 +39,7 @@
"brandShortName": "Twilight", "brandShortName": "Twilight",
"brandFullName": "Zen Twilight", "brandFullName": "Zen Twilight",
"release": { "release": {
"displayVersion": "1.10.1t", "displayVersion": "1.10.2t",
"github": { "github": {
"repo": "zen-browser/desktop" "repo": "zen-browser/desktop"
} }