lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Threads by month
  • ----- 2026 -----
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 20971 discussions
[Git][tpo/applications/tor-browser][base-browser-115.2.0esr-13.0-1] fixup! Firefox preference overrides.
by Pier Angelo Vendrame (@pierov) 28 Aug '23

28 Aug '23
Pier Angelo Vendrame pushed to branch base-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: f030bc26 by Richard Pospesel at 2023-08-28T14:28:47+02:00 fixup! Firefox preference overrides. Bug 41774: Hide the 'Switching to a new device' hepl menu item - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -20,6 +20,9 @@ pref("browser.aboutwelcome.enabled", false); // Disable the Firefox View tab (tor-browser#41876) pref("browser.tabs.firefox-view", false); +// Disable 'Switching to a new device" help menu item (tor-browser#41774) +pref("browser.device-migration.help-menu.hidden", true); + // Bug 41668: allow users to apply updates. This is set also in firefox.js for // all platforms, except for Windows. As explained on firefox.js, Firefox uses a // per-installation preference on Windows. However, we patch this behavior, and View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f030bc2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f030bc2… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] fixup! Firefox preference overrides.
by Pier Angelo Vendrame (@pierov) 28 Aug '23

28 Aug '23
Pier Angelo Vendrame pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 03567aeb by Richard Pospesel at 2023-08-26T05:28:59+00:00 fixup! Firefox preference overrides. Bug 41774: Hide the 'Switching to a new device' hepl menu item - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -20,6 +20,9 @@ pref("browser.aboutwelcome.enabled", false); // Disable the Firefox View tab (tor-browser#41876) pref("browser.tabs.firefox-view", false); +// Disable 'Switching to a new device" help menu item (tor-browser#41774) +pref("browser.device-migration.help-menu.hidden", true); + // Bug 41668: allow users to apply updates. This is set also in firefox.js for // all platforms, except for Windows. As explained on firefox.js, Firefox uses a // per-installation preference on Windows. However, we patch this behavior, and View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/03567ae… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/03567ae… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-12.5] Bug 40857: Mullvad Browser generated downloads.json references tbb-* build tag rather than mb-*
by boklm (@boklm) 28 Aug '23

28 Aug '23
boklm pushed to branch maint-12.5 at The Tor Project / Applications / tor-browser-build Commits: 46a0782d by Richard Pospesel at 2023-08-28T10:29:52+02:00 Bug 40857: Mullvad Browser generated downloads.json references tbb-* build tag rather than mb-* - - - - - 1 changed file: - projects/release/update_responses_config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -73,7 +73,12 @@ versions: linux64: minSupportedInstructionSet: SSE2 mar_compression: xz +[% IF c("var/tor-browser") -%] tag: 'tbb-[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]' +[% END -%] +[% IF c("var/mullvad-browser") -%] +tag: 'mb-[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]' +[% END -%] [% IF c("var/tor-browser") -%] htaccess_rewrite_rules: View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/4… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/4… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 40857: Mullvad Browser generated downloads.json references tbb-* build tag rather than mb-*
by boklm (@boklm) 28 Aug '23

28 Aug '23
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: f779c567 by Richard Pospesel at 2023-08-28T10:28:29+02:00 Bug 40857: Mullvad Browser generated downloads.json references tbb-* build tag rather than mb-* - - - - - 1 changed file: - projects/release/update_responses_config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -68,7 +68,12 @@ versions: linux-x86_64: minSupportedInstructionSet: SSE2 mar_compression: xz +[% IF c("var/tor-browser") -%] tag: 'tbb-[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]' +[% END -%] +[% IF c("var/mullvad-browser") -%] +tag: 'mb-[% c("var/torbrowser_version") %]-[% c("var/torbrowser_build") %]' +[% END -%] [% IF c("var/tor-browser") -%] htaccess_rewrite_rules: View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 40821: The update details URL is wrong in alphas
by boklm (@boklm) 28 Aug '23

28 Aug '23
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: ba7fb340 by Richard Pospesel at 2023-08-28T10:22:11+02:00 Bug 40821: The update details URL is wrong in alphas - - - - - 1 changed file: - projects/release/update_responses_config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -36,7 +36,7 @@ versions: mar_channel_id: [% c('var/mar_channel_id') %] platformVersion: [% pc('firefox', 'var/firefox_platform_version') %] [% IF c("var/tor-browser") -%] - detailsURL: https://blog.torproject.org/new-release-tor-browser-[% c("var/torbrowser_version") FILTER remove('\.') %] + detailsURL: https://blog.torproject.org/new[% IF c("var/alpha") %]-alpha[% END %]-release-tor-browser-[% c("var/torbrowser_version") FILTER remove('\.') %] [% END -%] [% IF c("var/mullvad-browser") -%] detailsURL: https://github.com/mullvad/mullvad-browser/releases/[% c("var/torbrowser_version") %] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser] Pushed new tag base-browser-102.15.0esr-12.5-1-build2
by ma1 (@ma1) 28 Aug '23

28 Aug '23
ma1 pushed new tag base-browser-102.15.0esr-12.5-1-build2 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-102.15.0esr-12.5-1] 4 commits: Bug 1751583. r=media-playback-reviewers, alwu a=RyanVM
by ma1 (@ma1) 28 Aug '23

