Updated to Firefox 93.0

This commit is contained in:
Martin Stransky 2021-10-06 09:22:57 +02:00
parent 33af61101f
commit 9a6959ca22
8 changed files with 25 additions and 279 deletions

2
.gitignore vendored
View File

@ -475,3 +475,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-92.0.source.tar.xz
/firefox-92.0.1.source.tar.xz
/firefox-langpacks-92.0.1-20210927.tar.xz
/firefox-93.0.source.tar.xz
/firefox-langpacks-93.0-20210929.tar.xz

View File

@ -15,6 +15,7 @@ ac_add_options --allow-addon-sideload
ac_add_options --with-system-fdk-aac
ac_add_options --enable-js-shell
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --without-sysroot
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1

View File

@ -156,13 +156,13 @@ ExcludeArch: armv7hl
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 92.0.1
Version: 93.0
Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{with langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20210927.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20210929.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source10: firefox-mozconfig
@ -237,8 +237,6 @@ Patch407: mozilla-1667096.patch
Patch408: mozilla-1663844.patch
Patch415: mozilla-1670333.patch
Patch420: mochitest-wayland-workaround.patch
Patch422: mozilla-1728749.patch
Patch423: mozilla-1708709.patch
Patch424: mozilla-1725828.patch
# PGO/LTO patches
@ -480,8 +478,6 @@ This package contains results of tests executed during build.
%patch408 -p1 -b .1663844
%patch415 -p1 -b .1670333
%patch420 -p1 -b .mochitest-wayland-workaround
%patch422 -p1 -b .1728749
%patch423 -p1 -b .1708709
%patch424 -p1 -b .1725828
# PGO patches
@ -583,8 +579,8 @@ echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .
# Remove executable bit to make brp-mangle-shebangs happy.
chmod -x third_party/rust/itertools/src/lib.rs
chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs
chmod a-x third_party/rust/gfx-hal/src/*.rs
#chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs
#chmod a-x third_party/rust/gfx-hal/src/*.rs
chmod a-x third_party/rust/ash/src/extensions/ext/*.rs
chmod a-x third_party/rust/ash/src/extensions/khr/*.rs
chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
@ -1052,6 +1048,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Wed Sep 29 2021 Martin Stransky <stransky@redhat.com> - 93.0-1
- Updated to 93.0
* Mon Sep 27 2021 Martin Stransky <stransky@redhat.com> - 92.0.1-1
- Updated to 92.0.1

View File

@ -1,6 +1,5 @@
diff -up firefox-81.0.1/build/mach_bootstrap.py.old firefox-81.0.1/build/mach_bootstrap.py
--- firefox-81.0.1/build/mach_bootstrap.py.old 2020-10-06 14:16:06.212974910 +0200
+++ firefox-81.0.1/build/mach_bootstrap.py 2020-10-06 14:19:03.313179557 +0200
--- firefox-81.0.1/build/mach_initialize.py.old 2020-10-06 14:16:06.212974910 +0200
+++ firefox-81.0.1/build/mach_initialize.py 2020-10-06 14:19:03.313179557 +0200
@@ -507,7 +507,10 @@ class ImportHook(object):
# doesn't happen or because it doesn't matter).
if not os.path.exists(module.__file__[:-1]):

View File

@ -1,240 +0,0 @@
diff -up firefox-92.0/dom/xul/XULPopupElement.cpp.1708709 firefox-92.0/dom/xul/XULPopupElement.cpp
--- firefox-92.0/dom/xul/XULPopupElement.cpp.1708709 2021-09-01 19:14:41.000000000 +0200
+++ firefox-92.0/dom/xul/XULPopupElement.cpp 2021-09-07 10:33:55.686223973 +0200
@@ -271,8 +271,7 @@ already_AddRefed<DOMRect> XULPopupElemen
// For native menus we can't query the true size. Use the anchor rect
// instead, which at least has the position at which we were intending to
// open the menu.
- screenRect = Some(CSSRect(
- CSSIntRect::FromUnknownRect(menuPopupFrame->GetScreenAnchorRect())));
+ screenRect = Some(CSSRect(menuPopupFrame->GetScreenAnchorRect()));
} else {
// For non-native menus, query the bounds from the widget.
if (nsView* view = menuPopupFrame->GetView()) {
diff -up firefox-92.0/layout/xul/nsMenuPopupFrame.cpp.1708709 firefox-92.0/layout/xul/nsMenuPopupFrame.cpp
--- firefox-92.0/layout/xul/nsMenuPopupFrame.cpp.1708709 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/xul/nsMenuPopupFrame.cpp 2021-09-07 10:33:55.686223973 +0200
@@ -868,8 +868,9 @@ void nsMenuPopupFrame::InitializePopup(n
InitPositionFromAnchorAlign(anchor, align);
}
}
-
- mScreenRect = nsIntRect(-1, -1, 0, 0);
+ // When converted back to CSSIntRect it is (-1, -1, 0, 0) - as expected in
+ // nsXULPopupManager::Rollup
+ mScreenRect = nsRect(-AppUnitsPerCSSPixel(), -AppUnitsPerCSSPixel(), 0, 0);
if (aAttributesOverride) {
// Use |left| and |top| dimension attributes to position the popup if
@@ -881,11 +882,15 @@ void nsMenuPopupFrame::InitializePopup(n
nsresult err;
if (!left.IsEmpty()) {
int32_t x = left.ToInteger(&err);
- if (NS_SUCCEEDED(err)) mScreenRect.x = x;
+ if (NS_SUCCEEDED(err)) {
+ mScreenRect.x = CSSPixel::ToAppUnits(x);
+ }
}
if (!top.IsEmpty()) {
int32_t y = top.ToInteger(&err);
- if (NS_SUCCEEDED(err)) mScreenRect.y = y;
+ if (NS_SUCCEEDED(err)) {
+ mScreenRect.y = CSSPixel::ToAppUnits(y);
+ }
}
}
}
@@ -900,7 +905,8 @@ void nsMenuPopupFrame::InitializePopupAt
mPopupState = ePopupShowing;
mAnchorContent = nullptr;
mTriggerContent = aTriggerContent;
- mScreenRect = nsIntRect(aXPos, aYPos, 0, 0);
+ mScreenRect =
+ nsRect(CSSPixel::ToAppUnits(aXPos), CSSPixel::ToAppUnits(aYPos), 0, 0);
mXPos = 0;
mYPos = 0;
mFlip = FlipType_Default;
@@ -920,7 +926,8 @@ void nsMenuPopupFrame::InitializePopupAs
mTriggerContent = aTriggerContent;
mPopupState = ePopupShowing;
mAnchorContent = nullptr;
- mScreenRect = nsIntRect(aXPos, aYPos, 0, 0);
+ mScreenRect =
+ nsRect(CSSPixel::ToAppUnits(aXPos), CSSPixel::ToAppUnits(aYPos), 0, 0);
mXPos = 0;
mYPos = 0;
mFlip = FlipType_Default;
@@ -941,7 +948,7 @@ void nsMenuPopupFrame::InitializePopupAt
bool aAttributesOverride) {
InitializePopup(nullptr, aTriggerContent, aPosition, 0, 0,
MenuPopupAnchorType_Rect, aAttributesOverride);
- mScreenRect = aRect;
+ mScreenRect = ToAppUnits(aRect, AppUnitsPerCSSPixel());
}
void nsMenuPopupFrame::ShowPopup(bool aIsContextMenu) {
@@ -1430,7 +1437,7 @@ nsresult nsMenuPopupFrame::SetPopupPosit
// If anchored to a rectangle, use that rectangle. Otherwise, determine the
// rectangle from the anchor.
if (mAnchorType == MenuPopupAnchorType_Rect) {
- anchorRect = ToAppUnits(mScreenRect, AppUnitsPerCSSPixel());
+ anchorRect = mScreenRect;
} else {
// if the frame is not specified, use the anchor node passed to OpenPopup.
// If that wasn't specified either, use the root frame. Note that
@@ -1517,7 +1524,7 @@ nsresult nsMenuPopupFrame::SetPopupPosit
// mXPos and mYPos specify an additonal offset passed to OpenPopup that
// should be added to the position. We also add the offset to the anchor
// pos so a later flip/resize takes the offset into account.
- nscoord anchorXOffset = nsPresContext::CSSPixelsToAppUnits(mXPos);
+ nscoord anchorXOffset = CSSPixel::ToAppUnits(mXPos);
if (IsDirectionRTL()) {
screenPoint.x -= anchorXOffset;
anchorRect.x -= anchorXOffset;
@@ -1525,7 +1532,7 @@ nsresult nsMenuPopupFrame::SetPopupPosit
screenPoint.x += anchorXOffset;
anchorRect.x += anchorXOffset;
}
- nscoord anchorYOffset = nsPresContext::CSSPixelsToAppUnits(mYPos);
+ nscoord anchorYOffset = CSSPixel::ToAppUnits(mYPos);
screenPoint.y += anchorYOffset;
anchorRect.y += anchorYOffset;
@@ -1539,10 +1546,8 @@ nsresult nsMenuPopupFrame::SetPopupPosit
// Account for the margin that will end up being added to the screen
// coordinate the next time SetPopupPosition is called.
mAnchorType = MenuPopupAnchorType_Point;
- mScreenRect.x =
- nsPresContext::AppUnitsToIntCSSPixels(screenPoint.x - margin.left);
- mScreenRect.y =
- nsPresContext::AppUnitsToIntCSSPixels(screenPoint.y - margin.top);
+ mScreenRect.x = screenPoint.x - margin.left;
+ mScreenRect.y = screenPoint.y - margin.top;
}
} else {
// The popup is positioned at a screen coordinate.
@@ -1557,11 +1562,11 @@ nsresult nsMenuPopupFrame::SetPopupPosit
if (mAdjustOffsetForContextMenu) {
nsPoint offsetForContextMenuDev;
offsetForContextMenuDev.x =
- nsPresContext::CSSPixelsToAppUnits(LookAndFeel::GetInt(
+ CSSPixel::ToAppUnits(LookAndFeel::GetInt(
LookAndFeel::IntID::ContextMenuOffsetHorizontal)) /
factor;
offsetForContextMenuDev.y =
- nsPresContext::CSSPixelsToAppUnits(LookAndFeel::GetInt(
+ CSSPixel::ToAppUnits(LookAndFeel::GetInt(
LookAndFeel::IntID::ContextMenuOffsetVertical)) /
factor;
offsetForContextMenu.x =
@@ -1571,10 +1576,8 @@ nsresult nsMenuPopupFrame::SetPopupPosit
}
// next, convert into app units accounting for the zoom
- screenPoint.x = presContext->DevPixelsToAppUnits(
- nsPresContext::CSSPixelsToAppUnits(mScreenRect.x) / factor);
- screenPoint.y = presContext->DevPixelsToAppUnits(
- nsPresContext::CSSPixelsToAppUnits(mScreenRect.y) / factor);
+ screenPoint.x = presContext->DevPixelsToAppUnits(mScreenRect.x / factor);
+ screenPoint.y = presContext->DevPixelsToAppUnits(mScreenRect.y / factor);
anchorRect = nsRect(screenPoint, nsSize(0, 0));
// add the margins on the popup
@@ -2377,9 +2380,10 @@ void nsMenuPopupFrame::DestroyFrom(nsIFr
nsBoxFrame::DestroyFrom(aDestructRoot, aPostDestroyData);
}
-void nsMenuPopupFrame::MoveTo(const CSSIntPoint& aPos, bool aUpdateAttrs) {
+void nsMenuPopupFrame::MoveTo(const CSSPoint& aPos, bool aUpdateAttrs) {
nsIWidget* widget = GetWidget();
- if ((mScreenRect.x == aPos.x && mScreenRect.y == aPos.y) &&
+ nsPoint appUnitsPos = CSSPixel::ToAppUnits(aPos);
+ if ((mScreenRect.x == appUnitsPos.x && mScreenRect.y == appUnitsPos.y) &&
(!widget || widget->GetClientOffset() == mLastClientOffset)) {
return;
}
@@ -2393,15 +2397,15 @@ void nsMenuPopupFrame::MoveTo(const CSSI
// Workaround for bug 788189. See also bug 708278 comment #25 and following.
if (mAdjustOffsetForContextMenu) {
- margin.left += nsPresContext::CSSPixelsToAppUnits(
+ margin.left += CSSPixel::ToAppUnits(
LookAndFeel::GetInt(LookAndFeel::IntID::ContextMenuOffsetHorizontal));
- margin.top += nsPresContext::CSSPixelsToAppUnits(
+ margin.top += CSSPixel::ToAppUnits(
LookAndFeel::GetInt(LookAndFeel::IntID::ContextMenuOffsetVertical));
}
mAnchorType = MenuPopupAnchorType_Point;
- mScreenRect.x = aPos.x - nsPresContext::AppUnitsToIntCSSPixels(margin.left);
- mScreenRect.y = aPos.y - nsPresContext::AppUnitsToIntCSSPixels(margin.top);
+ mScreenRect.x = appUnitsPos.x - margin.left;
+ mScreenRect.y = appUnitsPos.y - margin.top;
SetPopupPosition(nullptr, true, false);
@@ -2409,8 +2413,8 @@ void nsMenuPopupFrame::MoveTo(const CSSI
if (aUpdateAttrs && (popup->HasAttr(kNameSpaceID_None, nsGkAtoms::left) ||
popup->HasAttr(kNameSpaceID_None, nsGkAtoms::top))) {
nsAutoString left, top;
- left.AppendInt(aPos.x);
- top.AppendInt(aPos.y);
+ left.AppendInt(RoundedToInt(aPos).x);
+ top.AppendInt(RoundedToInt(aPos).y);
popup->SetAttr(kNameSpaceID_None, nsGkAtoms::left, left, false);
popup->SetAttr(kNameSpaceID_None, nsGkAtoms::top, top, false);
}
diff -up firefox-92.0/layout/xul/nsMenuPopupFrame.h.1708709 firefox-92.0/layout/xul/nsMenuPopupFrame.h
--- firefox-92.0/layout/xul/nsMenuPopupFrame.h.1708709 2021-09-01 19:15:06.000000000 +0200
+++ firefox-92.0/layout/xul/nsMenuPopupFrame.h 2021-09-07 10:46:10.360036429 +0200
@@ -321,7 +321,7 @@ class nsMenuPopupFrame final : public ns
// If aUpdateAttrs is true, and the popup already has left or top attributes,
// then those attributes are updated to the new location.
// The frame may be destroyed by this method.
- void MoveTo(const mozilla::CSSIntPoint& aPos, bool aUpdateAttrs);
+ void MoveTo(const mozilla::CSSPoint& aPos, bool aUpdateAttrs);
void MoveToAnchor(nsIContent* aAnchorContent, const nsAString& aPosition,
int32_t aXPos, int32_t aYPos, bool aAttributesOverride);
@@ -370,7 +370,9 @@ class nsMenuPopupFrame final : public ns
// Return the screen coordinates in CSS pixels of the popup,
// or (-1, -1, 0, 0) if anchored.
- nsIntRect GetScreenAnchorRect() const { return mScreenRect; }
+ mozilla::CSSIntRect GetScreenAnchorRect() const {
+ return mozilla::CSSRect::FromAppUnitsRounded(mScreenRect);
+ }
mozilla::LayoutDeviceIntPoint GetLastClientOffset() const {
return mLastClientOffset;
@@ -557,7 +559,7 @@ class nsMenuPopupFrame final : public ns
// override mXPos and mYPos.
int32_t mXPos;
int32_t mYPos;
- nsIntRect mScreenRect;
+ nsRect mScreenRect;
// Used for store rectangle which the popup is going to be anchored to,
// we need that for Wayland
#ifdef MOZ_WAYLAND
diff -up firefox-92.0/layout/xul/nsXULPopupManager.cpp.1708709 firefox-92.0/layout/xul/nsXULPopupManager.cpp
--- firefox-92.0/layout/xul/nsXULPopupManager.cpp.1708709 2021-09-01 19:15:01.000000000 +0200
+++ firefox-92.0/layout/xul/nsXULPopupManager.cpp 2021-09-07 10:33:55.686223973 +0200
@@ -343,8 +343,7 @@ bool nsXULPopupManager::Rollup(uint32_t
if (popupFrame->IsAnchored()) {
// Check if the popup has a screen anchor rectangle. If not, get the
// rectangle from the anchor element.
- anchorRect =
- CSSIntRect::FromUnknownRect(popupFrame->GetScreenAnchorRect());
+ anchorRect = popupFrame->GetScreenAnchorRect();
if (anchorRect.x == -1 || anchorRect.y == -1) {
nsCOMPtr<nsIContent> anchor = popupFrame->GetAnchor();
@@ -581,7 +580,7 @@ void nsXULPopupManager::PopupMoved(nsIFr
} else {
CSSPoint cssPos = LayoutDeviceIntPoint::FromUnknownPoint(aPnt) /
menuPopupFrame->PresContext()->CSSToDevPixelScale();
- menuPopupFrame->MoveTo(RoundedToInt(cssPos), false);
+ menuPopupFrame->MoveTo(cssPos, false);
}
}

View File

@ -1,7 +1,7 @@
diff -up firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 firefox-92.0/dom/media/gmp/GMPChild.cpp
--- firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 2021-09-01 19:14:40.000000000 +0200
+++ firefox-92.0/dom/media/gmp/GMPChild.cpp 2021-09-13 17:32:01.606739188 +0200
@@ -232,8 +232,14 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp
--- a/dom/media/gmp/GMPChild.cpp
+++ b/dom/media/gmp/GMPChild.cpp
@@ -232,8 +232,14 @@
}
#elif defined(XP_LINUX)
constexpr static const char* whitelist[] = {
@ -16,7 +16,7 @@ diff -up firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 firefox-92.0/dom/media/
};
nsTArray<nsCString> libs;
@@ -256,7 +262,7 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
@@ -256,7 +262,7 @@
}
// End bug 1698718 logging.
@ -25,14 +25,13 @@ diff -up firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 firefox-92.0/dom/media/
}
}
}
diff -up firefox-92.0/dom/media/gmp/GMPParent.cpp.1725828 firefox-92.0/dom/media/gmp/GMPParent.cpp
--- firefox-92.0/dom/media/gmp/GMPParent.cpp.1725828 2021-09-13 17:32:01.606739188 +0200
+++ firefox-92.0/dom/media/gmp/GMPParent.cpp 2021-09-13 17:55:54.902965506 +0200
@@ -873,8 +873,21 @@ RefPtr<GenericPromise> GMPParent::ParseC
diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp
--- a/dom/media/gmp/GMPParent.cpp
+++ b/dom/media/gmp/GMPParent.cpp
@@ -876,6 +876,20 @@
return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
}
- GMPCapability video;
+#ifdef XP_LINUX
+ // These glibc libraries were merged into libc.so.6 as of glibc
+ // 2.34; they now exist only as stub libraries for compatibility and
@ -46,8 +45,8 @@ diff -up firefox-92.0/dom/media/gmp/GMPParent.cpp.1725828 firefox-92.0/dom/media
+ mLibs.AppendLiteral("libdl.so.2, libpthread.so.0, librt.so.1");
+ }
+#endif
+ GMPCapability video;
+
nsCString codecsString = NS_ConvertUTF16toUTF8(m.mX_cdm_codecs);
nsTArray<nsCString> codecs;
SplitAt(",", codecsString, codecs);

View File

@ -1,16 +0,0 @@
diff --git a/browser/actors/WebRTCParent.jsm b/browser/actors/WebRTCParent.jsm
--- a/browser/actors/WebRTCParent.jsm
+++ b/browser/actors/WebRTCParent.jsm
@@ -870,6 +870,11 @@
);
item.deviceId = device.id;
item.mediaSource = type;
+
+ // In this case the OS sharing dialog will be the only option and
+ // can be safely pre-selected.
+ menupopup.parentNode.selectedItem = item;
+ menupopup.parentNode.disabled = true;
break;
}
if (type == "application") {

View File

@ -2,3 +2,5 @@ SHA512 (cbindgen-vendor.tar.xz) = b9ab1498be90ecf60822df7021f8812f124550d97f8cd6
SHA512 (mochitest-python.tar.gz) = 18e1aeb475df5fbf1fe3838897d5ac2f3114aa349030713fc2be27af087b1b12f57642621b87bd052f324a7cb7fbae5f36b21502191d85692f62c8cdd69c8bf2
SHA512 (firefox-92.0.1.source.tar.xz) = 53361c231a4ac93a1808c9ccb29893d85b5e516fe939a770aac7f178abb4f43cbe3571097e5c5bf91b11fd95fc62b61f2aa215a45048357bfc9dad9eabdee9ef
SHA512 (firefox-langpacks-92.0.1-20210927.tar.xz) = 60719e4efe3a9ebf7e80caf79c77b9f01b2fbd380977eefaec02f7a863a6a9d88563a827a2816065522909ebecd944afb97c26278440bded9a6dadaf491ef89c
SHA512 (firefox-93.0.source.tar.xz) = b29890e331819d47201b599b9feaaa7eaa0b02088fcbf980efc4f289d43da4f73970bf35ba2f763a2a892fd5318deb68cb9a66e71e9bc0c603642434c7e32e91
SHA512 (firefox-langpacks-93.0-20210929.tar.xz) = 24872b6a6e7be04b8ee39f2d51787e3d016ef8a731f1c763d486acc4e63a48e0ea876bda718c5939318d18ec56d6f3e18855e0fd520ec7d04fc4d2f3cbc6dd3d