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.
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.
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.
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.
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.
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-<version>/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'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.