28 Aug '23
ma1 pushed to branch base-browser-102.15.0esr-12.5-1 at The Tor Project / Applications / Tor Browser Commits: a416e80c by Andrew Osmond at 2023-08-28T09:56:46+02:00 Bug 1751583. r=media-playback-reviewers,alwu a=RyanVM - - - - - ceacede5 by Tim Huang at 2023-08-28T09:56:47+02:00 Bug 1842030 - Part 1: Adding CanonicalBrowsingContext::IsPrivateBrowsingActive(). r=nika The CanonicalBrowsingContext::IsPrivateBrowsingActive() function allows us to know if private browsing is active. We need it to prevent setting cookies if there is no active private browsing session. Differential Revision: https://phabricator.services.mozilla.com/D184010 - - - - - 5b85dfb4 by Tim Huang at 2023-08-28T09:56:47+02:00 Bug 1842030 - Part 2: Check the global private browsing state for HttpBaseChannel::IsBrowsingContextDiscarded() if the loadGroup is not avaiable. r=necko-reviewers,jesup The HttpBaseChannel::IsBrowsingContextDiscarded() did always return false if the loadGroup is not avaiable. But, this may not be correct for the private channels if the private session has been ended. To fix this, we make the function to check the global private browsing state if the loadGroup is not available for private channels. Depends on D184010 Differential Revision: https://phabricator.services.mozilla.com/D184479 - - - - - 61b100bc by hsingh at 2023-08-28T09:56:47+02:00 Bug 1843046: Do not allow notifications in private window. r=saschanaz, a=RyanVM Differential Revision: https://phabricator.services.mozilla.com/D184064 - - - - - 11 changed files: - docshell/base/CanonicalBrowsingContext.cpp - docshell/base/CanonicalBrowsingContext.h - dom/media/gmp/GMPParent.cpp - dom/media/gmp/GMPParent.h - dom/media/gmp/GMPServiceParent.cpp - dom/notification/Notification.cpp - netwerk/protocol/http/HttpBaseChannel.cpp - netwerk/protocol/http/HttpBaseChannel.h - netwerk/protocol/http/HttpChannelParent.cpp - netwerk/test/unit/test_cookiejars.js - netwerk/test/unit_ipc/test_cookiejars_wrap.js Changes: ===================================== docshell/base/CanonicalBrowsingContext.cpp ===================================== @@ -1351,6 +1351,11 @@ uint32_t CanonicalBrowsingContext::CountSiteOrigins( return uniqueSiteOrigins.Count(); } +/* static */ +bool CanonicalBrowsingContext::IsPrivateBrowsingActive() { + return gNumberOfPrivateContexts > 0; +} + void CanonicalBrowsingContext::UpdateMediaControlAction( const MediaControlAction& aAction) { if (IsDiscarded()) { ===================================== docshell/base/CanonicalBrowsingContext.h ===================================== @@ -201,6 +201,9 @@ class CanonicalBrowsingContext final : public BrowsingContext { GlobalObject& aGlobal, const Sequence<mozilla::OwningNonNull<BrowsingContext>>& aRoots); + // Return true if a private browsing session is active. + static bool IsPrivateBrowsingActive(); + // This function would propogate the action to its all child browsing contexts // in content processes. void UpdateMediaControlAction(const MediaControlAction& aAction); ===================================== dom/media/gmp/GMPParent.cpp ===================================== @@ -64,7 +64,7 @@ namespace mozilla::gmp { #define __CLASS__ "GMPParent" GMPParent::GMPParent() - : mState(GMPStateNotLoaded), + : mState(GMPState::NotLoaded), mPluginId(GeckoChildProcessHost::GetUniqueID()), mProcess(nullptr), mDeleteProcessOnlyOnUnload(false), @@ -270,7 +270,7 @@ RefPtr<GenericPromise> GMPParent::Init(GeckoMediaPluginServiceParent* aService, } void GMPParent::Crash() { - if (mState != GMPStateNotLoaded) { + if (mState != GMPState::NotLoaded) { Unused << SendCrashPluginNow(); } } @@ -310,7 +310,7 @@ class NotifyGMPProcessLoadedTask : public Runnable { nsresult GMPParent::LoadProcess() { MOZ_ASSERT(mDirectory, "Plugin directory cannot be NULL!"); MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); - MOZ_ASSERT(mState == GMPStateNotLoaded); + MOZ_ASSERT(mState == GMPState::NotLoaded); nsAutoString path; if (NS_WARN_IF(NS_FAILED(mDirectory->GetPath(path)))) { @@ -388,7 +388,7 @@ nsresult GMPParent::LoadProcess() { GMP_PARENT_LOG_DEBUG("%s: Sent StartPlugin to child process", __FUNCTION__); } - mState = GMPStateLoaded; + mState = GMPState::Loaded; // Hold a self ref while the child process is alive. This ensures that // during shutdown the GMPParent stays alive long enough to @@ -418,8 +418,8 @@ void GMPParent::CloseIfUnused() { MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); GMP_PARENT_LOG_DEBUG("%s", __FUNCTION__); - if ((mDeleteProcessOnlyOnUnload || mState == GMPStateLoaded || - mState == GMPStateUnloading) && + if ((mDeleteProcessOnlyOnUnload || mState == GMPState::Loaded || + mState == GMPState::Unloading) && !IsUsed()) { // Ensure all timers are killed. for (uint32_t i = mTimers.Length(); i > 0; i--) { @@ -437,15 +437,16 @@ void GMPParent::CloseIfUnused() { void GMPParent::CloseActive(bool aDieWhenUnloaded) { MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); - GMP_PARENT_LOG_DEBUG("%s: state %d", __FUNCTION__, mState); + GMP_PARENT_LOG_DEBUG("%s: state %u", __FUNCTION__, + uint32_t(GMPState(mState))); if (aDieWhenUnloaded) { mDeleteProcessOnlyOnUnload = true; // don't allow this to go back... } - if (mState == GMPStateLoaded) { - mState = GMPStateUnloading; + if (mState == GMPState::Loaded) { + mState = GMPState::Unloading; } - if (mState != GMPStateNotLoaded && IsUsed()) { + if (mState != GMPState::NotLoaded && IsUsed()) { Unused << SendCloseActive(); CloseIfUnused(); } @@ -467,7 +468,7 @@ void GMPParent::Shutdown() { } MOZ_ASSERT(!IsUsed()); - if (mState == GMPStateNotLoaded || mState == GMPStateClosing) { + if (mState == GMPState::NotLoaded || mState == GMPState::Closing) { return; } @@ -480,7 +481,7 @@ void GMPParent::Shutdown() { // Destroy ourselves and rise from the fire to save memory mService->ReAddOnGMPThread(self); } // else we've been asked to die and stay dead - MOZ_ASSERT(mState == GMPStateNotLoaded); + MOZ_ASSERT(mState == GMPState::NotLoaded); } class NotifyGMPShutdownTask : public Runnable { @@ -524,10 +525,10 @@ void GMPParent::DeleteProcess() { MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); GMP_PARENT_LOG_DEBUG("%s", __FUNCTION__); - if (mState != GMPStateClosing) { + if (mState != GMPState::Closing) { // Don't Close() twice! // Probably remove when bug 1043671 is resolved - mState = GMPStateClosing; + mState = GMPState::Closing; Close(); } mProcess->Delete(NewRunnableMethod("gmp::GMPParent::ChildTerminated", this, @@ -536,7 +537,7 @@ void GMPParent::DeleteProcess() { mProcess = nullptr; #if defined(MOZ_WIDGET_ANDROID) - if (mState != GMPStateNotLoaded) { + if (mState != GMPState::NotLoaded) { nsCOMPtr<nsIEventTarget> launcherThread(GetIPCLauncher()); MOZ_ASSERT(launcherThread); @@ -553,7 +554,7 @@ void GMPParent::DeleteProcess() { } #endif // defined(MOZ_WIDGET_ANDROID) - mState = GMPStateNotLoaded; + mState = GMPState::NotLoaded; nsCOMPtr<nsIRunnable> r = new NotifyGMPShutdownTask(NS_ConvertUTF8toUTF16(mNodeId)); @@ -623,16 +624,18 @@ bool GMPCapability::Supports(const nsTArray<GMPCapability>& aCapabilities, } bool GMPParent::EnsureProcessLoaded() { - if (mState == GMPStateLoaded) { - return true; - } - if (mState == GMPStateClosing || mState == GMPStateUnloading) { - return false; + switch (mState) { + case GMPState::NotLoaded: + return NS_SUCCEEDED(LoadProcess()); + case GMPState::Loaded: + return true; + case GMPState::Unloading: + case GMPState::Closing: + return false; } - nsresult rv = LoadProcess(); - - return NS_SUCCEEDED(rv); + MOZ_ASSERT_UNREACHABLE("Unhandled GMPState!"); + return false; } void GMPParent::AddCrashAnnotations() { @@ -695,7 +698,7 @@ void GMPParent::ActorDestroy(ActorDestroyReason aWhy) { } // warn us off trying to close again - mState = GMPStateClosing; + mState = GMPState::Closing; mAbnormalShutdownInProgress = true; CloseActive(false); @@ -704,7 +707,7 @@ void GMPParent::ActorDestroy(ActorDestroyReason aWhy) { RefPtr<GMPParent> self(this); // Must not call Close() again in DeleteProcess(), as we'll recurse // infinitely if we do. - MOZ_ASSERT(mState == GMPStateClosing); + MOZ_ASSERT(mState == GMPState::Closing); DeleteProcess(); // Note: final destruction will be Dispatched to ourself mService->ReAddOnGMPThread(self); ===================================== dom/media/gmp/GMPParent.h ===================================== @@ -20,6 +20,7 @@ #include "nsString.h" #include "nsTArray.h" #include "nsIFile.h" +#include "mozilla/Atomics.h" #include "mozilla/MozPromise.h" namespace mozilla::gmp { @@ -42,12 +43,7 @@ class GMPCapability { const nsCString& aAPI, const nsCString& aTag); }; -enum GMPState { - GMPStateNotLoaded, - GMPStateLoaded, - GMPStateUnloading, - GMPStateClosing -}; +enum class GMPState : uint32_t { NotLoaded, Loaded, Unloading, Closing }; class GMPContentParent; @@ -194,7 +190,7 @@ class GMPParent final uint32_t& aArchSet); #endif - GMPState mState; + Atomic<GMPState> mState; nsCOMPtr<nsIFile> mDirectory; // plugin directory on disk nsString mName; // base name of plugin on disk, UTF-16 because used for paths nsCString mDisplayName; // name of plugin displayed to users ===================================== dom/media/gmp/GMPServiceParent.cpp ===================================== @@ -643,7 +643,7 @@ void GeckoMediaPluginServiceParent::SendFlushFOGData( MutexAutoLock lock(mMutex); for (const RefPtr<GMPParent>& gmp : mPlugins) { - if (gmp->State() != GMPState::GMPStateLoaded) { + if (gmp->State() != GMPState::Loaded) { // Plugins that are not in the Loaded state have no process attached to // them, and any IPC we would attempt to send them would be ignored (or // result in a warning on debug builds). @@ -681,7 +681,7 @@ GeckoMediaPluginServiceParent::TestTriggerMetrics() { { MutexAutoLock lock(mMutex); for (const RefPtr<GMPParent>& gmp : mPlugins) { - if (gmp->State() != GMPState::GMPStateLoaded) { + if (gmp->State() != GMPState::Loaded) { // Plugins that are not in the Loaded state have no process attached to // them, and any IPC we would attempt to send them would be ignored (or // result in a warning on debug builds). @@ -1003,7 +1003,7 @@ void GeckoMediaPluginServiceParent::RemoveOnGMPThread( } RefPtr<GMPParent> gmp = mPlugins[i]; - if (aDeleteFromDisk && gmp->State() != GMPStateNotLoaded) { + if (aDeleteFromDisk && gmp->State() != GMPState::NotLoaded) { // We have to wait for the child process to release its lib handle // before we can delete the GMP. inUse = true; @@ -1014,7 +1014,7 @@ void GeckoMediaPluginServiceParent::RemoveOnGMPThread( } } - if (gmp->State() == GMPStateNotLoaded || !aCanDefer) { + if (gmp->State() == GMPState::NotLoaded || !aCanDefer) { // GMP not in use or shutdown is being forced; can shut it down now. deadPlugins.AppendElement(gmp); mPlugins.RemoveElementAt(i); ===================================== dom/notification/Notification.cpp ===================================== @@ -478,6 +478,9 @@ NotificationPermissionRequest::Run() { bool blocked = false; if (isSystem) { mPermission = NotificationPermission::Granted; + } else if (mPrincipal->GetPrivateBrowsingId() != 0) { + mPermission = NotificationPermission::Denied; + blocked = true; } else { // File are automatically granted permission. @@ -1483,7 +1486,12 @@ already_AddRefed<Promise> Notification::RequestPermission( aRv.Throw(NS_ERROR_UNEXPECTED); return nullptr; } + nsCOMPtr<nsIPrincipal> principal = sop->GetPrincipal(); + if (!principal) { + aRv.Throw(NS_ERROR_UNEXPECTED); + return nullptr; + } RefPtr<Promise> promise = Promise::Create(window->AsGlobal(), aRv); if (aRv.Failed()) { @@ -1537,6 +1545,15 @@ NotificationPermission Notification::GetPermissionInternal(nsISupports* aGlobal, } nsCOMPtr<nsIPrincipal> principal = sop->GetPrincipal(); + if (!principal) { + aRv.Throw(NS_ERROR_UNEXPECTED); + return NotificationPermission::Denied; + } + + if (principal->GetPrivateBrowsingId() != 0) { + return NotificationPermission::Denied; + } + return GetPermissionInternal(principal, aRv); } ===================================== netwerk/protocol/http/HttpBaseChannel.cpp ===================================== @@ -2390,7 +2390,23 @@ void HttpBaseChannel::NotifySetCookie(const nsACString& aCookie) { } bool HttpBaseChannel::IsBrowsingContextDiscarded() const { - return mLoadGroup && mLoadGroup->GetIsBrowsingContextDiscarded(); + // If there is no loadGroup attached to the current channel, we check the + // global private browsing state for the private channel instead. For + // non-private channel, we will always return false here. + // + // Note that we can only access the global private browsing state in the + // parent process. So, we will fallback to just return false in the content + // process. + if (!mLoadGroup) { + if (!XRE_IsParentProcess()) { + return false; + } + + return mLoadInfo->GetOriginAttributes().mPrivateBrowsingId != 0 && + !dom::CanonicalBrowsingContext::IsPrivateBrowsingActive(); + } + + return mLoadGroup->GetIsBrowsingContextDiscarded(); } // https://mikewest.github.io/corpp/#process-navigation-response ===================================== netwerk/protocol/http/HttpBaseChannel.h ===================================== @@ -619,6 +619,7 @@ class HttpBaseChannel : public nsHashPropertyBag, friend class PrivateBrowsingChannel<HttpBaseChannel>; friend class InterceptFailedOnStop; + friend class HttpChannelParent; protected: // this section is for main-thread-only object ===================================== netwerk/protocol/http/HttpChannelParent.cpp ===================================== @@ -18,6 +18,7 @@ #include "mozilla/net/NeckoParent.h" #include "mozilla/InputStreamLengthHelper.h" #include "mozilla/IntegerPrintfMacros.h" +#include "mozilla/Preferences.h" #include "mozilla/ProfilerLabels.h" #include "mozilla/StoragePrincipalHelper.h" #include "mozilla/UniquePtr.h" @@ -2005,6 +2006,17 @@ void HttpChannelParent::SetCookie(nsCString&& aCookie) { LOG(("HttpChannelParent::SetCookie [this=%p]", this)); MOZ_ASSERT(!mAfterOnStartRequestBegun); MOZ_ASSERT(mCookie.IsEmpty()); + + // The loadGroup of the channel in the parent process could be null in the + // XPCShell content process test, see test_cookiejars_wrap.js. In this case, + // we cannot explicitly set the loadGroup for the parent channel because it's + // created from the content process. To workaround this, we add a testing pref + // to skip this check. + if (!Preferences::GetBool( + "network.cookie.skip_browsing_context_check_in_parent_for_testing") && + mChannel->IsBrowsingContextDiscarded()) { + return; + } mCookie = std::move(aCookie); } ===================================== netwerk/test/unit/test_cookiejars.js ===================================== @@ -60,6 +60,23 @@ function setupChannel(path) { }); chan.loadInfo.originAttributes = tests[i].originAttributes; chan.QueryInterface(Ci.nsIHttpChannel); + + let loadGroup = Cc["@mozilla.org/network/load-group;1"].createInstance( + Ci.nsILoadGroup + ); + + if (chan.loadInfo.originAttributes.privateBrowsingId == 0) { + loadGroup.notificationCallbacks = Cu.createLoadContext(); + chan.loadGroup = loadGroup; + + chan.notificationCallbacks = Cu.createLoadContext(); + } else { + loadGroup.notificationCallbacks = Cu.createPrivateLoadContext(); + chan.loadGroup = loadGroup; + + chan.notificationCallbacks = Cu.createPrivateLoadContext(); + } + return chan; } ===================================== netwerk/test/unit_ipc/test_cookiejars_wrap.js ===================================== @@ -4,6 +4,10 @@ function run_test() { "network.cookieJarSettings.unblocked_for_testing", true ); + Services.prefs.setBoolPref( + "network.cookie.skip_browsing_context_check_in_parent_for_testing", + true + ); Services.prefs.setIntPref("network.cookie.cookieBehavior", 0); run_test_in_child("../unit/test_cookiejars.js"); } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/21e430… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/21e430… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-12.5] Bug 40937: First window after update should go to the user-friendly release page on GitHub
by boklm (@boklm) 28 Aug '23

