mirror of
https://codeberg.org/librewolf/source.git
synced 2025-01-03 03:10:07 -05:00
1362 lines
51 KiB
Text
1362 lines
51 KiB
Text
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">What’s 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!
|