diff --git a/patchfail b/patchfail deleted file mode 100644 index 66d33c4..0000000 --- a/patchfail +++ /dev/null @@ -1,1362 +0,0 @@ -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 aGivenProto) { - return Performance_Binding::Wrap(aCx, this, aGivenProto); - } - - void Performance::GetEntries(nsTArray>& 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>& 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& aEntryType, - nsTArray>& aRetval) { - aRetval.Clear(); - -- // We return an empty list when 'privacy.resistFingerprinting' is on. -- if (nsContentUtils::ShouldResistFingerprinting()) { -- return; -- } -- - RefPtr name = NS_Atomize(aName); - RefPtr 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 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 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>& 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>& aRetval) { -- // We return an empty list when 'privacy.resistFingerprinting' is on. -- if (nsContentUtils::ShouldResistFingerprinting()) { -- aRetval.Clear(); -- return; -- } -- - RefPtr type = NS_Atomize(aEntryType); - if (type == nsGkAtoms::navigation) { - aRetval.Clear(); - - if (mDocEntry) { -@@ -524,16 +511,10 @@ - } - - void PerformanceMainThread::GetEntriesByName( - const nsAString& aName, const Optional& aEntryType, - nsTArray>& 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 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 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 aGivenProto) { - return Performance_Binding::Wrap(aCx, this, aGivenProto); - } - - void Performance::GetEntries(nsTArray>& 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>& 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& aEntryType, - nsTArray>& aRetval) { - aRetval.Clear(); - -- // We return an empty list when 'privacy.resistFingerprinting' is on. -- if (nsContentUtils::ShouldResistFingerprinting()) { -- return; -- } -- - RefPtr name = NS_Atomize(aName); - RefPtr 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 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 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>& 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 mTiming; - RefPtr mNavigation; - RefPtr mFCPTiming; - JS::Heap mMozMemory; - -- const bool mCrossOriginIsolated; -- - nsTArray> mEventTimingEntries; - - AutoCleanLinkedList> - 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>& 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>& aRetval) { -- // We return an empty list when 'privacy.resistFingerprinting' is on. -- if (nsContentUtils::ShouldResistFingerprinting()) { -- aRetval.Clear(); -- return; -- } -- - RefPtr type = NS_Atomize(aEntryType); - if (type == nsGkAtoms::navigation) { - aRetval.Clear(); - - if (mDocEntry) { -@@ -524,16 +511,10 @@ - } - - void PerformanceMainThread::GetEntriesByName( - const nsAString& aName, const Optional& aEntryType, - nsTArray>& 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 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 } What’s new -+update-application-version = Version { $version } Visit the repositories - - 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 @@ - - -