28 Aug '23
boklm pushed to branch maint-12.5 at The Tor Project / Applications / tor-browser-build Commits: 97460d54 by Richard Pospesel at 2023-08-28T09:57:17+02:00 Bug 40937: First window after update should go to the user-friendly release page on GitHub - - - - - 1 changed file: - projects/release/update_responses_config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -44,7 +44,7 @@ versions: detailsURL: https://blog.torproject.org/new-release-tor-browser-[% c("var/torbrowser_version") FILTER remove('\.') %] [% END -%] [% IF c("var/mullvad-browser") -%] - detailsURL: https://github.com/mullvad/mullvad-browser/releases/[% pc('firefox', 'git_hash') %] + detailsURL: https://github.com/mullvad/mullvad-browser/releases/[% c("var/torbrowser_version") %] [% END -%] incremental_from: [% SET incr_from = c("var/nightly") ? c("var_p/nightly_torbrowser_incremental_from") : c("var/torbrowser_incremental_from"); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 40937: First window after update should go to the user-friendly release page on GitHub
by boklm (@boklm) 28 Aug '23

28 Aug '23
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 0923f92d by Richard Pospesel at 2023-08-28T09:55:22+02:00 Bug 40937: First window after update should go to the user-friendly release page on GitHub - - - - - 1 changed file: - projects/release/update_responses_config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -39,7 +39,7 @@ versions: detailsURL: https://blog.torproject.org/new-release-tor-browser-[% c("var/torbrowser_version") FILTER remove('\.') %] [% END -%] [% IF c("var/mullvad-browser") -%] - detailsURL: https://github.com/mullvad/mullvad-browser/releases/[% pc('firefox', 'git_hash') %] + detailsURL: https://github.com/mullvad/mullvad-browser/releases/[% c("var/torbrowser_version") %] [% END -%] incremental_from: [% SET incr_from = c("var/nightly") ? c("var_p/nightly_torbrowser_incremental_from") : c("var/torbrowser_incremental_from"); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/0… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-102.15.0esr-12.5-1-build2
by ma1 (@ma1) 28 Aug '23

28 Aug '23
ma1 pushed new tag tor-browser-102.15.0esr-12.5-1-build2 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-12.5] Bug 40876: deploy_update_responses-*.sh requires +r permissions to run
by boklm (@boklm) 28 Aug '23

28 Aug '23
boklm pushed to branch maint-12.5 at The Tor Project / Applications / tor-browser-build Commits: dc2d08b0 by Richard Pospesel at 2023-08-28T09:50:54+02:00 Bug 40876: deploy_update_responses-*.sh requires +r permissions to run - - - - - 1 changed file: - tools/signing/upload-update_responses-to-staticiforme Changes: ===================================== tools/signing/upload-update_responses-to-staticiforme ===================================== @@ -54,7 +54,7 @@ git checkout "$update_responses_commit" static-update-component aus1.torproject.org EOF -chmod +x $deploy_script +chmod +rx $deploy_script scp -p $deploy_script $ssh_host_staticiforme:deploy_update_responses-$tbb_version_type.sh echo 'To enable updates you can now run:' View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 40876: deploy_update_responses-*.sh requires +r permissions to run
by boklm (@boklm) 28 Aug '23

28 Aug '23
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 7f71f482 by Richard Pospesel at 2023-08-26T01:31:10+00:00 Bug 40876: deploy_update_responses-*.sh requires +r permissions to run - - - - - 1 changed file: - tools/signing/upload-update_responses-to-staticiforme Changes: ===================================== tools/signing/upload-update_responses-to-staticiforme ===================================== @@ -54,7 +54,7 @@ git checkout "$update_responses_commit" static-update-component aus1.torproject.org EOF -chmod +x $deploy_script +chmod +rx $deploy_script scp -p $deploy_script $ssh_host_staticiforme:deploy_update_responses-$tbb_version_type.sh echo 'To enable updates you can now run:' View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-102.15.0esr-12.5-1] 4 commits: Bug 1751583. r=media-playback-reviewers, alwu a=RyanVM
by ma1 (@ma1) 28 Aug '23

