0
Fork 0
mirror of https://codeberg.org/librewolf/source.git synced 2025-01-03 03:10:07 -05:00
LibreWolf/patchfail
2023-03-15 12:10:20 +01:00

1362 lines
51 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Removing 'tmpdir92'...
Extracting 'firefox-111.0.source.tar.xz'...
Testing patches...
==> patches/allow-ubo-private-mode.patch:
patching file toolkit/components/extensions/Extension.jsm
Hunk #1 succeeded at 3157 (offset 129 lines).
==> patches/allow-JXL-in-non-nightly-browser.patch:
patching file toolkit/moz.configure
Hunk #1 succeeded at 735 (offset 32 lines).
==> patches/bootstrap-without-vcs.patch:
patching file python/mozboot/mozboot/bootstrap.py
patching file python/mozversioncontrol/mozversioncontrol/__init__.py
patching file third_party/python/mozilla_repo_urls/mozilla_repo_urls/parser.py
patching file third_party/python/taskcluster_taskgraph/taskgraph/util/vcs.py
==> patches/context-menu.patch:
patching file browser/base/content/browser-context.inc
Hunk #1 succeeded at 99 (offset -1 lines).
Hunk #2 succeeded at 255 (offset 2 lines).
==> patches/custom-ubo-assets-bootstrap-location.patch:
patching file toolkit/components/extensions/parent/ext-storage.js
Hunk #1 succeeded at 292 (offset 115 lines).
==> patches/disable-data-reporting-at-compile-time.patch:
patching file browser/moz.configure
Hunk #1 succeeded at 5 with fuzz 2.
==> patches/faster-package-multi-locale.patch:
patching file python/mozbuild/mozbuild/mach_commands.py
Hunk #1 succeeded at 2643 (offset 175 lines).
Hunk #2 succeeded at 2659 (offset 175 lines).
==> patches/hide-passwordmgr.patch:
patching file browser/base/content/browser.js
Hunk #1 succeeded at 1893 (offset 46 lines).
patching file browser/components/preferences/privacy.js
Hunk #1 succeeded at 761 (offset -49 lines).
==> patches/librewolf-pref-pane.patch:
patching file browser/components/preferences/jar.mn
patching file browser/components/preferences/librewolf.inc.xhtml
patching file browser/components/preferences/librewolf.js
patching file browser/components/preferences/preferences.js
Hunk #2 succeeded at 201 (offset 4 lines).
patching file browser/components/preferences/preferences.xhtml
Hunk #2 succeeded at 135 (offset 5 lines).
Hunk #3 succeeded at 224 (offset 5 lines).
patching file browser/locales/en-US/browser/preferences/preferences.ftl
Hunk #1 succeeded at 1449 (offset 29 lines).
patching file browser/themes/shared/jar.inc.mn
Hunk #1 succeeded at 110 (offset 2 lines).
Hunk #2 FAILED at 128.
1 out of 2 hunks FAILED -- saving rejects to file browser/themes/shared/jar.inc.mn.rej
patching file browser/themes/shared/preferences/category-librewolf.svg
patching file browser/themes/shared/preferences/librewolf.css
patching file browser/themes/shared/preferences/preferences.css
Hunk #1 succeeded at 211 (offset 5 lines).
---[snip]---------- --> browser/themes/shared/jar.inc.mn.rej:
--- browser/themes/shared/jar.inc.mn
+++ browser/themes/shared/jar.inc.mn
@@ -128,6 +129,7 @@
skin/classic/browser/preferences/vpn-logo.svg (../shared/preferences/vpn-logo.svg)
skin/classic/browser/preferences/search.css (../shared/preferences/search.css)
skin/classic/browser/preferences/siteDataSettings.css (../shared/preferences/siteDataSettings.css)
+ skin/classic/browser/preferences/librewolf.css (../shared/preferences/librewolf.css)
skin/classic/browser/spotlight.css (../shared/spotlight.css)
skin/classic/browser/upgradeDialog/abstract.png (../shared/upgradeDialog/abstract.png)
skin/classic/browser/upgradeDialog/cheers.png (../shared/upgradeDialog/cheers.png)
---[snip]----------
==> patches/librewolf-prefs.patch:
patching file browser/app/profile/firefox.js
==> patches/mozilla_dirs.patch:
patching file toolkit/xre/nsXREDirProvider.cpp
Hunk #1 succeeded at 300 (offset -3 lines).
Hunk #2 FAILED at 413.
Hunk #3 succeeded at 411 with fuzz 2 (offset -54 lines).
Hunk #4 succeeded at 1114 (offset -162 lines).
Hunk #5 succeeded at 1363 (offset -196 lines).
Hunk #6 succeeded at 1373 (offset -196 lines).
1 out of 6 hunks FAILED -- saving rejects to file toolkit/xre/nsXREDirProvider.cpp.rej
---[snip]---------- --> toolkit/xre/nsXREDirProvider.cpp.rej:
--- toolkit/xre/nsXREDirProvider.cpp
+++ toolkit/xre/nsXREDirProvider.cpp
@@ -413,9 +413,9 @@ nsXREDirProvider::GetFile(const char* aProperty, bool* aPersistent,
rv = GetUserDataDirectoryHome(getter_AddRefs(localDir), false);
if (NS_SUCCEEDED(rv)) {
# if defined(XP_MACOSX)
- rv = localDir->AppendNative("Mozilla"_ns);
+ rv = localDir->AppendNative("LibreWolf"_ns);
# else
- rv = localDir->AppendNative(".mozilla"_ns);
+ rv = localDir->AppendNative(".librewolf"_ns);
# endif
}
if (NS_SUCCEEDED(rv)) {
---[snip]----------
==> patches/msix.patch:
patching file browser/installer/windows/msix/AppxManifest.xml.in
patching file python/mozbuild/mozbuild/mach_commands.py
Hunk #1 succeeded at 2427 (offset 102 lines).
Hunk #2 succeeded at 2564 (offset 102 lines).
patching file python/mozbuild/mozbuild/repackaging/msix.py
Hunk #1 succeeded at 95 (offset -2 lines).
Hunk #2 succeeded at 120 (offset -2 lines).
Hunk #3 succeeded at 366 (offset -2 lines).
patching file python/mozbuild/mozbuild/repackaging/msix.py
Hunk #1 succeeded at 159 (offset -34 lines).
Hunk #2 succeeded at 216 (offset -38 lines).
Hunk #3 succeeded at 428 (offset -43 lines).
==> patches/remove_addons.patch:
patching file browser/extensions/moz.build
patching file browser/locales/Makefile.in
patching file browser/locales/filter.py
Hunk #1 succeeded at 15 (offset -2 lines).
patching file browser/locales/l10n.ini
patching file browser/locales/l10n.toml
Hunk #1 succeeded at 135 (offset 2 lines).
==> patches/rfp-performance-api.patch:
patching file dom/performance/Performance.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
5 out of 5 hunks ignored -- saving rejects to file dom/performance/Performance.cpp.rej
patching file dom/performance/PerformanceMainThread.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
4 out of 4 hunks ignored -- saving rejects to file dom/performance/PerformanceMainThread.cpp.rej
patching file dom/performance/PerformanceNavigationTiming.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file dom/performance/PerformanceNavigationTiming.cpp.rej
patching file dom/performance/PerformanceTiming.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file dom/performance/PerformanceTiming.cpp.rej
patching file dom/performance/Performance.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file dom/performance/Performance.h.rej
patching file dom/performance/Performance.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file dom/performance/Performance.cpp.rej
patching file dom/performance/PerformanceMainThread.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file dom/performance/PerformanceMainThread.h.rej
patching file dom/performance/PerformanceMainThread.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file dom/performance/PerformanceMainThread.cpp.rej
patching file dom/performance/PerformanceTiming.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file dom/performance/PerformanceTiming.cpp.rej
patching file dom/performance/PerformanceWorker.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file dom/performance/PerformanceWorker.h.rej
patching file dom/performance/PerformanceWorker.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file dom/performance/PerformanceWorker.cpp.rej
---[snip]---------- --> dom/performance/Performance.cpp.rej:
--- dom/performance/Performance.cpp
+++ dom/performance/Performance.cpp
@@ -163,29 +163,17 @@
JS::Handle<JSObject*> aGivenProto) {
return Performance_Binding::Wrap(aCx, this, aGivenProto);
}
void Performance::GetEntries(nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
aRetval = mResourceEntries.Clone();
aRetval.AppendElements(mUserEntries);
aRetval.Sort(PerformanceEntryComparator());
}
void Performance::GetEntriesByType(
const nsAString& aEntryType, nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
if (aEntryType.EqualsLiteral("resource")) {
aRetval = mResourceEntries.Clone();
return;
}
@@ -204,15 +192,10 @@
void Performance::GetEntriesByName(
const nsAString& aName, const Optional<nsAString>& aEntryType,
nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
aRetval.Clear();
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- return;
- }
-
RefPtr<nsAtom> name = NS_Atomize(aName);
RefPtr<nsAtom> entryType =
aEntryType.WasPassed() ? NS_Atomize(aEntryType.Value()) : nullptr;
if (entryType) {
@@ -365,21 +348,11 @@
PerformanceMark::Constructor(global, aName, aMarkOptions, aRv);
if (aRv.Failed()) {
return nullptr;
}
- // To avoid fingerprinting in User Timing L2, we didn't add marks to the
- // buffer so the user could not get timing data (which can be used to
- // fingerprint) from the API. This may no longer be necessary (since
- // performance.now() has reduced precision to protect against fingerprinting
- // and performance.mark's primary fingerprinting issue is probably this timing
- // data) but we need to do a more thorough reanalysis before we remove the
- // fingerprinting protection. For now, we preserve the User Timing L2 behavior
- // while supporting User Timing L3.
- if (!nsContentUtils::ShouldResistFingerprinting()) {
- InsertUserEntry(performanceMark);
- }
+ InsertUserEntry(performanceMark);
if (profiler_thread_is_being_profiled_for_markers()) {
Maybe<uint64_t> innerWindowId;
if (GetOwner()) {
innerWindowId = Some(GetOwner()->WindowID());
@@ -595,23 +568,10 @@
if (!GetParentObject()) {
aRv.ThrowInvalidStateError("Global object is unavailable");
return nullptr;
}
- // When resisting fingerprinting, we don't add marks to the buffer. Since
- // measure relies on relationships between marks in the buffer, this method
- // will throw if we look for user-entered marks so we return a dummy measure
- // instead of continuing. We could instead return real values for performance
- // timing attributes and dummy values for user-entered marks but this adds
- // complexity that doesn't seem worth the effort because these fingerprinting
- // protections may not longer be necessary (since performance.now() already
- // has reduced precision).
- if (nsContentUtils::ShouldResistFingerprinting()) {
- return do_AddRef(new PerformanceMeasure(GetParentObject(), aName, 0, 0,
- JS::NullHandleValue));
- }
-
// Maybe is more readable than using the union type directly.
Maybe<const PerformanceMeasureOptions&> options;
if (aStartOrMeasureOptions.IsPerformanceMeasureOptions()) {
options.emplace(aStartOrMeasureOptions.GetAsPerformanceMeasureOptions());
}
@@ -811,10 +811,6 @@ MOZ_ALWAYS_INLINE bool Performance::CanAddResourceTimingEntry() {
void Performance::InsertResourceEntry(PerformanceEntry* aEntry) {
MOZ_ASSERT(aEntry);
- if (nsContentUtils::ShouldResistFingerprinting()) {
- return;
- }
-
/*
* Let new entry be the input PerformanceEntry to be added.
*
--- dom/performance/Performance.cpp
+++ dom/performance/Performance.cpp
@@ -96,24 +96,13 @@
Performance::Performance(nsIGlobalObject* aGlobal)
: DOMEventTargetHelper(aGlobal),
mResourceTimingBufferSize(kDefaultResourceTimingBufferSize),
mPendingNotificationObserversTask(false),
mPendingResourceTimingBufferFullEvent(false),
- mRTPCallerType(
- RTPCallerType::Normal /* to be updated in CreateForFoo */) {
- MOZ_ASSERT(!NS_IsMainThread());
-}
-
-Performance::Performance(nsPIDOMWindowInner* aWindow)
- : DOMEventTargetHelper(aWindow),
- mResourceTimingBufferSize(kDefaultResourceTimingBufferSize),
- mPendingNotificationObserversTask(false),
- mPendingResourceTimingBufferFullEvent(false),
- mRTPCallerType(
- RTPCallerType::Normal /* to be updated in CreateForFoo */) {
- MOZ_ASSERT(NS_IsMainThread());
-}
+ mRTPCallerType(aGlobal->GetRTPCallerType()),
+ mCrossOriginIsolated(aGlobal->CrossOriginIsolated()),
+ mShouldResistFingerprinting(aGlobal->ShouldResistFingerprinting()) {}
Performance::~Performance() = default;
DOMHighResTimeStamp Performance::TimeStampToDOMHighResForRendering(
TimeStamp aTimeStamp) const {
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceMainThread.cpp.rej:
--- dom/performance/PerformanceMainThread.cpp
+++ dom/performance/PerformanceMainThread.cpp
@@ -409,12 +409,11 @@
}
void PerformanceMainThread::CreateNavigationTimingEntry() {
MOZ_ASSERT(!mDocEntry, "mDocEntry should be null.");
- if (!StaticPrefs::dom_enable_performance_navigation_timing() ||
- StaticPrefs::privacy_resistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance_navigation_timing()) {
return;
}
nsAutoString name;
GetURLSpecFromChannel(mChannel, name);
@@ -461,16 +460,10 @@
return mEventCounts;
}
void PerformanceMainThread::GetEntries(
nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
aRetval = mResourceEntries.Clone();
aRetval.AppendElements(mUserEntries);
if (mDocEntry) {
aRetval.AppendElement(mDocEntry);
@@ -482,16 +475,10 @@
aRetval.Sort(PerformanceEntryComparator());
}
void PerformanceMainThread::GetEntriesByType(
const nsAString& aEntryType, nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
RefPtr<nsAtom> type = NS_Atomize(aEntryType);
if (type == nsGkAtoms::navigation) {
aRetval.Clear();
if (mDocEntry) {
@@ -524,16 +511,10 @@
}
void PerformanceMainThread::GetEntriesByName(
const nsAString& aName, const Optional<nsAString>& aEntryType,
nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
Performance::GetEntriesByName(aName, aEntryType, aRetval);
if (mFCPTiming && mFCPTiming->GetName()->Equals(aName) &&
(!aEntryType.WasPassed() ||
mFCPTiming->GetEntryType()->Equals(aEntryType.Value()))) {
--- dom/performance/PerformanceMainThread.cpp
+++ dom/performance/PerformanceMainThread.cpp
@@ -89,16 +89,14 @@
NS_INTERFACE_MAP_END_INHERITING(Performance)
PerformanceMainThread::PerformanceMainThread(nsPIDOMWindowInner* aWindow,
nsDOMNavigationTiming* aDOMTiming,
nsITimedChannel* aChannel)
- : Performance(aWindow),
+ : Performance(aWindow->AsGlobal()),
mDOMTiming(aDOMTiming),
- mChannel(aChannel),
- mCrossOriginIsolated(aWindow->AsGlobal()->CrossOriginIsolated()) {
+ mChannel(aChannel) {
MOZ_ASSERT(aWindow, "Parent window object should be provided");
- mRTPCallerType = aWindow->AsGlobal()->GetRTPCallerType();
if (StaticPrefs::dom_enable_event_timing()) {
mEventCounts = new class EventCounts(GetParentObject());
}
CreateNavigationTimingEntry();
}
@@ -449,14 +447,10 @@
UpdateNavigationTimingEntry();
QueueEntry(mDocEntry);
}
-bool PerformanceMainThread::CrossOriginIsolated() const {
- return mCrossOriginIsolated;
-}
-
EventCounts* PerformanceMainThread::EventCounts() {
MOZ_ASSERT(StaticPrefs::dom_enable_event_timing());
return mEventCounts;
}
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceNavigationTiming.cpp.rej:
--- dom/performance/PerformanceNavigationTiming.cpp
+++ dom/performance/PerformanceNavigationTiming.cpp
@@ -150,8 +150,7 @@
nsIHttpChannel* aHttpChannel, nsITimedChannel* aChannel) {
mTimingData->SetPropertiesFromHttpChannel(aHttpChannel, aChannel);
}
bool PerformanceNavigationTiming::Enabled(JSContext* aCx, JSObject* aGlobal) {
- return (StaticPrefs::dom_enable_performance_navigation_timing() &&
- !StaticPrefs::privacy_resistFingerprinting());
+ return StaticPrefs::dom_enable_performance_navigation_timing();
}
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceTiming.cpp.rej:
--- dom/performance/PerformanceTiming.cpp
+++ dom/performance/PerformanceTiming.cpp
@@ -110,12 +110,11 @@
mTimingAllowed(true),
mInitialized(false) {
mInitialized = !!aChannel;
mZeroTime = aZeroTime;
- if (!StaticPrefs::dom_enable_performance() ||
- nsContentUtils::ShouldResistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance()) {
mZeroTime = 0;
}
nsCOMPtr<nsIURI> uri;
if (aHttpChannel) {
@@ -336,24 +335,22 @@
// header with the domain of the page that started the load.
return aChannel->TimingAllowCheck(principal);
}
uint8_t PerformanceTimingData::GetRedirectCount() const {
- if (!StaticPrefs::dom_enable_performance() || !IsInitialized() ||
- nsContentUtils::ShouldResistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return 0;
}
if (!mAllRedirectsSameOrigin) {
return 0;
}
return mRedirectCount;
}
bool PerformanceTimingData::ShouldReportCrossOriginRedirect(
bool aEnsureSameOriginAndIgnoreTAO) const {
- if (!StaticPrefs::dom_enable_performance() || !IsInitialized() ||
- nsContentUtils::ShouldResistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return false;
}
if (!mTimingAllowed || mRedirectCount == 0) {
return false;
--- dom/performance/PerformanceTiming.cpp
+++ dom/performance/PerformanceTiming.cpp
@@ -466,11 +466,11 @@
if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return mZeroTime;
}
// Bug 1637985 - DomainLookup information may be useful for fingerprinting.
- if (nsContentUtils::ShouldResistFingerprinting()) {
+ if (aPerformance->ShouldResistFingerprinting()) {
return FetchStartHighRes(aPerformance);
}
return TimeStampToReducedDOMHighResOrFetchStart(aPerformance,
mDomainLookupStart);
}
@@ -486,11 +486,11 @@
if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return mZeroTime;
}
// Bug 1637985 - DomainLookup information may be useful for fingerprinting.
- if (nsContentUtils::ShouldResistFingerprinting()) {
+ if (aPerformance->ShouldResistFingerprinting()) {
return FetchStartHighRes(aPerformance);
}
// Bug 1155008 - nsHttpTransaction is racy. Return DomainLookupStart when null
if (mDomainLookupEnd.IsNull()) {
return DomainLookupStartHighRes(aPerformance);
---[snip]----------
---[snip]---------- --> dom/performance/Performance.h.rej:
--- dom/performance/Performance.h
+++ dom/performance/Performance.h
@@ -120,10 +120,15 @@
virtual TimeStamp CreationTimeStamp() const = 0;
RTPCallerType GetRTPCallerType() const { return mRTPCallerType; }
+ bool CrossOriginIsolated() const { return mCrossOriginIsolated; }
+ bool ShouldResistFingerprinting() const {
+ return mShouldResistFingerprinting;
+ }
+
DOMHighResTimeStamp TimeStampToDOMHighResForRendering(TimeStamp) const;
virtual uint64_t GetRandomTimelineSeed() = 0;
void MemoryPressure();
@@ -145,12 +150,10 @@
virtual void QueueNavigationTimingEntry() = 0;
virtual void UpdateNavigationTimingEntry() = 0;
- virtual bool CrossOriginIsolated() const = 0;
-
virtual void DispatchPendingEventTimingEntries() = 0;
void QueueNotificationObserversTask();
bool IsPerformanceTimingAttribute(const nsAString& aName) const;
@@ -203,11 +206,13 @@
bool mPendingResourceTimingBufferFullEvent;
RefPtr<PerformanceService> mPerformanceService;
- enum RTPCallerType mRTPCallerType;
+ const RTPCallerType mRTPCallerType;
+ const bool mCrossOriginIsolated;
+ const bool mShouldResistFingerprinting;
private:
MOZ_ALWAYS_INLINE bool CanAddResourceTimingEntry();
void BufferEvent();
---[snip]----------
---[snip]---------- --> dom/performance/Performance.cpp.rej:
--- dom/performance/Performance.cpp
+++ dom/performance/Performance.cpp
@@ -163,29 +163,17 @@
JS::Handle<JSObject*> aGivenProto) {
return Performance_Binding::Wrap(aCx, this, aGivenProto);
}
void Performance::GetEntries(nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
aRetval = mResourceEntries.Clone();
aRetval.AppendElements(mUserEntries);
aRetval.Sort(PerformanceEntryComparator());
}
void Performance::GetEntriesByType(
const nsAString& aEntryType, nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
if (aEntryType.EqualsLiteral("resource")) {
aRetval = mResourceEntries.Clone();
return;
}
@@ -204,15 +192,10 @@
void Performance::GetEntriesByName(
const nsAString& aName, const Optional<nsAString>& aEntryType,
nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
aRetval.Clear();
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- return;
- }
-
RefPtr<nsAtom> name = NS_Atomize(aName);
RefPtr<nsAtom> entryType =
aEntryType.WasPassed() ? NS_Atomize(aEntryType.Value()) : nullptr;
if (entryType) {
@@ -365,21 +348,11 @@
PerformanceMark::Constructor(global, aName, aMarkOptions, aRv);
if (aRv.Failed()) {
return nullptr;
}
- // To avoid fingerprinting in User Timing L2, we didn't add marks to the
- // buffer so the user could not get timing data (which can be used to
- // fingerprint) from the API. This may no longer be necessary (since
- // performance.now() has reduced precision to protect against fingerprinting
- // and performance.mark's primary fingerprinting issue is probably this timing
- // data) but we need to do a more thorough reanalysis before we remove the
- // fingerprinting protection. For now, we preserve the User Timing L2 behavior
- // while supporting User Timing L3.
- if (!nsContentUtils::ShouldResistFingerprinting()) {
- InsertUserEntry(performanceMark);
- }
+ InsertUserEntry(performanceMark);
if (profiler_thread_is_being_profiled_for_markers()) {
Maybe<uint64_t> innerWindowId;
if (GetOwner()) {
innerWindowId = Some(GetOwner()->WindowID());
@@ -595,23 +568,10 @@
if (!GetParentObject()) {
aRv.ThrowInvalidStateError("Global object is unavailable");
return nullptr;
}
- // When resisting fingerprinting, we don't add marks to the buffer. Since
- // measure relies on relationships between marks in the buffer, this method
- // will throw if we look for user-entered marks so we return a dummy measure
- // instead of continuing. We could instead return real values for performance
- // timing attributes and dummy values for user-entered marks but this adds
- // complexity that doesn't seem worth the effort because these fingerprinting
- // protections may not longer be necessary (since performance.now() already
- // has reduced precision).
- if (nsContentUtils::ShouldResistFingerprinting()) {
- return do_AddRef(new PerformanceMeasure(GetParentObject(), aName, 0, 0,
- JS::NullHandleValue));
- }
-
// Maybe is more readable than using the union type directly.
Maybe<const PerformanceMeasureOptions&> options;
if (aStartOrMeasureOptions.IsPerformanceMeasureOptions()) {
options.emplace(aStartOrMeasureOptions.GetAsPerformanceMeasureOptions());
}
@@ -811,10 +811,6 @@ MOZ_ALWAYS_INLINE bool Performance::CanAddResourceTimingEntry() {
void Performance::InsertResourceEntry(PerformanceEntry* aEntry) {
MOZ_ASSERT(aEntry);
- if (nsContentUtils::ShouldResistFingerprinting()) {
- return;
- }
-
/*
* Let new entry be the input PerformanceEntry to be added.
*
--- dom/performance/Performance.cpp
+++ dom/performance/Performance.cpp
@@ -96,24 +96,13 @@
Performance::Performance(nsIGlobalObject* aGlobal)
: DOMEventTargetHelper(aGlobal),
mResourceTimingBufferSize(kDefaultResourceTimingBufferSize),
mPendingNotificationObserversTask(false),
mPendingResourceTimingBufferFullEvent(false),
- mRTPCallerType(
- RTPCallerType::Normal /* to be updated in CreateForFoo */) {
- MOZ_ASSERT(!NS_IsMainThread());
-}
-
-Performance::Performance(nsPIDOMWindowInner* aWindow)
- : DOMEventTargetHelper(aWindow),
- mResourceTimingBufferSize(kDefaultResourceTimingBufferSize),
- mPendingNotificationObserversTask(false),
- mPendingResourceTimingBufferFullEvent(false),
- mRTPCallerType(
- RTPCallerType::Normal /* to be updated in CreateForFoo */) {
- MOZ_ASSERT(NS_IsMainThread());
-}
+ mRTPCallerType(aGlobal->GetRTPCallerType()),
+ mCrossOriginIsolated(aGlobal->CrossOriginIsolated()),
+ mShouldResistFingerprinting(aGlobal->ShouldResistFingerprinting()) {}
Performance::~Performance() = default;
DOMHighResTimeStamp Performance::TimeStampToDOMHighResForRendering(
TimeStamp aTimeStamp) const {
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceMainThread.h.rej:
--- dom/performance/PerformanceMainThread.h
+++ dom/performance/PerformanceMainThread.h
@@ -86,12 +86,10 @@
nsTArray<RefPtr<PerformanceEntry>>& aRetval) override;
void UpdateNavigationTimingEntry() override;
void QueueNavigationTimingEntry() override;
- bool CrossOriginIsolated() const override;
-
size_t SizeOfEventEntries(mozilla::MallocSizeOf aMallocSizeOf) const override;
static constexpr uint32_t kDefaultEventTimingBufferSize = 150;
static constexpr uint32_t kDefaultEventTimingDurationThreshold = 104;
static constexpr double kDefaultEventTimingMinDuration = 16.0;
@@ -118,12 +116,10 @@
RefPtr<PerformanceTiming> mTiming;
RefPtr<PerformanceNavigation> mNavigation;
RefPtr<PerformancePaintTiming> mFCPTiming;
JS::Heap<JSObject*> mMozMemory;
- const bool mCrossOriginIsolated;
-
nsTArray<RefPtr<PerformanceEventTiming>> mEventTimingEntries;
AutoCleanLinkedList<RefPtr<PerformanceEventTiming>>
mPendingEventTimingEntries;
bool mHasDispatchedInputEvent = false;
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceMainThread.cpp.rej:
--- dom/performance/PerformanceMainThread.cpp
+++ dom/performance/PerformanceMainThread.cpp
@@ -409,12 +409,11 @@
}
void PerformanceMainThread::CreateNavigationTimingEntry() {
MOZ_ASSERT(!mDocEntry, "mDocEntry should be null.");
- if (!StaticPrefs::dom_enable_performance_navigation_timing() ||
- StaticPrefs::privacy_resistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance_navigation_timing()) {
return;
}
nsAutoString name;
GetURLSpecFromChannel(mChannel, name);
@@ -461,16 +460,10 @@
return mEventCounts;
}
void PerformanceMainThread::GetEntries(
nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
aRetval = mResourceEntries.Clone();
aRetval.AppendElements(mUserEntries);
if (mDocEntry) {
aRetval.AppendElement(mDocEntry);
@@ -482,16 +475,10 @@
aRetval.Sort(PerformanceEntryComparator());
}
void PerformanceMainThread::GetEntriesByType(
const nsAString& aEntryType, nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
RefPtr<nsAtom> type = NS_Atomize(aEntryType);
if (type == nsGkAtoms::navigation) {
aRetval.Clear();
if (mDocEntry) {
@@ -524,16 +511,10 @@
}
void PerformanceMainThread::GetEntriesByName(
const nsAString& aName, const Optional<nsAString>& aEntryType,
nsTArray<RefPtr<PerformanceEntry>>& aRetval) {
- // We return an empty list when 'privacy.resistFingerprinting' is on.
- if (nsContentUtils::ShouldResistFingerprinting()) {
- aRetval.Clear();
- return;
- }
-
Performance::GetEntriesByName(aName, aEntryType, aRetval);
if (mFCPTiming && mFCPTiming->GetName()->Equals(aName) &&
(!aEntryType.WasPassed() ||
mFCPTiming->GetEntryType()->Equals(aEntryType.Value()))) {
--- dom/performance/PerformanceMainThread.cpp
+++ dom/performance/PerformanceMainThread.cpp
@@ -89,16 +89,14 @@
NS_INTERFACE_MAP_END_INHERITING(Performance)
PerformanceMainThread::PerformanceMainThread(nsPIDOMWindowInner* aWindow,
nsDOMNavigationTiming* aDOMTiming,
nsITimedChannel* aChannel)
- : Performance(aWindow),
+ : Performance(aWindow->AsGlobal()),
mDOMTiming(aDOMTiming),
- mChannel(aChannel),
- mCrossOriginIsolated(aWindow->AsGlobal()->CrossOriginIsolated()) {
+ mChannel(aChannel) {
MOZ_ASSERT(aWindow, "Parent window object should be provided");
- mRTPCallerType = aWindow->AsGlobal()->GetRTPCallerType();
if (StaticPrefs::dom_enable_event_timing()) {
mEventCounts = new class EventCounts(GetParentObject());
}
CreateNavigationTimingEntry();
}
@@ -449,14 +447,10 @@
UpdateNavigationTimingEntry();
QueueEntry(mDocEntry);
}
-bool PerformanceMainThread::CrossOriginIsolated() const {
- return mCrossOriginIsolated;
-}
-
EventCounts* PerformanceMainThread::EventCounts() {
MOZ_ASSERT(StaticPrefs::dom_enable_event_timing());
return mEventCounts;
}
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceTiming.cpp.rej:
--- dom/performance/PerformanceTiming.cpp
+++ dom/performance/PerformanceTiming.cpp
@@ -110,12 +110,11 @@
mTimingAllowed(true),
mInitialized(false) {
mInitialized = !!aChannel;
mZeroTime = aZeroTime;
- if (!StaticPrefs::dom_enable_performance() ||
- nsContentUtils::ShouldResistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance()) {
mZeroTime = 0;
}
nsCOMPtr<nsIURI> uri;
if (aHttpChannel) {
@@ -336,24 +335,22 @@
// header with the domain of the page that started the load.
return aChannel->TimingAllowCheck(principal);
}
uint8_t PerformanceTimingData::GetRedirectCount() const {
- if (!StaticPrefs::dom_enable_performance() || !IsInitialized() ||
- nsContentUtils::ShouldResistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return 0;
}
if (!mAllRedirectsSameOrigin) {
return 0;
}
return mRedirectCount;
}
bool PerformanceTimingData::ShouldReportCrossOriginRedirect(
bool aEnsureSameOriginAndIgnoreTAO) const {
- if (!StaticPrefs::dom_enable_performance() || !IsInitialized() ||
- nsContentUtils::ShouldResistFingerprinting()) {
+ if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return false;
}
if (!mTimingAllowed || mRedirectCount == 0) {
return false;
--- dom/performance/PerformanceTiming.cpp
+++ dom/performance/PerformanceTiming.cpp
@@ -466,11 +466,11 @@
if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return mZeroTime;
}
// Bug 1637985 - DomainLookup information may be useful for fingerprinting.
- if (nsContentUtils::ShouldResistFingerprinting()) {
+ if (aPerformance->ShouldResistFingerprinting()) {
return FetchStartHighRes(aPerformance);
}
return TimeStampToReducedDOMHighResOrFetchStart(aPerformance,
mDomainLookupStart);
}
@@ -486,11 +486,11 @@
if (!StaticPrefs::dom_enable_performance() || !IsInitialized()) {
return mZeroTime;
}
// Bug 1637985 - DomainLookup information may be useful for fingerprinting.
- if (nsContentUtils::ShouldResistFingerprinting()) {
+ if (aPerformance->ShouldResistFingerprinting()) {
return FetchStartHighRes(aPerformance);
}
// Bug 1155008 - nsHttpTransaction is racy. Return DomainLookupStart when null
if (mDomainLookupEnd.IsNull()) {
return DomainLookupStartHighRes(aPerformance);
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceWorker.h.rej:
--- dom/performance/PerformanceWorker.h
+++ dom/performance/PerformanceWorker.h
@@ -78,12 +78,10 @@
class EventCounts* EventCounts() override {
MOZ_CRASH("This should not be called on workers");
}
- bool CrossOriginIsolated() const override;
-
void NoteShuttingDown();
protected:
~PerformanceWorker();
---[snip]----------
---[snip]---------- --> dom/performance/PerformanceWorker.cpp.rej:
--- dom/performance/PerformanceWorker.cpp
+++ dom/performance/PerformanceWorker.cpp
@@ -12,11 +12,10 @@
PerformanceWorker::PerformanceWorker(WorkerPrivate* aWorkerPrivate)
: Performance(aWorkerPrivate->GlobalScope()),
mWorkerPrivate(aWorkerPrivate) {
mWorkerPrivate->AssertIsOnWorkerThread();
- mRTPCallerType = aWorkerPrivate->GlobalScope()->GetRTPCallerType();
}
PerformanceWorker::~PerformanceWorker() {
if (mWorkerPrivate) {
mWorkerPrivate->AssertIsOnWorkerThread();
@@ -58,16 +57,8 @@
return mWorkerPrivate->GetRandomTimelineSeed();
}
return 0;
}
-bool PerformanceWorker::CrossOriginIsolated() const {
- MOZ_DIAGNOSTIC_ASSERT(mWorkerPrivate);
- if (mWorkerPrivate) {
- return mWorkerPrivate->CrossOriginIsolated();
- }
- return false;
-}
-
void PerformanceWorker::NoteShuttingDown() { mWorkerPrivate = nullptr; }
} // namespace mozilla::dom
---[snip]----------
==> patches/sed-patches/allow-searchengines-non-esr.patch:
patching file browser/components/enterprisepolicies/schemas/policies-schema.json
Hunk #1 succeeded at 1178 (offset 104 lines).
==> patches/sed-patches/disable-pocket.patch:
patching file browser/base/content/browser.js
Hunk #1 succeeded at 5479 with fuzz 1 (offset 1 line).
patching file browser/components/BrowserGlue.sys.mjs
Hunk #1 succeeded at 1300 (offset 26 lines).
patching file browser/components/moz.build
Hunk #1 succeeded at 45 (offset 1 line).
==> patches/sed-patches/stop-undesired-requests.patch:
patching file browser/components/newtab/data/content/activity-stream.bundle.js
Hunk #1 succeeded at 1748 (offset 172 lines).
patching file services/settings/Utils.jsm
Hunk #1 succeeded at 59 (offset -3 lines).
patching file toolkit/components/search/SearchUtils.sys.mjs
Hunk #1 succeeded at 150 (offset -7 lines).
==> patches/ui-patches/firefox-view.patch:
patching file browser/base/content/navigator-toolbox.inc.xhtml
Hunk #2 succeeded at 697 (offset 3 lines).
patching file browser/components/customizableui/CustomizableUI.jsm
Hunk #1 succeeded at 289 (offset -9 lines).
Hunk #2 FAILED at 626.
1 out of 2 hunks FAILED -- saving rejects to file browser/components/customizableui/CustomizableUI.jsm.rej
patching file browser/components/firefoxview/firefoxview.html
Hunk #1 succeeded at 34 (offset -1 lines).
patching file browser/components/firefoxview/firefoxview.mjs
Hunk #1 succeeded at 41 with fuzz 1 (offset 13 lines).
patching file browser/components/newtab/lib/OnboardingMessageProvider.jsm
Hunk #1 succeeded at 92 (offset 11 lines).
---[snip]---------- --> browser/components/customizableui/CustomizableUI.jsm.rej:
--- browser/components/customizableui/CustomizableUI.jsm
+++ browser/components/customizableui/CustomizableUI.jsm
@@ -626,18 +625,6 @@ var CustomizableUIInternal = {
navbarPlacements.splice(newPosition, 0, "save-to-pocket-button");
}
}
-
- // Add firefox-view if not present
- if (currentVersion < 18) {
- let tabstripPlacements =
- gSavedState.placements[CustomizableUI.AREA_TABSTRIP];
- if (
- tabstripPlacements &&
- !tabstripPlacements.includes("firefox-view-button")
- ) {
- tabstripPlacements.unshift("firefox-view-button");
- }
- }
},
_updateForNewProtonVersion() {
---[snip]----------
==> patches/ui-patches/handlers.patch:
patching file uriloader/exthandler/HandlerList.sys.mjs
Hunk #1 succeeded at 9 (offset -4 lines).
==> patches/ui-patches/hide-default-browser.patch:
patching file browser/components/preferences/main.inc.xhtml
==> patches/ui-patches/lw-logo-devtools.patch:
patching file devtools/client/aboutdebugging/src/actions/runtimes.js
patching file devtools/client/jar.mn
Hunk #1 succeeded at 368 (offset -6 lines).
patching file devtools/client/themes/images/aboutdebugging-firefox-librewolf.svg
patching file devtools/client/themes/images/aboutdebugging-firefox-logo.svg
==> patches/ui-patches/pref-naming.patch:
patching file browser/locales/en-US/browser/preferences/preferences.ftl
Hunk #2 FAILED at 471.
Hunk #3 succeeded at 641 (offset 5 lines).
Hunk #4 succeeded at 670 (offset 5 lines).
Hunk #5 succeeded at 716 with fuzz 2 (offset 5 lines).
1 out of 5 hunks FAILED -- saving rejects to file browser/locales/en-US/browser/preferences/preferences.ftl.rej
---[snip]---------- --> browser/locales/en-US/browser/preferences/preferences.ftl.rej:
--- browser/locales/en-US/browser/preferences/preferences.ftl
+++ browser/locales/en-US/browser/preferences/preferences.ftl
@@ -471,13 +473,13 @@ play-drm-content =
.label = Play DRM-controlled content
.accesskey = P
-play-drm-content-learn-more = Learn more
+play-drm-content-learn-more = Why we disable it
update-application-title = { -brand-short-name } Updates
update-application-description = Keep { -brand-short-name } up to date for the best performance, stability, and security.
-update-application-version = Version { $version } <a data-l10n-name="learn-more">Whats new</a>
+update-application-version = Version { $version } <a data-l10n-name="learn-more">Visit the repositories</a>
update-history =
.label = Show Update History…
---[snip]----------
==> patches/ui-patches/privacy-preferences.patch:
patching file browser/components/preferences/privacy.inc.xhtml
Hunk #1 succeeded at 53 (offset -1 lines).
Hunk #2 succeeded at 561 (offset 26 lines).
Hunk #3 succeeded at 608 (offset 23 lines).
Hunk #4 FAILED at 1016.
1 out of 4 hunks FAILED -- saving rejects to file browser/components/preferences/privacy.inc.xhtml.rej
patching file browser/locales/en-US/browser/preferences/preferences.ftl
Hunk #1 succeeded at 1192 (offset 85 lines).
---[snip]---------- --> browser/components/preferences/privacy.inc.xhtml.rej:
--- browser/components/preferences/privacy.inc.xhtml
+++ browser/components/preferences/privacy.inc.xhtml
@@ -1016,15 +1017,15 @@
<!-- addons, forgery (phishing) UI Security -->
<groupbox id="browsingProtectionGroup" data-category="panePrivacy" hidden="true">
- <label><html:h2 data-l10n-id="security-browsing-protection"/></label>
- <hbox align = "center">
+ <label><html:h2 data-l10n-id="security-browsing-protection" hidden="true"/></label>
+ <hbox align = "center" hidden="true">
<checkbox id="enableSafeBrowsing"
data-l10n-id="security-enable-safe-browsing"
class="tail-with-learn-more"/>
<label id="enableSafeBrowsingLearnMore"
class="learnMore" is="text-link" data-l10n-id="security-enable-safe-browsing-link"/>
</hbox>
- <vbox class="indent">
+ <vbox class="indent" hidden="true">
<checkbox id="blockDownloads"
data-l10n-id="security-block-downloads"/>
<checkbox id="blockUncommonUnwanted"
---[snip]----------
==> patches/ui-patches/remap-links.patch:
patching file browser/components/preferences/main.js
Hunk #1 FAILED at 308.
Hunk #2 FAILED at 326.
Hunk #3 FAILED at 357.
Hunk #4 FAILED at 512.
Hunk #5 FAILED at 546.
Hunk #6 FAILED at 874.
6 out of 6 hunks FAILED -- saving rejects to file browser/components/preferences/main.js.rej
patching file browser/components/preferences/privacy.js
Hunk #1 FAILED at 277.
Hunk #2 FAILED at 484.
Hunk #3 FAILED at 649.
Hunk #4 FAILED at 755.
Hunk #5 FAILED at 930.
Hunk #6 FAILED at 2402.
Hunk #7 FAILED at 2637.
7 out of 7 hunks FAILED -- saving rejects to file browser/components/preferences/privacy.js.rej
patching file toolkit/mozapps/extensions/content/aboutaddons.js
Hunk #1 FAILED at 1551.
1 out of 1 hunk FAILED -- saving rejects to file toolkit/mozapps/extensions/content/aboutaddons.js.rej
---[snip]---------- --> browser/components/preferences/main.js.rej:
--- browser/components/preferences/main.js
+++ browser/components/preferences/main.js
@@ -308,12 +308,19 @@ var gMainPane = {
"performanceSettingsLearnMore"
);
let performanceSettingsUrl =
- Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "performance";
+ "https://support.mozilla.org/en-US/kb/performance-settings";
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref();
+ let sessionRestoreLink = document.getElementById(
+ "sessionRestoreLearnMore"
+ );
+ let sessionRestoreUrl =
+ Services.urlFormatter.formatURLPref("app.support.baseURL") +
+ "why-is-session-restore-not-working";
+ sessionRestoreLink.setAttribute("href", sessionRestoreUrl);
+
let defaultPerformancePref = Preferences.get(
"browser.preferences.defaultPerformanceSettings.enabled"
);
@@ -326,8 +333,7 @@ var gMainPane = {
"connectionSettingsLearnMore"
);
let connectionSettingsUrl =
- Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "prefs-connection-settings";
+ "https://support.mozilla.org/en-US/kb/connection-settings-firefox"
connectionSettingsLink.setAttribute("href", connectionSettingsUrl);
this.updateProxySettingsUI();
initializeProxyUI(gMainPane);
@@ -357,8 +363,7 @@ var gMainPane = {
document.getElementById("pictureInPictureBox").hidden = false;
let pipLearnMoreUrl =
- Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "picture-in-picture";
+ "https://support.mozilla.org/en-US/kb/turn-picture-picture-mode";
let link = document.getElementById("pictureInPictureLearnMore");
link.setAttribute("href", pipLearnMoreUrl);
}
@@ -512,8 +517,7 @@ var gMainPane = {
) {
document.getElementById("mediaControlBox").hidden = false;
let mediaControlLearnMoreUrl =
- Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "media-keyboard-control";
+ "https://support.mozilla.org/en-US/kb/control-audio-or-video-playback-your-keyboard";
let link = document.getElementById("mediaControlLearnMore");
link.setAttribute("href", mediaControlLearnMoreUrl);
}
@@ -546,7 +550,7 @@ var gMainPane = {
let drmInfoURL =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "drm-content";
+ "how-do-i-enable-drm";
document
.getElementById("playDRMContentLink")
.setAttribute("href", drmInfoURL);
@@ -874,7 +878,8 @@ var gMainPane = {
const link = document.getElementById("browserContainersLearnMore");
link.href =
- Services.urlFormatter.formatURLPref("app.support.baseURL") + "containers";
+ Services.urlFormatter.formatURLPref("app.support.baseURL") +
+ "why-isnt-first-party-isolate-enabled-by-default";
document.getElementById("browserContainersbox").hidden = false;
this.readBrowserContainersCheckbox();
---[snip]----------
---[snip]---------- --> browser/components/preferences/privacy.js.rej:
--- browser/components/preferences/privacy.js
+++ browser/components/preferences/privacy.js
@@ -277,7 +277,7 @@ function setUpContentBlockingWarnings() {
let links = document.querySelectorAll(".contentBlockWarningLink");
let contentBlockingWarningUrl =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "turn-off-etp-desktop";
+ "what-is-enhanced-tracking-protection";
for (let link of links) {
link.setAttribute("href", contentBlockingWarningUrl);
}
@@ -484,7 +484,7 @@ var gPrivacyPane = {
let link = document.getElementById("httpsOnlyLearnMore");
let httpsOnlyURL =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "https-only-prefs";
+ "does-librewolf-use-https-only-mode";
link.setAttribute("href", httpsOnlyURL);
// Set radio-value based on the pref value
@@ -649,7 +649,7 @@ var gPrivacyPane = {
);
const breachAlertsLearnMoreUrl =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "lockwise-alerts";
+ "why-is-the-built-in-password-manager-disabled";
breachAlertsLearnMoreLink.setAttribute("href", breachAlertsLearnMoreUrl);
this._initSafeBrowsing();
@@ -755,13 +755,14 @@ var gPrivacyPane = {
);
let url =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "storage-permissions";
+ "how-do-i-stay-logged-into-specific-websites";
document.getElementById("siteDataLearnMoreLink").setAttribute("href", url);
this.initCookieBannerHandling();
let notificationInfoURL =
- Services.urlFormatter.formatURLPref("app.support.baseURL") + "push";
+ Services.urlFormatter.formatURLPref("app.support.baseURL") +
+ "how-do-i-enable-push-notifications";
document
.getElementById("notificationPermissionsLearnMore")
.setAttribute("href", notificationInfoURL);
@@ -930,7 +931,7 @@ var gPrivacyPane = {
let link = document.getElementById("contentBlockingLearnMore");
let contentBlockingUrl =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "enhanced-tracking-protection";
+ "what-is-mozilla-tracking-protection";
link.setAttribute("href", contentBlockingUrl);
// Toggles the text "Cross-site and social media trackers" based on the
@@ -2402,7 +2403,7 @@ var gPrivacyPane = {
let learnMoreLink = document.getElementById("primaryPasswordLearnMoreLink");
let learnMoreURL =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "primary-password-stored-logins";
+ "why-is-the-built-in-password-manager-disabled";
learnMoreLink.setAttribute("href", learnMoreURL);
},
@@ -2637,7 +2638,7 @@ var gPrivacyPane = {
let learnMoreLink = document.getElementById("enableSafeBrowsingLearnMore");
let phishingUrl =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
- "phishing-malware";
+ "why-do-you-disable-google-safe-browsing";
learnMoreLink.setAttribute("href", phishingUrl);
enableSafeBrowsing.addEventListener("command", function() {
---[snip]----------
---[snip]---------- --> toolkit/mozapps/extensions/content/aboutaddons.js.rej:
--- toolkit/mozapps/extensions/content/aboutaddons.js
+++ toolkit/mozapps/extensions/content/aboutaddons.js
@@ -1551,7 +1551,7 @@ class SidebarFooter extends HTMLElement {
icon: "chrome://global/skin/icons/help.svg",
createLinkElement: () => {
let link = document.createElement("a", { is: "support-link" });
- link.setAttribute("support-page", "addons-help");
+ link.setAttribute("support-page", "do-you-recommend-using-any-extensions");
link.id = "help-button";
return link;
},
---[snip]----------
==> patches/ui-patches/remove-branding-urlbar.patch:
patching file browser/locales/en-US/browser/browser.ftl
Hunk #1 succeeded at 643 (offset 100 lines).
==> patches/ui-patches/remove-cfrprefs.patch:
patching file browser/components/preferences/main.inc.xhtml
Hunk #1 FAILED at 665.
1 out of 1 hunk FAILED -- saving rejects to file browser/components/preferences/main.inc.xhtml.rej
---[snip]---------- --> browser/components/preferences/main.inc.xhtml.rej:
--- browser/components/preferences/main.inc.xhtml
+++ browser/components/preferences/main.inc.xhtml
@@ -665,14 +665,14 @@
preference="media.hardwaremediakeys.enabled"/>
<label id="mediaControlLearnMore" class="learnMore" data-l10n-id="browsing-media-control-learn-more" is="text-link"/>
</hbox>
- <hbox align="center" data-subcategory="cfraddons">
+ <hbox align="center" data-subcategory="cfraddons" hidden="true">
<checkbox id="cfrRecommendations"
class="tail-with-learn-more"
data-l10n-id="browsing-cfr-recommendations"
preference="browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"/>
<label id="cfrLearnMore" class="learnMore" data-l10n-id="browsing-cfr-recommendations-learn-more" is="text-link"/>
</hbox>
- <hbox align="center" data-subcategory="cfrfeatures">
+ <hbox align="center" data-subcategory="cfrfeatures" hidden="true">
<checkbox id="cfrRecommendations-features"
class="tail-with-learn-more"
data-l10n-id="browsing-cfr-features"
---[snip]----------
==> patches/ui-patches/remove-organization-policy-banner.patch:
patching file browser/components/preferences/preferences.js
Hunk #1 succeeded at 245 (offset 11 lines).
==> patches/ui-patches/remove-snippets-from-home.patch:
patching file browser/components/newtab/lib/AboutPreferences.jsm
Hunk #1 succeeded at 55 (offset -1 lines).
==> patches/ui-patches/website-appearance-ui-rfp.patch:
patching file browser/components/preferences/main.js
Hunk #1 succeeded at 3705 (offset -8 lines).
Hunk #2 succeeded at 3725 (offset -8 lines).
Hunk #3 succeeded at 3765 (offset -8 lines).
==> patches/unified-extensions-dont-show-recommendations.patch:
patching file browser/base/content/browser-addons.js
==> patches/urlbarprovider-interventions.patch:
patching file browser/components/urlbar/UrlbarProviderInterventions.sys.mjs
Hunk #1 succeeded at 458 (offset 4 lines).
Removing 'tmpdir92'...
[patches/librewolf-pref-pane.patch] [patches/mozilla_dirs.patch] [patches/rfp-performance-api.patch] [patches/ui-patches/firefox-view.patch] [patches/ui-patches/pref-naming.patch] [patches/ui-patches/privacy-preferences.patch] [patches/ui-patches/remap-links.patch] [patches/ui-patches/remove-cfrprefs.patch]
error: Some patches failed!