no-bug: bypass workspace container coercion for extension-opened tabs (gh-14001)

Co-authored-by: pokeshah <89949620+pokeshah@users.noreply.github.com>
This commit is contained in:
Rishab Shah
2026-06-03 02:06:16 -07:00
committed by GitHub
parent bf365f8043
commit e04e910a6f
3 changed files with 17 additions and 4 deletions

View File

@@ -9,6 +9,12 @@ if test "$ZEN_CROSS_COMPILING"; then
export WINE="$(echo ~)/win-cross/wine/bin/wine"
export WINEDEBUG=-all
# Force Wine to load the genuine Microsoft d3dcompiler_47.dll that ships next
# to fxc.exe in the Windows SDK instead of its built-in vkd3d reimplementation,
# whose HLSL front-end mishandles #include directives (emits an #hlsl_full_path
# marker it then fails to re-parse, breaking shader compilation).
export WINEDLLOVERRIDES="d3dcompiler_47=n"
export MOZ_STUB_INSTALLER=1
export MOZ_PKG_FORMAT=TAR
@@ -16,9 +22,9 @@ if test "$ZEN_CROSS_COMPILING"; then
CROSS_COMPILE=1
if test "$SURFER_COMPAT" = "aarch64"; then
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2026/VC/Redist/MSVC/14.50.35710/arm64/Microsoft.VC145.CRT"
export WIN32_REDIST_DIR="$WINSYSROOT/VC/Redist/MSVC/14.50.35710/arm64/Microsoft.VC145.CRT"
else
export WIN32_REDIST_DIR="$(echo ~)/win-cross/vs2026/VC/Redist/MSVC/14.50.35710/x64/Microsoft.VC145.CRT"
export WIN32_REDIST_DIR="$WINSYSROOT/VC/Redist/MSVC/14.50.35710/x64/Microsoft.VC145.CRT"
fi
fi

View File

@@ -281,7 +281,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..146b1559b8430773bd4ec173a8f4fe88
+ let hasZenDefaultUserContextId = false;
+ let zenForcedWorkspaceId = undefined;
+ if (typeof gZenWorkspaces !== "undefined" && !_forZenEmptyTab) {
+ [userContextId, hasZenDefaultUserContextId, zenForcedWorkspaceId] = gZenWorkspaces.getContextIdIfNeeded(userContextId, fromExternal);
+ [userContextId, hasZenDefaultUserContextId, zenForcedWorkspaceId] = gZenWorkspaces.getContextIdIfNeeded(userContextId, fromExternal, triggeringPrincipal);
+ }
+
if (!UserInteraction.running("browser.tabs.opening", window)) {

View File

@@ -2979,11 +2979,18 @@ class nsZenWorkspaces {
// Tab browser utilities
getContextIdIfNeeded(userContextId, fromExternal) {
getContextIdIfNeeded(userContextId, fromExternal, triggeringPrincipal) {
if (!this.workspaceEnabled) {
return [userContextId, false, undefined];
}
if (
triggeringPrincipal &&
triggeringPrincipal.isAddonOrExpandedAddonPrincipal
) {
return [userContextId, false, undefined];
}
if (
this.shouldForceContainerTabsToWorkspace &&
typeof userContextId !== "undefined" &&