28 Aug '23
ma1 pushed to branch tor-browser-102.15.0esr-12.5-1 at The Tor Project / Applications / Tor Browser Commits: 0db28aff by Andrew Osmond at 2023-08-27T12:55:13+02:00 Bug 1751583. r=media-playback-reviewers,alwu a=RyanVM - - - - - 8cab913f by Tim Huang at 2023-08-27T15:46:35+02:00 Bug 1842030 - Part 1: Adding CanonicalBrowsingContext::IsPrivateBrowsingActive(). r=nika The CanonicalBrowsingContext::IsPrivateBrowsingActive() function allows us to know if private browsing is active. We need it to prevent setting cookies if there is no active private browsing session. Differential Revision: https://phabricator.services.mozilla.com/D184010 - - - - - 0293325a by Tim Huang at 2023-08-27T15:46:35+02:00 Bug 1842030 - Part 2: Check the global private browsing state for HttpBaseChannel::IsBrowsingContextDiscarded() if the loadGroup is not avaiable. r=necko-reviewers,jesup The HttpBaseChannel::IsBrowsingContextDiscarded() did always return false if the loadGroup is not avaiable. But, this may not be correct for the private channels if the private session has been ended. To fix this, we make the function to check the global private browsing state if the loadGroup is not available for private channels. Depends on D184010 Differential Revision: https://phabricator.services.mozilla.com/D184479 - - - - - ee0e3ac2 by hsingh at 2023-08-27T17:55:05+02:00 Bug 1843046: Do not allow notifications in private window. r=saschanaz, a=RyanVM Differential Revision: https://phabricator.services.mozilla.com/D184064 - - - - - 11 changed files: - docshell/base/CanonicalBrowsingContext.cpp - docshell/base/CanonicalBrowsingContext.h - dom/media/gmp/GMPParent.cpp - dom/media/gmp/GMPParent.h - dom/media/gmp/GMPServiceParent.cpp - dom/notification/Notification.cpp - netwerk/protocol/http/HttpBaseChannel.cpp - netwerk/protocol/http/HttpBaseChannel.h - netwerk/protocol/http/HttpChannelParent.cpp - netwerk/test/unit/test_cookiejars.js - netwerk/test/unit_ipc/test_cookiejars_wrap.js Changes: ===================================== docshell/base/CanonicalBrowsingContext.cpp ===================================== @@ -1351,6 +1351,11 @@ uint32_t CanonicalBrowsingContext::CountSiteOrigins( return uniqueSiteOrigins.Count(); } +/* static */ +bool CanonicalBrowsingContext::IsPrivateBrowsingActive() { + return gNumberOfPrivateContexts > 0; +} + void CanonicalBrowsingContext::UpdateMediaControlAction( const MediaControlAction& aAction) { if (IsDiscarded()) { ===================================== docshell/base/CanonicalBrowsingContext.h ===================================== @@ -201,6 +201,9 @@ class CanonicalBrowsingContext final : public BrowsingContext { GlobalObject& aGlobal, const Sequence<mozilla::OwningNonNull<BrowsingContext>>& aRoots); + // Return true if a private browsing session is active. + static bool IsPrivateBrowsingActive(); + // This function would propogate the action to its all child browsing contexts // in content processes. void UpdateMediaControlAction(const MediaControlAction& aAction); ===================================== dom/media/gmp/GMPParent.cpp ===================================== @@ -64,7 +64,7 @@ namespace mozilla::gmp { #define __CLASS__ "GMPParent" GMPParent::GMPParent() - : mState(GMPStateNotLoaded), + : mState(GMPState::NotLoaded), mPluginId(GeckoChildProcessHost::GetUniqueID()), mProcess(nullptr), mDeleteProcessOnlyOnUnload(false), @@ -270,7 +270,7 @@ RefPtr<GenericPromise> GMPParent::Init(GeckoMediaPluginServiceParent* aService, } void GMPParent::Crash() { - if (mState != GMPStateNotLoaded) { + if (mState != GMPState::NotLoaded) { Unused << SendCrashPluginNow(); } } @@ -310,7 +310,7 @@ class NotifyGMPProcessLoadedTask : public Runnable { nsresult GMPParent::LoadProcess() { MOZ_ASSERT(mDirectory, "Plugin directory cannot be NULL!"); MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); - MOZ_ASSERT(mState == GMPStateNotLoaded); + MOZ_ASSERT(mState == GMPState::NotLoaded); nsAutoString path; if (NS_WARN_IF(NS_FAILED(mDirectory->GetPath(path)))) { @@ -388,7 +388,7 @@ nsresult GMPParent::LoadProcess() { GMP_PARENT_LOG_DEBUG("%s: Sent StartPlugin to child process", __FUNCTION__); } - mState = GMPStateLoaded; + mState = GMPState::Loaded; // Hold a self ref while the child process is alive. This ensures that // during shutdown the GMPParent stays alive long enough to @@ -418,8 +418,8 @@ void GMPParent::CloseIfUnused() { MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); GMP_PARENT_LOG_DEBUG("%s", __FUNCTION__); - if ((mDeleteProcessOnlyOnUnload || mState == GMPStateLoaded || - mState == GMPStateUnloading) && + if ((mDeleteProcessOnlyOnUnload || mState == GMPState::Loaded || + mState == GMPState::Unloading) && !IsUsed()) { // Ensure all timers are killed. for (uint32_t i = mTimers.Length(); i > 0; i--) { @@ -437,15 +437,16 @@ void GMPParent::CloseIfUnused() { void GMPParent::CloseActive(bool aDieWhenUnloaded) { MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); - GMP_PARENT_LOG_DEBUG("%s: state %d", __FUNCTION__, mState); + GMP_PARENT_LOG_DEBUG("%s: state %u", __FUNCTION__, + uint32_t(GMPState(mState))); if (aDieWhenUnloaded) { mDeleteProcessOnlyOnUnload = true; // don't allow this to go back... } - if (mState == GMPStateLoaded) { - mState = GMPStateUnloading; + if (mState == GMPState::Loaded) { + mState = GMPState::Unloading; } - if (mState != GMPStateNotLoaded && IsUsed()) { + if (mState != GMPState::NotLoaded && IsUsed()) { Unused << SendCloseActive(); CloseIfUnused(); } @@ -467,7 +468,7 @@ void GMPParent::Shutdown() { } MOZ_ASSERT(!IsUsed()); - if (mState == GMPStateNotLoaded || mState == GMPStateClosing) { + if (mState == GMPState::NotLoaded || mState == GMPState::Closing) { return; } @@ -480,7 +481,7 @@ void GMPParent::Shutdown() { // Destroy ourselves and rise from the fire to save memory mService->ReAddOnGMPThread(self); } // else we've been asked to die and stay dead - MOZ_ASSERT(mState == GMPStateNotLoaded); + MOZ_ASSERT(mState == GMPState::NotLoaded); } class NotifyGMPShutdownTask : public Runnable { @@ -524,10 +525,10 @@ void GMPParent::DeleteProcess() { MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread()); GMP_PARENT_LOG_DEBUG("%s", __FUNCTION__); - if (mState != GMPStateClosing) { + if (mState != GMPState::Closing) { // Don't Close() twice! // Probably remove when bug 1043671 is resolved - mState = GMPStateClosing; + mState = GMPState::Closing; Close(); } mProcess->Delete(NewRunnableMethod("gmp::GMPParent::ChildTerminated", this, @@ -536,7 +537,7 @@ void GMPParent::DeleteProcess() { mProcess = nullptr; #if defined(MOZ_WIDGET_ANDROID) - if (mState != GMPStateNotLoaded) { + if (mState != GMPState::NotLoaded) { nsCOMPtr<nsIEventTarget> launcherThread(GetIPCLauncher()); MOZ_ASSERT(launcherThread); @@ -553,7 +554,7 @@ void GMPParent::DeleteProcess() { } #endif // defined(MOZ_WIDGET_ANDROID) - mState = GMPStateNotLoaded; + mState = GMPState::NotLoaded; nsCOMPtr<nsIRunnable> r = new NotifyGMPShutdownTask(NS_ConvertUTF8toUTF16(mNodeId)); @@ -623,16 +624,18 @@ bool GMPCapability::Supports(const nsTArray<GMPCapability>& aCapabilities, } bool GMPParent::EnsureProcessLoaded() { - if (mState == GMPStateLoaded) { - return true; - } - if (mState == GMPStateClosing || mState == GMPStateUnloading) { - return false; + switch (mState) { + case GMPState::NotLoaded: + return NS_SUCCEEDED(LoadProcess()); + case GMPState::Loaded: + return true; + case GMPState::Unloading: + case GMPState::Closing: + return false; } - nsresult rv = LoadProcess(); - - return NS_SUCCEEDED(rv); + MOZ_ASSERT_UNREACHABLE("Unhandled GMPState!"); + return false; } void GMPParent::AddCrashAnnotations() { @@ -695,7 +698,7 @@ void GMPParent::ActorDestroy(ActorDestroyReason aWhy) { } // warn us off trying to close again - mState = GMPStateClosing; + mState = GMPState::Closing; mAbnormalShutdownInProgress = true; CloseActive(false); @@ -704,7 +707,7 @@ void GMPParent::ActorDestroy(ActorDestroyReason aWhy) { RefPtr<GMPParent> self(this); // Must not call Close() again in DeleteProcess(), as we'll recurse // infinitely if we do. - MOZ_ASSERT(mState == GMPStateClosing); + MOZ_ASSERT(mState == GMPState::Closing); DeleteProcess(); // Note: final destruction will be Dispatched to ourself mService->ReAddOnGMPThread(self); ===================================== dom/media/gmp/GMPParent.h ===================================== @@ -20,6 +20,7 @@ #include "nsString.h" #include "nsTArray.h" #include "nsIFile.h" +#include "mozilla/Atomics.h" #include "mozilla/MozPromise.h" namespace mozilla::gmp { @@ -42,12 +43,7 @@ class GMPCapability { const nsCString& aAPI, const nsCString& aTag); }; -enum GMPState { - GMPStateNotLoaded, - GMPStateLoaded, - GMPStateUnloading, - GMPStateClosing -}; +enum class GMPState : uint32_t { NotLoaded, Loaded, Unloading, Closing }; class GMPContentParent; @@ -194,7 +190,7 @@ class GMPParent final uint32_t& aArchSet); #endif - GMPState mState; + Atomic<GMPState> mState; nsCOMPtr<nsIFile> mDirectory; // plugin directory on disk nsString mName; // base name of plugin on disk, UTF-16 because used for paths nsCString mDisplayName; // name of plugin displayed to users ===================================== dom/media/gmp/GMPServiceParent.cpp ===================================== @@ -643,7 +643,7 @@ void GeckoMediaPluginServiceParent::SendFlushFOGData( MutexAutoLock lock(mMutex); for (const RefPtr<GMPParent>& gmp : mPlugins) { - if (gmp->State() != GMPState::GMPStateLoaded) { + if (gmp->State() != GMPState::Loaded) { // Plugins that are not in the Loaded state have no process attached to // them, and any IPC we would attempt to send them would be ignored (or // result in a warning on debug builds). @@ -681,7 +681,7 @@ GeckoMediaPluginServiceParent::TestTriggerMetrics() { { MutexAutoLock lock(mMutex); for (const RefPtr<GMPParent>& gmp : mPlugins) { - if (gmp->State() != GMPState::GMPStateLoaded) { + if (gmp->State() != GMPState::Loaded) { // Plugins that are not in the Loaded state have no process attached to // them, and any IPC we would attempt to send them would be ignored (or // result in a warning on debug builds). @@ -1003,7 +1003,7 @@ void GeckoMediaPluginServiceParent::RemoveOnGMPThread( } RefPtr<GMPParent> gmp = mPlugins[i]; - if (aDeleteFromDisk && gmp->State() != GMPStateNotLoaded) { + if (aDeleteFromDisk && gmp->State() != GMPState::NotLoaded) { // We have to wait for the child process to release its lib handle // before we can delete the GMP. inUse = true; @@ -1014,7 +1014,7 @@ void GeckoMediaPluginServiceParent::RemoveOnGMPThread( } } - if (gmp->State() == GMPStateNotLoaded || !aCanDefer) { + if (gmp->State() == GMPState::NotLoaded || !aCanDefer) { // GMP not in use or shutdown is being forced; can shut it down now. deadPlugins.AppendElement(gmp); mPlugins.RemoveElementAt(i); ===================================== dom/notification/Notification.cpp ===================================== @@ -478,6 +478,9 @@ NotificationPermissionRequest::Run() { bool blocked = false; if (isSystem) { mPermission = NotificationPermission::Granted; + } else if (mPrincipal->GetPrivateBrowsingId() != 0) { + mPermission = NotificationPermission::Denied; + blocked = true; } else { // File are automatically granted permission. @@ -1483,7 +1486,12 @@ already_AddRefed<Promise> Notification::RequestPermission( aRv.Throw(NS_ERROR_UNEXPECTED); return nullptr; } + nsCOMPtr<nsIPrincipal> principal = sop->GetPrincipal(); + if (!principal) { + aRv.Throw(NS_ERROR_UNEXPECTED); + return nullptr; + } RefPtr<Promise> promise = Promise::Create(window->AsGlobal(), aRv); if (aRv.Failed()) { @@ -1537,6 +1545,15 @@ NotificationPermission Notification::GetPermissionInternal(nsISupports* aGlobal, } nsCOMPtr<nsIPrincipal> principal = sop->GetPrincipal(); + if (!principal) { + aRv.Throw(NS_ERROR_UNEXPECTED); + return NotificationPermission::Denied; + } + + if (principal->GetPrivateBrowsingId() != 0) { + return NotificationPermission::Denied; + } + return GetPermissionInternal(principal, aRv); } ===================================== netwerk/protocol/http/HttpBaseChannel.cpp ===================================== @@ -2390,7 +2390,23 @@ void HttpBaseChannel::NotifySetCookie(const nsACString& aCookie) { } bool HttpBaseChannel::IsBrowsingContextDiscarded() const { - return mLoadGroup && mLoadGroup->GetIsBrowsingContextDiscarded(); + // If there is no loadGroup attached to the current channel, we check the + // global private browsing state for the private channel instead. For + // non-private channel, we will always return false here. + // + // Note that we can only access the global private browsing state in the + // parent process. So, we will fallback to just return false in the content + // process. + if (!mLoadGroup) { + if (!XRE_IsParentProcess()) { + return false; + } + + return mLoadInfo->GetOriginAttributes().mPrivateBrowsingId != 0 && + !dom::CanonicalBrowsingContext::IsPrivateBrowsingActive(); + } + + return mLoadGroup->GetIsBrowsingContextDiscarded(); } // https://mikewest.github.io/corpp/#process-navigation-response ===================================== netwerk/protocol/http/HttpBaseChannel.h ===================================== @@ -619,6 +619,7 @@ class HttpBaseChannel : public nsHashPropertyBag, friend class PrivateBrowsingChannel<HttpBaseChannel>; friend class InterceptFailedOnStop; + friend class HttpChannelParent; protected: // this section is for main-thread-only object ===================================== netwerk/protocol/http/HttpChannelParent.cpp ===================================== @@ -18,6 +18,7 @@ #include "mozilla/net/NeckoParent.h" #include "mozilla/InputStreamLengthHelper.h" #include "mozilla/IntegerPrintfMacros.h" +#include "mozilla/Preferences.h" #include "mozilla/ProfilerLabels.h" #include "mozilla/StoragePrincipalHelper.h" #include "mozilla/UniquePtr.h" @@ -2005,6 +2006,17 @@ void HttpChannelParent::SetCookie(nsCString&& aCookie) { LOG(("HttpChannelParent::SetCookie [this=%p]", this)); MOZ_ASSERT(!mAfterOnStartRequestBegun); MOZ_ASSERT(mCookie.IsEmpty()); + + // The loadGroup of the channel in the parent process could be null in the + // XPCShell content process test, see test_cookiejars_wrap.js. In this case, + // we cannot explicitly set the loadGroup for the parent channel because it's + // created from the content process. To workaround this, we add a testing pref + // to skip this check. + if (!Preferences::GetBool( + "network.cookie.skip_browsing_context_check_in_parent_for_testing") && + mChannel->IsBrowsingContextDiscarded()) { + return; + } mCookie = std::move(aCookie); } ===================================== netwerk/test/unit/test_cookiejars.js ===================================== @@ -60,6 +60,23 @@ function setupChannel(path) { }); chan.loadInfo.originAttributes = tests[i].originAttributes; chan.QueryInterface(Ci.nsIHttpChannel); + + let loadGroup = Cc["@mozilla.org/network/load-group;1"].createInstance( + Ci.nsILoadGroup + ); + + if (chan.loadInfo.originAttributes.privateBrowsingId == 0) { + loadGroup.notificationCallbacks = Cu.createLoadContext(); + chan.loadGroup = loadGroup; + + chan.notificationCallbacks = Cu.createLoadContext(); + } else { + loadGroup.notificationCallbacks = Cu.createPrivateLoadContext(); + chan.loadGroup = loadGroup; + + chan.notificationCallbacks = Cu.createPrivateLoadContext(); + } + return chan; } ===================================== netwerk/test/unit_ipc/test_cookiejars_wrap.js ===================================== @@ -4,6 +4,10 @@ function run_test() { "network.cookieJarSettings.unblocked_for_testing", true ); + Services.prefs.setBoolPref( + "network.cookie.skip_browsing_context_check_in_parent_for_testing", + true + ); Services.prefs.setIntPref("network.cookie.cookieBehavior", 0); run_test_in_child("../unit/test_cookiejars.js"); } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8bd814… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8bd814… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.2.0esr-13.0-1] fixup! Firefox preference overrides.
by richard (@richard) 25 Aug '23

25 Aug '23
richard pushed to branch base-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 503b6ae4 by Pier Angelo Vendrame at 2023-08-25T19:20:41+00:00 fixup! Firefox preference overrides. Bug 42043: Enable media.devices.enumerate.legacy.enabled. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -282,6 +282,11 @@ pref("dom.enable_resource_timing", false); // Bug 13024: To hell with this API pref("privacy.resistFingerprinting.block_mozAddonManager", true); // Bug 26114 pref("dom.webaudio.enabled", false); // Bug 13017: Disable Web Audio API pref("dom.webmidi.enabled", false); // Bug 41398: Disable Web MIDI API +// tor-browser#42043: Stop reporting device IDs (and spoof their number without +// RFP, RFP already reports 1 audioinput and 1 videoinput, but still has +// randomized IDs when this pref is true). +// Defense-in-depth (already the default value) from Firefox 119 or 120. +pref("media.devices.enumerate.legacy.enabled", false); pref("dom.w3c_touch_events.enabled", 0); // Bug 10286: Always disable Touch API pref("dom.vr.enabled", false); // Bug 21607: Disable WebVR for now pref("security.webauth.webauthn", false); // Bug 26614: Disable Web Authentication API for now View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/503b6ae… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/503b6ae… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] fixup! Firefox preference overrides.
by richard (@richard) 25 Aug '23

25 Aug '23
richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 802423fb by Pier Angelo Vendrame at 2023-08-25T15:57:02+02:00 fixup! Firefox preference overrides. Bug 42043: Enable media.devices.enumerate.legacy.enabled. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -282,6 +282,11 @@ pref("dom.enable_resource_timing", false); // Bug 13024: To hell with this API pref("privacy.resistFingerprinting.block_mozAddonManager", true); // Bug 26114 pref("dom.webaudio.enabled", false); // Bug 13017: Disable Web Audio API pref("dom.webmidi.enabled", false); // Bug 41398: Disable Web MIDI API +// tor-browser#42043: Stop reporting device IDs (and spoof their number without +// RFP, RFP already reports 1 audioinput and 1 videoinput, but still has +// randomized IDs when this pref is true). +// Defense-in-depth (already the default value) from Firefox 119 or 120. +pref("media.devices.enumerate.legacy.enabled", false); pref("dom.w3c_touch_events.enabled", 0); // Bug 10286: Always disable Touch API pref("dom.vr.enabled", false); // Bug 21607: Disable WebVR for now pref("security.webauth.webauthn", false); // Bug 26614: Disable Web Authentication API for now View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/802423f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/802423f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 40929: Update go to 1.21 series
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 0c8ec2ab by Richard Pospesel at 2023-08-24T22:30:27+00:00 Bug 40929: Update go to 1.21 series - - - - - f9405828 by Richard Pospesel at 2023-08-24T22:30:27+00:00 Bug 40930: Update zlib to 1.3 - - - - - 2 changed files: - projects/go/config - projects/zlib/config Changes: ===================================== projects/go/config ===================================== @@ -1,5 +1,5 @@ # vim: filetype=yaml sw=2 -version: 1.20.7 +version: 1.21.0 filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: use_container: 1 @@ -119,7 +119,7 @@ input_files: enable: '[% ! c("var/linux") %]' - URL: 'https://golang.org/dl/go[% c("version") %].src.tar.gz' name: go - sha256sum: 2c5ee9c9ec1e733b0dbbc2bdfed3f62306e51d8172bf38f4f4e542b27520f597 + sha256sum: 818d46ede85682dd551ad378ef37a4d247006f12ec59b5b755601d2ce114369a - project: go-bootstrap name: go-bootstrap target_replace: ===================================== projects/zlib/config ===================================== @@ -1,6 +1,6 @@ # vim: filetype=yaml sw=2 filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' -version: 1.2.13 +version: '1.3' git_hash: 'v[% c("version") %]' git_url: https://github.com/madler/zlib.git gpg_keyring: zlib.gpg View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] 10 commits: Customize moz-toggle for tor-browser.
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 113a1dcf by Henry Wilkes at 2023-08-24T20:50:31+00:00 Customize moz-toggle for tor-browser. - - - - - eed98cae by Henry Wilkes at 2023-08-24T20:50:31+00:00 squash! Bug 7494: Create local home page for TBB. Bug 41333: Update about:tor to new design. Including: + make the favicon match the branding icon. + make the location bar show a search icon. - - - - - aed9e200 by Henry Wilkes at 2023-08-24T20:50:31+00:00 fixup! Bug 2176: Rebrand Firefox to TorBrowser Bug 41333: Add a branding svg logo. Copied from branding/tb-&lt;version&gt;/firefox.svg. - - - - - c3e882b1 by Henry Wilkes at 2023-08-24T20:50:31+00:00 fixup! Add TorStrings module for localization Bug 41333: Stop using aboutTor.dtd. No longer use aboutTBUpdate strings in about:tor. - - - - - ebed4113 by Henry Wilkes at 2023-08-24T20:50:31+00:00 fixup! Bug 11698: Incorporate Tor Browser Manual pages into Tor Browser Bug 41333: Use fluent for manual menu entry since we&#39;re no longer using aboutTor.dtd. - - - - - 8a240426 by Henry Wilkes at 2023-08-24T20:50:31+00:00 Tor Browser strings This commit adds all the strings needed for Tor Browser patches. - - - - - b5413676 by Henry Wilkes at 2023-08-24T20:50:31+00:00 Tor Browser localization migration scripts. - - - - - 552fb704 by Henry Wilkes at 2023-08-24T20:50:31+00:00 fixup! Bug 40562: Added Tor Browser preferences to 000-tor-browser.js Bug 41333: Remove TorCheckService. - - - - - 5c735622 by Henry Wilkes at 2023-08-24T20:50:31+00:00 fixup! fixup! Bug 40933: Add tor-launcher functionality Bug 41333: Remove TorCheckService. - - - - - 5e1b65e2 by Henry Wilkes at 2023-08-24T20:50:31+00:00 fixup! Bug 7494: Create local home page for TBB. Bug 41333: Remove TorCheckService. - - - - - 30 changed files: - browser/app/profile/000-tor-browser.js - browser/base/content/browser-doctype.inc - browser/base/content/browser-menubar.inc - browser/base/content/browser.js - browser/base/content/browser.xhtml - browser/base/content/utilityOverlay.js - browser/branding/tb-alpha/content/jar.mn - + browser/branding/tb-alpha/content/tor-browser-logo.svg - browser/branding/tb-nightly/content/jar.mn - + browser/branding/tb-nightly/content/tor-browser-logo.svg - browser/branding/tb-release/content/jar.mn - + browser/branding/tb-release/content/tor-browser-logo.svg - browser/components/BrowserGlue.sys.mjs - browser/components/abouttor/AboutTorChild.sys.mjs - + browser/components/abouttor/AboutTorMessage.sys.mjs - browser/components/abouttor/AboutTorParent.sys.mjs - browser/components/abouttor/HomepageOverride.sys.mjs - − browser/components/abouttor/TorCheckService.sys.mjs - + browser/components/abouttor/content/1f4e3-megaphone.svg - + browser/components/abouttor/content/26a1-high-voltage.svg - + browser/components/abouttor/content/2728-sparkles.svg - + browser/components/abouttor/content/2764-red-heart.svg - browser/components/abouttor/content/aboutTor.css - + browser/components/abouttor/content/aboutTor.html - browser/components/abouttor/content/aboutTor.js - − browser/components/abouttor/content/aboutTor.xhtml - − browser/components/abouttor/content/banner-warning.svg - browser/components/abouttor/jar.mn - browser/components/abouttor/moz.build - browser/components/preferences/home.inc.xhtml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/1431b1… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/1431b1… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 40933: Add symlinks to have incrementals between 12.5.x and 13.0
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: a2196928 by Nicolas Vigier at 2023-08-24T20:31:45+00:00 Bug 40933: Add symlinks to have incrementals between 12.5.x and 13.0 After #40829, the filenames of mar files for Windows and Linux changed, which prevents generating incrementals. To make it possible to generate the incrementals we add symlinks from the old filenames to the new. We should revert this in 13.0.1. - - - - - 3 changed files: - Makefile - projects/release/config - + projects/release/link_old_mar_filenames Changes: ===================================== Makefile ===================================== @@ -183,12 +183,14 @@ torbrowser-testbuild-src: submodule-update torbrowser-incrementals-release: submodule-update $(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target torbrowser tools/update-responses/download_missing_versions release + $(rbm) build release --step link_old_mar_filenames --target release --target torbrowser tools/update-responses/gen_incrementals release $(rbm) build release --step hash_incrementals --target release --target torbrowser torbrowser-incrementals-alpha: submodule-update $(rbm) build release --step update_responses_config --target alpha --target create_unsigned_incrementals --target torbrowser tools/update-responses/download_missing_versions alpha + $(rbm) build release --step link_old_mar_filenames --target alpha --target torbrowser tools/update-responses/gen_incrementals alpha $(rbm) build release --step hash_incrementals --target alpha --target torbrowser @@ -209,12 +211,14 @@ torbrowser-dmg2mar-release: submodule-update $(rbm) build release --step update_responses_config --target release --target signed --target torbrowser $(rbm) build release --step dmg2mar --target release --target signed --target torbrowser tools/update-responses/download_missing_versions release + $(rbm) build release --step link_old_mar_filenames --target release --target torbrowser CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals release torbrowser-dmg2mar-alpha: submodule-update $(rbm) build release --step update_responses_config --target alpha --target signed --target torbrowser $(rbm) build release --step dmg2mar --target alpha --target signed --target torbrowser tools/update-responses/download_missing_versions alpha + $(rbm) build release --step link_old_mar_filenames --target alpha --target torbrowser CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals alpha @@ -499,12 +503,14 @@ mullvadbrowser-testbuild-src: submodule-update mullvadbrowser-incrementals-release: submodule-update $(rbm) build release --step update_responses_config --target release --target create_unsigned_incrementals --target mullvadbrowser tools/update-responses/download_missing_versions release + $(rbm) build release --step link_old_mar_filenames --target release --target mullvadbrowser tools/update-responses/gen_incrementals release $(rbm) build release --step hash_incrementals --target release --target mullvadbrowser mullvadbrowser-incrementals-alpha: submodule-update $(rbm) build release --step update_responses_config --target alpha --target create_unsigned_incrementals --target mullvadbrowser tools/update-responses/download_missing_versions alpha + $(rbm) build release --step link_old_mar_filenames --target alpha --target mullvadbrowser tools/update-responses/gen_incrementals alpha $(rbm) build release --step hash_incrementals --target alpha --target mullvadbrowser @@ -525,12 +531,14 @@ mullvadbrowser-dmg2mar-release: submodule-update $(rbm) build release --step update_responses_config --target release --target signed --target mullvadbrowser $(rbm) build release --step dmg2mar --target release --target signed --target mullvadbrowser tools/update-responses/download_missing_versions release + $(rbm) build release --step link_old_mar_filenames --target release --target mullvadbrowser CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals release mullvadbrowser-dmg2mar-alpha: submodule-update $(rbm) build release --step update_responses_config --target alpha --target signed --target mullvadbrowser $(rbm) build release --step dmg2mar --target alpha --target signed --target mullvadbrowser tools/update-responses/download_missing_versions alpha + $(rbm) build release --step link_old_mar_filenames --target alpha --target mullvadbrowser CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 tools/update-responses/gen_incrementals alpha ===================================== projects/release/config ===================================== @@ -239,6 +239,11 @@ steps: debug: 0 input_files: [] update_responses_config: '[% INCLUDE update_responses_config %]' + link_old_mar_filenames: + build_log: '-' + debug: 0 + input_files: [] + link_old_mar_filenames: '[% INCLUDE link_old_mar_filenames %]' create_update_responses_tar: build_log: '-' debug: 0 ===================================== projects/release/link_old_mar_filenames ===================================== @@ -0,0 +1,19 @@ +#!/bin/bash +[% c("var/set_default_env") -%] +# This script is for #40933: +# Fix generating incrementals between 12.5.x and 13.0 +[% FOREACH version = c("var/torbrowser_incremental_from") %] + cd [% shell_quote(path(dest_dir)) %]/signed/[% version %] + test -e [% c("var/project-name") %]-linux-i686-[% version %]_ALL.mar || \ + ln -s [% c("var/project-name") %]-linux32-[% version %]_ALL.mar \ + [% c("var/project-name") %]-linux-i686-[% version %]_ALL.mar + test -e [% c("var/project-name") %]-linux-x86_64-[% version %]_ALL.mar || \ + ln -s [% c("var/project-name") %]-linux64-[% version %]_ALL.mar \ + [% c("var/project-name") %]-linux-x86_64-[% version %]_ALL.mar + test -e [% c("var/project-name") %]-windows-i686-[% version %]_ALL.mar || \ + ln -s [% c("var/project-name") %]-win32-[% version %]_ALL.mar \ + [% c("var/project-name") %]-windows-i686-[% version %]_ALL.mar + test -e [% c("var/project-name") %]-windows-x86_64-[% version %]_ALL.mar || \ + ln -s [% c("var/project-name") %]-win64-[% version %]_ALL.mar \ + [% c("var/project-name") %]-windows-x86_64-[% version %]_ALL.mar +[% END -%] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.2.0esr-13.0-1] Bug 41740: Change the RFP value of devicePixelRatio to 2
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch base-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: a7f0a2c3 by cypherpunks1 at 2023-08-24T20:28:49+00:00 Bug 41740: Change the RFP value of devicePixelRatio to 2 - - - - - 1 changed file: - dom/base/nsGlobalWindowInner.cpp Changes: ===================================== dom/base/nsGlobalWindowInner.cpp ===================================== @@ -3616,7 +3616,7 @@ double nsGlobalWindowInner::GetDevicePixelRatio(CallerType aCallerType, nsAutoCString origin; nsresult rv = this->GetPrincipal()->GetOrigin(origin); if (NS_FAILED(rv) || origin != "resource://pdf.js"_ns) { - return 1.0; + return 2.0; } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a7f0a2c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a7f0a2c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] Bug 41740: Change the RFP value of devicePixelRatio to 2
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 1431b193 by cypherpunks1 at 2023-08-24T20:26:49+00:00 Bug 41740: Change the RFP value of devicePixelRatio to 2 - - - - - 1 changed file: - dom/base/nsGlobalWindowInner.cpp Changes: ===================================== dom/base/nsGlobalWindowInner.cpp ===================================== @@ -3616,7 +3616,7 @@ double nsGlobalWindowInner::GetDevicePixelRatio(CallerType aCallerType, nsAutoCString origin; nsresult rv = this->GetPrincipal()->GetOrigin(origin); if (NS_FAILED(rv) || origin != "resource://pdf.js"_ns) { - return 1.0; + return 2.0; } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1431b19… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1431b19… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in...
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: e35aaaa8 by Henry Wilkes at 2023-08-24T20:21:48+00:00 fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection Bug 42047: Remove sizing hacks for tor dialogs. We can just wait until DOMContentLoaded to call _populateXUL. Then the subDialog code will take care of the sizing for us. - - - - - 13 changed files: - browser/components/torpreferences/content/bridgeQrDialog.jsm - browser/components/torpreferences/content/bridgeQrDialog.xhtml - browser/components/torpreferences/content/builtinBridgeDialog.jsm - browser/components/torpreferences/content/builtinBridgeDialog.xhtml - browser/components/torpreferences/content/connectionSettingsDialog.jsm - browser/components/torpreferences/content/connectionSettingsDialog.xhtml - browser/components/torpreferences/content/provideBridgeDialog.jsm - browser/components/torpreferences/content/provideBridgeDialog.xhtml - browser/components/torpreferences/content/requestBridgeDialog.jsm - browser/components/torpreferences/content/requestBridgeDialog.xhtml - browser/components/torpreferences/content/torLogDialog.jsm - browser/components/torpreferences/content/torLogDialog.xhtml - browser/components/torpreferences/content/torPreferences.css Changes: ===================================== browser/components/torpreferences/content/bridgeQrDialog.jsm ===================================== @@ -34,10 +34,7 @@ class BridgeQrDialog { } init(window, dialog) { - // Defer to later until Firefox has populated the dialog with all our elements - window.setTimeout(() => { - this._populateXUL(window, dialog); - }, 0); + this._populateXUL(window, dialog); } openDialog(gSubDialog, bridgeString) { ===================================== browser/components/torpreferences/content/bridgeQrDialog.xhtml ===================================== @@ -21,8 +21,10 @@ "use strict"; let dialogObject = window.arguments[0]; - let dialogElement = document.getElementById("bridgeQr-dialog"); - dialogObject.init(window, dialogElement); + document.addEventListener("DOMContentLoaded", () => { + let dialogElement = document.getElementById("bridgeQr-dialog"); + dialogObject.init(window, dialogElement); + }); ]]> </script> </dialog> ===================================== browser/components/torpreferences/content/builtinBridgeDialog.jsm ===================================== @@ -95,10 +95,6 @@ class BuiltinBridgeDialog { ); }); - // Hack: see the CSS - dialog.style.minWidth = "0"; - dialog.style.minHeight = "0"; - this._acceptButton = dialog.getButton("accept"); Services.obs.addObserver(this, TorConnectTopics.StateChange); @@ -129,10 +125,7 @@ class BuiltinBridgeDialog { } init(window, aDialog) { - // defer to later until firefox has populated the dialog with all our elements - window.setTimeout(() => { - this._populateXUL(window, aDialog); - }, 0); + this._populateXUL(window, aDialog); } close() { ===================================== browser/components/torpreferences/content/builtinBridgeDialog.xhtml ===================================== @@ -83,8 +83,10 @@ "use strict"; let builtinBridgeDialog = window.arguments[0]; - let dialog = document.getElementById("torPreferences-builtinBridge-dialog"); - builtinBridgeDialog.init(window, dialog); + document.addEventListener("DOMContentLoaded", () => { + let dialog = document.getElementById("torPreferences-builtinBridge-dialog"); + builtinBridgeDialog.init(window, dialog); + }); ]]> </script> </dialog> ===================================== browser/components/torpreferences/content/connectionSettingsDialog.jsm ===================================== @@ -213,10 +213,6 @@ class ConnectionSettingsDialog { this._dialog.addEventListener("dialogaccept", e => { this._applySettings(); }); - - // Hack: see the CSS - this._dialog.style.minWidth = "0"; - this._dialog.style.minHeight = "0"; } // callback when proxy is toggled @@ -380,10 +376,7 @@ class ConnectionSettingsDialog { } init(window, aDialog) { - // defer to later until firefox has populated the dialog with all our elements - window.setTimeout(() => { - this._populateXUL(window, aDialog); - }, 0); + this._populateXUL(window, aDialog); } openDialog(gSubDialog) { ===================================== browser/components/torpreferences/content/connectionSettingsDialog.xhtml ===================================== @@ -83,8 +83,10 @@ "use strict"; let connectionSettingsDialog = window.arguments[0]; - let dialog = document.getElementById("torPreferences-connection-dialog"); - connectionSettingsDialog.init(window, dialog); + document.addEventListener("DOMContentLoaded", () => { + let dialog = document.getElementById("torPreferences-connection-dialog"); + connectionSettingsDialog.init(window, dialog); + }); ]]> </script> </dialog> ===================================== browser/components/torpreferences/content/provideBridgeDialog.jsm ===================================== @@ -99,10 +99,7 @@ class ProvideBridgeDialog { } init(window, aDialog) { - // defer to later until firefox has populated the dialog with all our elements - window.setTimeout(() => { - this._populateXUL(window, aDialog); - }, 0); + this._populateXUL(window, aDialog); } close() { ===================================== browser/components/torpreferences/content/provideBridgeDialog.xhtml ===================================== @@ -24,8 +24,10 @@ "use strict"; let provideBridgeDialog = window.arguments[0]; - let dialog = document.getElementById("torPreferences-provideBridge-dialog"); - provideBridgeDialog.init(window, dialog); + document.addEventListener("DOMContentLoaded", () => { + let dialog = document.getElementById("torPreferences-provideBridge-dialog"); + provideBridgeDialog.init(window, dialog); + }); ]]> </script> </dialog> ===================================== browser/components/torpreferences/content/requestBridgeDialog.jsm ===================================== @@ -157,10 +157,7 @@ class RequestBridgeDialog { } init(window, dialog) { - // defer to later until firefox has populated the dialog with all our elements - window.setTimeout(() => { - this._populateXUL(window, dialog); - }, 0); + this._populateXUL(window, dialog); } close() { ===================================== browser/components/torpreferences/content/requestBridgeDialog.xhtml ===================================== @@ -35,8 +35,10 @@ "use strict"; let requestBridgeDialog = window.arguments[0]; - let dialog = document.getElementById("torPreferences-requestBridge-dialog"); - requestBridgeDialog.init(window, dialog); + document.addEventListener("DOMContentLoaded", () => { + let dialog = document.getElementById("torPreferences-requestBridge-dialog"); + requestBridgeDialog.init(window, dialog); + }); ]]> </script> </dialog> ===================================== browser/components/torpreferences/content/torLogDialog.jsm ===================================== @@ -60,10 +60,7 @@ class TorLogDialog { } init(window, aDialog) { - // defer to later until firefox has populated the dialog with all our elements - window.setTimeout(() => { - this._populateXUL(aDialog); - }, 0); + this._populateXUL(aDialog); } copyTorLog() { ===================================== browser/components/torpreferences/content/torLogDialog.xhtml ===================================== @@ -19,8 +19,10 @@ "use strict"; let torLogDialog = window.arguments[0]; - let dialog = document.getElementById("torPreferences-torLog-dialog"); - torLogDialog.init(window, dialog); + document.addEventListener("DOMContentLoaded", () => { + let dialog = document.getElementById("torPreferences-torLog-dialog"); + torLogDialog.init(window, dialog); + }); ]]> </script> </dialog> ===================================== browser/components/torpreferences/content/torPreferences.css ===================================== @@ -441,22 +441,6 @@ dialog#torPreferences-requestBridge-dialog > hbox { } /* Builtin bridge dialog */ -#torPreferences-builtinBridge-dialog { - /* Hack: ask XUL to load with a lot of space, then we will remove the minimum - sizes after we populate the string. Users with high resolutions should see a - big dialog, but with all the needed buttons, users with small resolutions - should see scrollbars. - Known problems: - 1) the hack works only if a window is *already* small: if it is big, and then - it is resized, the dialog will not shrink; - 2) horizontal scrollbars are never added. - The proper solution for this will be loading the localized string with - Mozilla's way. - See also https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41044 */ - min-width: 700px; - min-height: 550px; -} - #torPreferences-builtinBridge-header { margin: 8px 0 10px 0; } @@ -504,12 +488,6 @@ groupbox#torPreferences-bridges-group textarea { } /* Connection settings dialog */ -#torPreferences-connection-dialog { - /* Hack: like the built-in dialog */ - min-width: 700px; - min-height: 550px; -} - #torPreferences-connection-header { margin: 4px 0 14px 0; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e35aaaa… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e35aaaa… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-115.2.0esr-13.0-1] fixup! Bug 40925: Implemented the Security Level component
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch base-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: f92d4107 by Henry Wilkes at 2023-08-24T20:08:12+00:00 fixup! Bug 40925: Implemented the Security Level component Bug 42046: Clean up XUL layout hack in security level panel. - - - - - 1 changed file: - browser/components/securitylevel/content/securityLevelPanel.css Changes: ===================================== browser/components/securitylevel/content/securityLevelPanel.css ===================================== @@ -1,12 +1,10 @@ /* Security Level CSS */ #securityLevel-background { - /* xul:vbox with display: block will be correctly measured in size by the - * parent xul:panel, with line-wrapping taken into account, and allocated the - * required space. */ - display: block; min-height: 10em; padding-inline: 16px; + padding-block: 1em 0; + gap: 1em; background-repeat: no-repeat; background-position-y: top 0.4em; /* Icon center should be in-line with end padding. @@ -37,6 +35,10 @@ background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest"); } +#securityLevel-background p { + margin: 0; +} + /* Override margin in panelUI-shared.css */ #securityLevel-panel toolbarseparator#securityLevel-separator { margin-inline: 16px; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f92d410… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f92d410… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] fixup! Bug 40925: Implemented the Security Level component
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 50e86985 by Henry Wilkes at 2023-08-24T20:01:28+00:00 fixup! Bug 40925: Implemented the Security Level component Bug 42046: Clean up XUL layout hack in security level panel. - - - - - 1 changed file: - browser/components/securitylevel/content/securityLevelPanel.css Changes: ===================================== browser/components/securitylevel/content/securityLevelPanel.css ===================================== @@ -1,12 +1,10 @@ /* Security Level CSS */ #securityLevel-background { - /* xul:vbox with display: block will be correctly measured in size by the - * parent xul:panel, with line-wrapping taken into account, and allocated the - * required space. */ - display: block; min-height: 10em; padding-inline: 16px; + padding-block: 1em 0; + gap: 1em; background-repeat: no-repeat; background-position-y: top 0.4em; /* Icon center should be in-line with end padding. @@ -37,6 +35,10 @@ background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest"); } +#securityLevel-background p { + margin: 0; +} + /* Override margin in panelUI-shared.css */ #securityLevel-panel toolbarseparator#securityLevel-separator { margin-inline: 16px; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/50e8698… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/50e8698… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] fixup! Bug 41600: Add a tor circuit display panel.
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 13fedeae by Henry Wilkes at 2023-08-24T19:59:36+00:00 fixup! Bug 41600: Add a tor circuit display panel. Bug 42045: Allow circuit panel to grow in width for long addresses. - - - - - 1 changed file: - browser/components/torcircuit/content/torCircuitPanel.css Changes: ===================================== browser/components/torcircuit/content/torCircuitPanel.css ===================================== @@ -69,16 +69,15 @@ } #tor-circuit-panel-body { - /* xul:vbox with display: block will be correctly measured in size by the - * parent xul:panel, and allocated the required space. */ - display: block; /* May grow larger than 480px if we have a long domain name or ip address. */ - width: 480px; + min-width: 480px; + padding: 1em; + gap: 1em; } #tor-circuit-node-list-name, #tor-circuit-node-list { - margin: 1em; + margin: 0; } #tor-circuit-node-list { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/13fedea… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/13fedea… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.2.0esr-13.0-1] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in...
by richard (@richard) 24 Aug '23

24 Aug '23
richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: 73d562ff by Henry Wilkes at 2023-08-24T19:55:48+00:00 fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection Bug 41812: Stop using -moz-box-flex Fixes: Bug 41904: Connection settings now inputs at full width. Bug 41821: Tor logs now expand with dialog. - - - - - 2 changed files: - browser/components/torpreferences/content/requestBridgeDialog.xhtml - browser/components/torpreferences/content/torPreferences.css Changes: ===================================== browser/components/torpreferences/content/requestBridgeDialog.xhtml ===================================== @@ -19,7 +19,6 @@ <html:input id="torPreferences-requestBridge-captchaTextbox" type="text" - style="-moz-box-flex: 1" /> <button id="torPreferences-requestBridge-refreshCaptchaButton" ===================================== browser/components/torpreferences/content/torPreferences.css ===================================== @@ -378,6 +378,10 @@ button#torPreferences-requestBridge-refreshCaptchaButton { fill: currentColor; } +#torPreferences-requestBridge-captchaTextbox { + flex: 1 0 auto; +} + dialog#torPreferences-requestBridge-dialog > hbox { margin-bottom: 1em; } @@ -519,7 +523,7 @@ groupbox#torPreferences-bridges-group textarea { #torPreferences-localProxy-textboxUsername, #torPreferences-localProxy-textboxPassword, #torPreferences-connection-textboxAllowedPorts { - -moz-box-flex: 1; + flex: 1 0 auto; } #torPreferences-connection-firewall { @@ -532,7 +536,7 @@ groupbox#torPreferences-bridges-group textarea { /* Tor logs dialog */ textarea#torPreferences-torDialog-textarea { - -moz-box-flex: 1; + flex: 1 0 auto; font-family: monospace; font-size: 0.8em; white-space: pre; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/73d562f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/73d562f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • ...
  • 839
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.