Updated to 114.0
This commit is contained in:
parent
fc3b817e29
commit
39bb25cd6f
2
.gitignore
vendored
2
.gitignore
vendored
@ -575,3 +575,5 @@ firefox-3.6.4.source.tar.bz2
|
|||||||
/firefox-113.0.source.tar.xz
|
/firefox-113.0.source.tar.xz
|
||||||
/firefox-langpacks-113.0.1-20230515.tar.xz
|
/firefox-langpacks-113.0.1-20230515.tar.xz
|
||||||
/firefox-113.0.1.source.tar.xz
|
/firefox-113.0.1.source.tar.xz
|
||||||
|
/firefox-114.0.source.tar.xz
|
||||||
|
/firefox-langpacks-114.0-20230605.tar.xz
|
||||||
|
181
D177258.diff
181
D177258.diff
@ -1,181 +0,0 @@
|
|||||||
diff --git a/layout/reftests/xul/reftest.list b/layout/reftests/xul/reftest.list
|
|
||||||
--- a/layout/reftests/xul/reftest.list
|
|
||||||
+++ b/layout/reftests/xul/reftest.list
|
|
||||||
@@ -70,10 +70,12 @@
|
|
||||||
skip == chrome://reftest/content/xul/treecell-image-svg-1b.xhtml chrome://reftest/content/xul/treecell-image-svg-1-ref.xhtml # bug 1218954
|
|
||||||
|
|
||||||
!= chrome://reftest/content/xul/treetwisty-svg-context-paint-1-not-ref.xhtml chrome://reftest/content/xul/treetwisty-svg-context-paint-1-ref.xhtml
|
|
||||||
test-pref(svg.context-properties.content.enabled,true) fuzzy(0-26,0-2) == chrome://reftest/content/xul/treetwisty-svg-context-paint-1.xhtml chrome://reftest/content/xul/treetwisty-svg-context-paint-1-ref.xhtml
|
|
||||||
|
|
||||||
+== chrome://reftest/content/xul/tree-scrollbar-height-change.xhtml chrome://reftest/content/xul/tree-scrollbar-height-change-ref.xhtml
|
|
||||||
+
|
|
||||||
# resizer (non-native-themed)
|
|
||||||
|
|
||||||
!= chrome://reftest/content/xul/resizer-bottomend.xhtml chrome://reftest/content/xul/blank-window.xhtml
|
|
||||||
== chrome://reftest/content/xul/resizer-bottomend.xhtml chrome://reftest/content/xul/resizer-bottomright.xhtml
|
|
||||||
!= chrome://reftest/content/xul/resizer-bottomend.xhtml chrome://reftest/content/xul/resizer-bottomend-rtl.xhtml
|
|
||||||
diff --git a/layout/reftests/xul/tree-scrollbar-height-change-ref.xhtml b/layout/reftests/xul/tree-scrollbar-height-change-ref.xhtml
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/layout/reftests/xul/tree-scrollbar-height-change-ref.xhtml
|
|
||||||
@@ -0,0 +1,32 @@
|
|
||||||
+<?xml version="1.0"?>
|
|
||||||
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
|
||||||
+
|
|
||||||
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
|
||||||
+ xmlns:html="http://www.w3.org/1999/xhtml">
|
|
||||||
+
|
|
||||||
+ <tree seltype="single" rows="5">
|
|
||||||
+ <treecols>
|
|
||||||
+ <treecol flex="1"/>
|
|
||||||
+ <treecol flex="1"/>
|
|
||||||
+ </treecols>
|
|
||||||
+ <treechildren>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ </treechildren>
|
|
||||||
+ </tree>
|
|
||||||
+</window>
|
|
||||||
diff --git a/layout/reftests/xul/tree-scrollbar-height-change.xhtml b/layout/reftests/xul/tree-scrollbar-height-change.xhtml
|
|
||||||
new file mode 100644
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/layout/reftests/xul/tree-scrollbar-height-change.xhtml
|
|
||||||
@@ -0,0 +1,39 @@
|
|
||||||
+<?xml version="1.0"?>
|
|
||||||
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
|
||||||
+
|
|
||||||
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
|
||||||
+ xmlns:html="http://www.w3.org/1999/xhtml">
|
|
||||||
+
|
|
||||||
+ <tree id="tree" seltype="single" rows="5" style="min-height: 3000px">
|
|
||||||
+ <treecols>
|
|
||||||
+ <treecol flex="1"/>
|
|
||||||
+ <treecol flex="1"/>
|
|
||||||
+ </treecols>
|
|
||||||
+ <treechildren>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ <treeitem><treerow><treecell label="One"/><treecell label="Two"/></treerow></treeitem>
|
|
||||||
+ </treechildren>
|
|
||||||
+ </tree>
|
|
||||||
+<script>
|
|
||||||
+<![CDATA[
|
|
||||||
+ let tree = document.getElementById("tree");
|
|
||||||
+ tree.getBoundingClientRect();
|
|
||||||
+ tree.style.minHeight = "";
|
|
||||||
+]]>
|
|
||||||
+</script>
|
|
||||||
+</window>
|
|
||||||
diff --git a/layout/xul/tree/nsTreeBodyFrame.h b/layout/xul/tree/nsTreeBodyFrame.h
|
|
||||||
--- a/layout/xul/tree/nsTreeBodyFrame.h
|
|
||||||
+++ b/layout/xul/tree/nsTreeBodyFrame.h
|
|
||||||
@@ -114,11 +114,11 @@
|
|
||||||
nsresult ClearStyleAndImageCaches();
|
|
||||||
void RemoveImageCacheEntry(int32_t aRowIndex, nsTreeColumn* aCol);
|
|
||||||
|
|
||||||
void CancelImageRequests();
|
|
||||||
|
|
||||||
- void ManageReflowCallback(const nsRect& aRect, nscoord aHorzWidth);
|
|
||||||
+ void ManageReflowCallback();
|
|
||||||
|
|
||||||
void DidReflow(nsPresContext*, const ReflowInput*) override;
|
|
||||||
|
|
||||||
// nsIReflowCallback
|
|
||||||
bool ReflowFinished() override;
|
|
||||||
@@ -566,10 +566,13 @@
|
|
||||||
nscoord mHorzWidth;
|
|
||||||
// The amount by which to adjust the width of the last cell.
|
|
||||||
// This depends on whether or not the columnpicker and scrollbars are present.
|
|
||||||
nscoord mAdjustWidth;
|
|
||||||
|
|
||||||
+ // Our last reflowed rect, used for invalidation, see ManageReflowCallback().
|
|
||||||
+ Maybe<nsRect> mLastReflowRect;
|
|
||||||
+
|
|
||||||
// Cached heights and indent info.
|
|
||||||
nsRect mInnerBox; // 4-byte aligned
|
|
||||||
int32_t mRowHeight;
|
|
||||||
int32_t mIndentation;
|
|
||||||
|
|
||||||
diff --git a/layout/xul/tree/nsTreeBodyFrame.cpp b/layout/xul/tree/nsTreeBodyFrame.cpp
|
|
||||||
--- a/layout/xul/tree/nsTreeBodyFrame.cpp
|
|
||||||
+++ b/layout/xul/tree/nsTreeBodyFrame.cpp
|
|
||||||
@@ -363,34 +363,37 @@
|
|
||||||
// XXX is this optimal if we haven't laid out yet?
|
|
||||||
ScrollToRow(rowIndex);
|
|
||||||
NS_ENSURE_TRUE_VOID(weakFrame.IsAlive());
|
|
||||||
}
|
|
||||||
|
|
||||||
-void nsTreeBodyFrame::ManageReflowCallback(const nsRect& aRect,
|
|
||||||
- nscoord aHorzWidth) {
|
|
||||||
- if (!mReflowCallbackPosted &&
|
|
||||||
- (!aRect.IsEqualEdges(mRect) || mHorzWidth != aHorzWidth)) {
|
|
||||||
- PresShell()->PostReflowCallback(this);
|
|
||||||
- mReflowCallbackPosted = true;
|
|
||||||
- mOriginalHorzWidth = mHorzWidth;
|
|
||||||
- } else if (mReflowCallbackPosted && mHorzWidth != aHorzWidth &&
|
|
||||||
- mOriginalHorzWidth == aHorzWidth) {
|
|
||||||
+void nsTreeBodyFrame::ManageReflowCallback() {
|
|
||||||
+ const nscoord horzWidth = CalcHorzWidth(GetScrollParts());
|
|
||||||
+ if (!mReflowCallbackPosted) {
|
|
||||||
+ if (!mLastReflowRect || !mLastReflowRect->IsEqualEdges(mRect) ||
|
|
||||||
+ mHorzWidth != horzWidth) {
|
|
||||||
+ PresShell()->PostReflowCallback(this);
|
|
||||||
+ mReflowCallbackPosted = true;
|
|
||||||
+ mOriginalHorzWidth = mHorzWidth;
|
|
||||||
+ }
|
|
||||||
+ } else if (mHorzWidth != horzWidth && mOriginalHorzWidth == horzWidth) {
|
|
||||||
+ // FIXME(emilio): This doesn't seem sound to me, if the rect changes in the
|
|
||||||
+ // block axis.
|
|
||||||
PresShell()->CancelReflowCallback(this);
|
|
||||||
mReflowCallbackPosted = false;
|
|
||||||
mOriginalHorzWidth = -1;
|
|
||||||
}
|
|
||||||
+ mLastReflowRect = Some(mRect);
|
|
||||||
+ mHorzWidth = horzWidth;
|
|
||||||
}
|
|
||||||
|
|
||||||
nscoord nsTreeBodyFrame::GetIntrinsicBSize() {
|
|
||||||
return mHasFixedRowCount ? mRowHeight * mPageLength : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void nsTreeBodyFrame::DidReflow(nsPresContext* aPresContext,
|
|
||||||
const ReflowInput* aReflowInput) {
|
|
||||||
- nscoord horzWidth = CalcHorzWidth(GetScrollParts());
|
|
||||||
- ManageReflowCallback(GetRect(), horzWidth);
|
|
||||||
- mHorzWidth = horzWidth;
|
|
||||||
+ ManageReflowCallback();
|
|
||||||
SimpleXULLeafFrame::DidReflow(aPresContext, aReflowInput);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool nsTreeBodyFrame::ReflowFinished() {
|
|
||||||
if (!mView) {
|
|
||||||
|
|
32
D177902.diff
32
D177902.diff
@ -1,32 +0,0 @@
|
|||||||
diff --git a/devtools/server/actors/resources/console-messages.js b/devtools/server/actors/resources/console-messages.js
|
|
||||||
--- a/devtools/server/actors/resources/console-messages.js
|
|
||||||
+++ b/devtools/server/actors/resources/console-messages.js
|
|
||||||
@@ -64,16 +64,23 @@
|
|
||||||
// that process (window and window-less).
|
|
||||||
// To do that we pass a null window and ConsoleAPIListener will catch everything.
|
|
||||||
// And also ignore WebExtension as we will filter out only by addonId, which is
|
|
||||||
// passed via consoleAPIListenerOptions. WebExtension may have multiple windows/documents
|
|
||||||
// but all of them will be flagged with the same addon ID.
|
|
||||||
- const window =
|
|
||||||
+ const messagesShouldMatchWindow =
|
|
||||||
targetActor.targetType === Targets.TYPES.FRAME &&
|
|
||||||
targetActor.typeName != "parentProcessTarget" &&
|
|
||||||
- targetActor.typeName != "webExtensionTarget"
|
|
||||||
- ? targetActor.window
|
|
||||||
- : null;
|
|
||||||
+ targetActor.typeName != "webExtensionTarget";
|
|
||||||
+ const window = messagesShouldMatchWindow ? targetActor.window : null;
|
|
||||||
+
|
|
||||||
+ // If we should match messages for a given window but for some reason, targetActor.window
|
|
||||||
+ // did not return a window, bail out. Otherwise we wouldn't have anything to match against
|
|
||||||
+ // and would consume all the messages, which could lead to issue (e.g. infinite loop,
|
|
||||||
+ // see Bug 1828026).
|
|
||||||
+ if (messagesShouldMatchWindow && !window) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
const listener = new ConsoleAPIListener(window, onConsoleAPICall, {
|
|
||||||
excludeMessagesBoundToWindow: isTargetActorContentProcess,
|
|
||||||
matchExactWindow: targetActor.ignoreSubFrames,
|
|
||||||
...(targetActor.consoleAPIListenerOptions || {}),
|
|
||||||
|
|
104
D178251.diff
104
D178251.diff
@ -1,104 +0,0 @@
|
|||||||
diff -up firefox-113.0.1/Cargo.lock.D178251 firefox-113.0.1/Cargo.lock
|
|
||||||
--- firefox-113.0.1/Cargo.lock.D178251 2023-05-12 00:09:22.000000000 +0200
|
|
||||||
+++ firefox-113.0.1/Cargo.lock 2023-05-24 10:55:51.177278597 +0200
|
|
||||||
@@ -417,8 +417,6 @@ dependencies = [
|
|
||||||
[[package]]
|
|
||||||
name = "bindgen"
|
|
||||||
version = "0.64.0"
|
|
||||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
-checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 1.3.2",
|
|
||||||
"cexpr",
|
|
||||||
diff -up firefox-113.0.1/Cargo.toml.D178251 firefox-113.0.1/Cargo.toml
|
|
||||||
--- firefox-113.0.1/Cargo.toml.D178251 2023-05-12 00:09:22.000000000 +0200
|
|
||||||
+++ firefox-113.0.1/Cargo.toml 2023-05-24 10:56:39.836959570 +0200
|
|
||||||
@@ -119,7 +119,7 @@ tinyvec = { path = "build/rust/tinyvec"
|
|
||||||
wasi = { path = "build/rust/wasi" }
|
|
||||||
|
|
||||||
# Patch bindgen 0.63 to 0.64
|
|
||||||
-bindgen = { path = "build/rust/bindgen" }
|
|
||||||
+bindgen_0_63 = { package = "bindgen", path = "build/rust/bindgen" }
|
|
||||||
|
|
||||||
# Patch memoffset 0.6 to 0.8
|
|
||||||
memoffset = { path = "build/rust/memoffset" }
|
|
||||||
@@ -145,6 +145,9 @@ web-sys = { path = "build/rust/dummy-web
|
|
||||||
# Overrides to allow easier use of common internal crates.
|
|
||||||
moz_asserts = { path = "mozglue/static/rust/moz_asserts" }
|
|
||||||
|
|
||||||
+# Patch bindgen to work around issues with some unsound transmutes when compiling with LLVM 16+.
|
|
||||||
+bindgen = { path = "third_party/rust/bindgen" }
|
|
||||||
+
|
|
||||||
# Patch `rure` to disable building the cdylib and staticlib targets
|
|
||||||
# Cargo has no way to disable building targets your dependencies provide which
|
|
||||||
# you don't depend on, and linking the cdylib breaks during instrumentation
|
|
||||||
diff -up firefox-113.0.1/supply-chain/config.toml.D178251 firefox-113.0.1/supply-chain/config.toml
|
|
||||||
--- firefox-113.0.1/supply-chain/config.toml.D178251 2023-05-12 00:09:23.000000000 +0200
|
|
||||||
+++ firefox-113.0.1/supply-chain/config.toml 2023-05-24 10:55:51.178278632 +0200
|
|
||||||
@@ -23,6 +23,10 @@ url = "https://raw.githubusercontent.com
|
|
||||||
audit-as-crates-io = true
|
|
||||||
notes = "This is the upstream code plus a few local fixes, see bug 1685697."
|
|
||||||
|
|
||||||
+[policy."bindgen:0.64.0"]
|
|
||||||
+audit-as-crates-io = true
|
|
||||||
+notes = "This is a local override of the bindgen crate from crates.io, with a small local patch."
|
|
||||||
+
|
|
||||||
[policy.chardetng]
|
|
||||||
audit-as-crates-io = true
|
|
||||||
notes = "This is a crate Henri wrote which is also published. We should probably update Firefox to tip and certify that."
|
|
||||||
diff -up firefox-113.0.1/third_party/rust/bindgen/codegen/mod.rs.D178251 firefox-113.0.1/third_party/rust/bindgen/codegen/mod.rs
|
|
||||||
--- firefox-113.0.1/third_party/rust/bindgen/codegen/mod.rs.D178251 2023-05-11 23:42:49.000000000 +0200
|
|
||||||
+++ firefox-113.0.1/third_party/rust/bindgen/codegen/mod.rs 2023-05-24 10:55:51.178278632 +0200
|
|
||||||
@@ -141,12 +141,13 @@ fn derives_of_item(
|
|
||||||
item: &Item,
|
|
||||||
ctx: &BindgenContext,
|
|
||||||
packed: bool,
|
|
||||||
+ forward_decl: bool,
|
|
||||||
) -> DerivableTraits {
|
|
||||||
let mut derivable_traits = DerivableTraits::empty();
|
|
||||||
|
|
||||||
let all_template_params = item.all_template_params(ctx);
|
|
||||||
|
|
||||||
- if item.can_derive_copy(ctx) && !item.annotations().disallow_copy() {
|
|
||||||
+ if item.can_derive_copy(ctx) && !item.annotations().disallow_copy() && !forward_decl {
|
|
||||||
derivable_traits |= DerivableTraits::COPY;
|
|
||||||
|
|
||||||
if ctx.options().rust_features().builtin_clone_impls ||
|
|
||||||
@@ -991,7 +992,7 @@ impl CodeGenerator for Type {
|
|
||||||
vec![attributes::repr("transparent")];
|
|
||||||
let packed = false; // Types can't be packed in Rust.
|
|
||||||
let derivable_traits =
|
|
||||||
- derives_of_item(item, ctx, packed);
|
|
||||||
+ derives_of_item(item, ctx, packed, false);
|
|
||||||
if !derivable_traits.is_empty() {
|
|
||||||
let derives: Vec<_> = derivable_traits.into();
|
|
||||||
attributes.push(attributes::derives(&derives))
|
|
||||||
@@ -2032,8 +2033,9 @@ impl CodeGenerator for CompInfo {
|
|
||||||
}
|
|
||||||
|
|
||||||
if forward_decl {
|
|
||||||
+ let prefix = ctx.trait_prefix();
|
|
||||||
fields.push(quote! {
|
|
||||||
- _unused: [u8; 0],
|
|
||||||
+ _unused: ::#prefix::cell::UnsafeCell<[u8; 0]>,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2095,7 +2097,7 @@ impl CodeGenerator for CompInfo {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- let derivable_traits = derives_of_item(item, ctx, packed);
|
|
||||||
+ let derivable_traits = derives_of_item(item, ctx, packed, self.is_forward_declaration());
|
|
||||||
if !derivable_traits.contains(DerivableTraits::DEBUG) {
|
|
||||||
needs_debug_impl = ctx.options().derive_debug &&
|
|
||||||
ctx.options().impl_debug &&
|
|
||||||
@@ -3127,7 +3129,7 @@ impl CodeGenerator for Enum {
|
|
||||||
|
|
||||||
if !variation.is_const() {
|
|
||||||
let packed = false; // Enums can't be packed in Rust.
|
|
||||||
- let mut derives = derives_of_item(item, ctx, packed);
|
|
||||||
+ let mut derives = derives_of_item(item, ctx, packed, false);
|
|
||||||
// For backwards compat, enums always derive
|
|
||||||
// Clone/Eq/PartialEq/Hash, even if we don't generate those by
|
|
||||||
// default.
|
|
@ -1,40 +1,7 @@
|
|||||||
diff -up firefox-72.0/gfx/skia/skia/include/private/SkHalf.h.aarch64-skia firefox-72.0/gfx/skia/skia/include/private/SkHalf.h
|
diff -up firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h
|
||||||
--- firefox-72.0/gfx/skia/skia/include/private/SkHalf.h.aarch64-skia 2020-01-02 22:33:02.000000000 +0100
|
--- firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia 2023-06-02 03:15:22.000000000 +0200
|
||||||
+++ firefox-72.0/gfx/skia/skia/include/private/SkHalf.h 2020-01-03 09:00:37.537296105 +0100
|
+++ firefox-114.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h 2023-06-05 10:18:46.942777997 +0200
|
||||||
@@ -40,7 +40,7 @@ static inline Sk4h SkFloatToHalf_finite_
|
@@ -189,8 +189,6 @@ SI F F_from_Half(U16 half) {
|
||||||
|
|
||||||
static inline Sk4f SkHalfToFloat_finite_ftz(uint64_t rgba) {
|
|
||||||
Sk4h hs = Sk4h::Load(&rgba);
|
|
||||||
-#if !defined(SKNX_NO_SIMD) && defined(SK_CPU_ARM64)
|
|
||||||
+#if 0 // !defined(SKNX_NO_SIMD) && defined(SK_CPU_ARM64)
|
|
||||||
float32x4_t fs;
|
|
||||||
asm ("fcvtl %[fs].4s, %[hs].4h \n" // vcvt_f32_f16(...)
|
|
||||||
: [fs] "=w" (fs) // =w: write-only NEON register
|
|
||||||
@@ -62,7 +62,7 @@ static inline Sk4f SkHalfToFloat_finite_
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline Sk4h SkFloatToHalf_finite_ftz(const Sk4f& fs) {
|
|
||||||
-#if !defined(SKNX_NO_SIMD) && defined(SK_CPU_ARM64)
|
|
||||||
+#if 0 // !defined(SKNX_NO_SIMD) && defined(SK_CPU_ARM64)
|
|
||||||
float32x4_t vec = fs.fVec;
|
|
||||||
asm ("fcvtn %[vec].4h, %[vec].4s \n" // vcvt_f16_f32(vec)
|
|
||||||
: [vec] "+w" (vec)); // +w: read-write NEON register
|
|
||||||
diff -up firefox-72.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia firefox-72.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h
|
|
||||||
--- firefox-72.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia 2020-01-03 09:00:37.538296107 +0100
|
|
||||||
+++ firefox-72.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h 2020-01-03 10:11:41.259219508 +0100
|
|
||||||
@@ -1087,7 +1087,7 @@ SI F from_half(U16 h) {
|
|
||||||
}
|
|
||||||
|
|
||||||
SI U16 to_half(F f) {
|
|
||||||
-#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
|
|
||||||
+#if 0 //defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
|
|
||||||
&& !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
|
||||||
return vcvt_f16_f32(f);
|
|
||||||
|
|
||||||
diff -up firefox-72.0/gfx/skia/skia/third_party/skcms/src/Transform_inl.h.aarch64-skia firefox-72.0/gfx/skia/skia/third_party/skcms/src/Transform_inl.h
|
|
||||||
--- firefox-72.0/gfx/skia/skia/third_party/skcms/src/Transform_inl.h.aarch64-skia 2020-01-03 09:00:37.538296107 +0100
|
|
||||||
+++ firefox-72.0/gfx/skia/skia/third_party/skcms/src/Transform_inl.h 2020-01-03 10:11:53.513250979 +0100
|
|
||||||
@@ -183,8 +183,6 @@ SI F F_from_Half(U16 half) {
|
|
||||||
SI U16 Half_from_F(F f) {
|
SI U16 Half_from_F(F f) {
|
||||||
#if defined(USING_NEON_FP16)
|
#if defined(USING_NEON_FP16)
|
||||||
return bit_pun<U16>(f);
|
return bit_pun<U16>(f);
|
||||||
@ -43,3 +10,16 @@ diff -up firefox-72.0/gfx/skia/skia/third_party/skcms/src/Transform_inl.h.aarch6
|
|||||||
#elif defined(USING_AVX512F)
|
#elif defined(USING_AVX512F)
|
||||||
return (U16)_mm512_cvtps_ph((__m512 )f, _MM_FROUND_CUR_DIRECTION );
|
return (U16)_mm512_cvtps_ph((__m512 )f, _MM_FROUND_CUR_DIRECTION );
|
||||||
#elif defined(USING_AVX_F16C)
|
#elif defined(USING_AVX_F16C)
|
||||||
|
diff -up firefox-114.0/gfx/skia/skia/src/base/SkHalf.h.aarch64-skia firefox-114.0/gfx/skia/skia/src/base/SkHalf.h
|
||||||
|
diff -up firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h
|
||||||
|
--- firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia 2023-06-05 10:18:46.941777963 +0200
|
||||||
|
+++ firefox-114.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h 2023-06-05 10:20:44.924843847 +0200
|
||||||
|
@@ -1128,7 +1128,7 @@ SI F from_half(U16 h) {
|
||||||
|
}
|
||||||
|
|
||||||
|
SI U16 to_half(F f) {
|
||||||
|
-#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
|
||||||
|
+#if 0 //defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
|
||||||
|
&& !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
||||||
|
return sk_bit_cast<U16>(vcvt_f16_f32(f));
|
||||||
|
|
||||||
|
34
firefox.spec
34
firefox.spec
@ -175,13 +175,13 @@ ExcludeArch: i686
|
|||||||
|
|
||||||
Summary: Mozilla Firefox Web browser
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 113.0.1
|
Version: 114.0
|
||||||
Release: 4%{?pre_tag}%{?dist}
|
Release: 1%{?pre_tag}%{?dist}
|
||||||
URL: https://www.mozilla.org/firefox/
|
URL: https://www.mozilla.org/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
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
|
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
||||||
%if %{with langpacks}
|
%if %{with langpacks}
|
||||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20230515.tar.xz
|
Source1: firefox-langpacks-%{version}%{?pre_version}-20230605.tar.xz
|
||||||
%endif
|
%endif
|
||||||
Source2: cbindgen-vendor.tar.xz
|
Source2: cbindgen-vendor.tar.xz
|
||||||
Source10: firefox-mozconfig
|
Source10: firefox-mozconfig
|
||||||
@ -212,7 +212,7 @@ Source44: print-error-reftest
|
|||||||
Source45: run-wayland-compositor
|
Source45: run-wayland-compositor
|
||||||
|
|
||||||
# Build patches
|
# Build patches
|
||||||
Patch3: mozilla-build-arm.patch
|
#Patch3: mozilla-build-arm.patch
|
||||||
Patch32: build-rust-ppc64le.patch
|
Patch32: build-rust-ppc64le.patch
|
||||||
Patch35: build-ppc-jit.patch
|
Patch35: build-ppc-jit.patch
|
||||||
# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
|
# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
|
||||||
@ -250,23 +250,11 @@ Patch230: firefox-enable-vaapi.patch
|
|||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch402: mozilla-1196777.patch
|
Patch402: mozilla-1196777.patch
|
||||||
Patch407: mozilla-1667096.patch
|
Patch407: mozilla-1667096.patch
|
||||||
Patch408: mozilla-1832770.patch
|
|
||||||
# TODO: do we need it?
|
|
||||||
#Patch415: mozilla-1670333.patch
|
|
||||||
Patch410: D177258.diff
|
|
||||||
Patch411: D177902.diff
|
|
||||||
Patch412: D178251.diff
|
|
||||||
|
|
||||||
# PGO/LTO patches
|
# PGO/LTO patches
|
||||||
Patch600: pgo.patch
|
Patch600: pgo.patch
|
||||||
Patch602: mozilla-1516803.patch
|
Patch602: mozilla-1516803.patch
|
||||||
|
|
||||||
# a patch for compiling with gcc on arm (from debian)
|
|
||||||
Patch990: work-around-GCC-ICE-on-arm.patch
|
|
||||||
|
|
||||||
# Work around broken moz.build file on ppc64le (mozb#1779545, mozb#1775202)
|
|
||||||
Patch1100: mozilla-1775202.patch
|
|
||||||
|
|
||||||
# tentative patch for RUSTFLAGS parsing issue:
|
# tentative patch for RUSTFLAGS parsing issue:
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2184743
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2184743
|
||||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1474486
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=1474486
|
||||||
@ -506,7 +494,6 @@ This package contains results of tests executed during build.
|
|||||||
# ignored during this compare.
|
# ignored during this compare.
|
||||||
|
|
||||||
%patch40 -p1 -b .aarch64-skia
|
%patch40 -p1 -b .aarch64-skia
|
||||||
%patch3 -p1 -b .arm
|
|
||||||
%patch44 -p1 -b .build-arm-libopus
|
%patch44 -p1 -b .build-arm-libopus
|
||||||
%patch47 -p1 -b .fedora-shebang
|
%patch47 -p1 -b .fedora-shebang
|
||||||
%patch49 -p1 -b .build-arm-libaom
|
%patch49 -p1 -b .build-arm-libaom
|
||||||
@ -534,12 +521,6 @@ This package contains results of tests executed during build.
|
|||||||
|
|
||||||
%patch402 -p1 -b .1196777
|
%patch402 -p1 -b .1196777
|
||||||
%patch407 -p1 -b .1667096
|
%patch407 -p1 -b .1667096
|
||||||
%patch408 -p1 -b .1832770
|
|
||||||
# TODO: do we need it?
|
|
||||||
#%patch415 -p1 -b .1670333
|
|
||||||
%patch410 -p1 -b .D177258
|
|
||||||
%patch411 -p1 -b .D177902
|
|
||||||
%patch412 -p1 -b .D178251
|
|
||||||
|
|
||||||
# PGO patches
|
# PGO patches
|
||||||
%if %{build_with_pgo}
|
%if %{build_with_pgo}
|
||||||
@ -549,8 +530,6 @@ This package contains results of tests executed during build.
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch990 -p1 -b .work-around-GCC-ICE-on-arm
|
|
||||||
%patch1100 -p1 -b .ppc-mobzuild
|
|
||||||
%patch1200 -p1 -b .rustflags-commasplit
|
%patch1200 -p1 -b .rustflags-commasplit
|
||||||
|
|
||||||
rm -f .mozconfig
|
rm -f .mozconfig
|
||||||
@ -1027,6 +1006,8 @@ fi
|
|||||||
%{_bindir}/firefox
|
%{_bindir}/firefox
|
||||||
%{mozappdir}/firefox
|
%{mozappdir}/firefox
|
||||||
%{mozappdir}/firefox-bin
|
%{mozappdir}/firefox-bin
|
||||||
|
%{mozappdir}/glxtest
|
||||||
|
%{mozappdir}/vaapitest
|
||||||
%doc %{_mandir}/man1/*
|
%doc %{_mandir}/man1/*
|
||||||
%dir %{_sysconfdir}/%{name}
|
%dir %{_sysconfdir}/%{name}
|
||||||
%dir %{_sysconfdir}/%{name}/*
|
%dir %{_sysconfdir}/%{name}/*
|
||||||
@ -1090,6 +1071,9 @@ fi
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 05 2023 Martin Stransky <stransky@redhat.com>- 114.0-1
|
||||||
|
- Updated to 114.0
|
||||||
|
|
||||||
* Wed May 24 2023 Martin Stransky <stransky@redhat.com>- 113.0.1-4
|
* Wed May 24 2023 Martin Stransky <stransky@redhat.com>- 113.0.1-4
|
||||||
- Added patches from 113.0.2
|
- Added patches from 113.0.2
|
||||||
- Added Rust fix for Rawhide (mzbz#1831242).
|
- Added Rust fix for Rawhide (mzbz#1831242).
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
diff -up firefox-105.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-105.0/dom/media/mp4/MP4Demuxer.cpp
|
|
||||||
--- firefox-105.0/dom/media/mp4/MP4Demuxer.cpp.1670333 2022-09-15 20:49:09.000000000 +0200
|
|
||||||
+++ firefox-105.0/dom/media/mp4/MP4Demuxer.cpp 2022-09-20 09:16:35.404519249 +0200
|
|
||||||
@@ -31,6 +31,8 @@ mozilla::LogModule* GetDemuxerLog() { re
|
|
||||||
DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \
|
|
||||||
__func__, ##__VA_ARGS__)
|
|
||||||
|
|
||||||
+extern bool gUseKeyframeFromContainer;
|
|
||||||
+
|
|
||||||
namespace mozilla {
|
|
||||||
|
|
||||||
DDLoggedTypeDeclNameAndBase(MP4TrackDemuxer, MediaTrackDemuxer);
|
|
||||||
@@ -394,6 +396,12 @@ already_AddRefed<MediaRawData> MP4TrackD
|
|
||||||
[[fallthrough]];
|
|
||||||
case H264::FrameType::OTHER: {
|
|
||||||
bool keyframe = type == H264::FrameType::I_FRAME;
|
|
||||||
+ if (gUseKeyframeFromContainer) {
|
|
||||||
+ if (sample->mKeyframe && sample->mKeyframe != keyframe) {
|
|
||||||
+ sample->mKeyframe = keyframe;
|
|
||||||
+ }
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
if (sample->mKeyframe != keyframe) {
|
|
||||||
NS_WARNING(nsPrintfCString("Frame incorrectly marked as %skeyframe "
|
|
||||||
"@ pts:%" PRId64 " dur:%" PRId64
|
|
||||||
diff -up firefox-105.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-105.0/dom/media/platforms/PDMFactory.cpp
|
|
||||||
--- firefox-105.0/dom/media/platforms/PDMFactory.cpp.1670333 2022-09-15 20:49:09.000000000 +0200
|
|
||||||
+++ firefox-105.0/dom/media/platforms/PDMFactory.cpp 2022-09-20 09:20:05.369572900 +0200
|
|
||||||
@@ -61,6 +61,8 @@
|
|
||||||
|
|
||||||
#include <functional>
|
|
||||||
|
|
||||||
+bool gUseKeyframeFromContainer = false;
|
|
||||||
+
|
|
||||||
using DecodeSupport = mozilla::media::DecodeSupport;
|
|
||||||
using DecodeSupportSet = mozilla::media::DecodeSupportSet;
|
|
||||||
using MediaCodec = mozilla::media::MediaCodec;
|
|
||||||
@@ -553,7 +555,7 @@ void PDMFactory::CreateRddPDMs() {
|
|
||||||
#ifdef MOZ_FFMPEG
|
|
||||||
if (StaticPrefs::media_ffmpeg_enabled() &&
|
|
||||||
StaticPrefs::media_rdd_ffmpeg_enabled() &&
|
|
||||||
- !CreateAndStartupPDM<FFmpegRuntimeLinker>()) {
|
|
||||||
+ !(mFFmpegUsed = CreateAndStartupPDM<FFmpegRuntimeLinker>())) {
|
|
||||||
mFailureFlags += GetFailureFlagBasedOnFFmpegStatus(
|
|
||||||
FFmpegRuntimeLinker::LinkStatusCode());
|
|
||||||
}
|
|
||||||
@@ -653,8 +655,9 @@ void PDMFactory::CreateContentPDMs() {
|
|
||||||
|
|
||||||
CreateAndStartupPDM<AgnosticDecoderModule>();
|
|
||||||
|
|
||||||
- if (StaticPrefs::media_gmp_decoder_enabled() &&
|
|
||||||
+ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed &&
|
|
||||||
!CreateAndStartupPDM<GMPDecoderModule>()) {
|
|
||||||
+ gUseKeyframeFromContainer = true;
|
|
||||||
mFailureFlags += DecoderDoctorDiagnostics::Flags::GMPPDMFailedToStartup;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff -up firefox-105.0/dom/media/platforms/PDMFactory.h.1670333 firefox-105.0/dom/media/platforms/PDMFactory.h
|
|
||||||
--- firefox-105.0/dom/media/platforms/PDMFactory.h.1670333 2022-09-15 20:49:08.000000000 +0200
|
|
||||||
+++ firefox-105.0/dom/media/platforms/PDMFactory.h 2022-09-20 09:16:35.404519249 +0200
|
|
||||||
@@ -102,6 +102,7 @@ class PDMFactory final {
|
|
||||||
RefPtr<PlatformDecoderModule> mNullPDM;
|
|
||||||
|
|
||||||
DecoderDoctorDiagnostics::FlagsSet mFailureFlags;
|
|
||||||
+ bool mFFmpegUsed = false;
|
|
||||||
|
|
||||||
friend class RemoteVideoDecoderParent;
|
|
||||||
static void EnsureInit();
|
|
@ -1,14 +0,0 @@
|
|||||||
diff -up firefox-109.0/third_party/libwebrtc/moz.build.ppc-mobzuild firefox-109.0/third_party/libwebrtc/moz.build
|
|
||||||
--- firefox-109.0/third_party/libwebrtc/moz.build.ppc-mobzuild 2023-01-12 21:02:15.000000000 +0100
|
|
||||||
+++ firefox-109.0/third_party/libwebrtc/moz.build 2023-01-16 13:30:28.404450100 +0100
|
|
||||||
@@ -621,7 +621,9 @@ if CONFIG["CPU_ARCH"] == "ppc64" and CON
|
|
||||||
"/third_party/libwebrtc/api/audio_codecs/isac/audio_decoder_isac_float_gn",
|
|
||||||
"/third_party/libwebrtc/api/audio_codecs/isac/audio_encoder_isac_float_gn",
|
|
||||||
"/third_party/libwebrtc/modules/audio_coding/isac_c_gn",
|
|
||||||
- "/third_party/libwebrtc/modules/audio_coding/isac_gn"
|
|
||||||
+ "/third_party/libwebrtc/modules/audio_coding/isac_gn",
|
|
||||||
+ "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
|
|
||||||
+ "/third_party/libwebrtc/modules/desktop_capture/primitives_gn"
|
|
||||||
]
|
|
||||||
|
|
||||||
if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
|
|
@ -1,16 +0,0 @@
|
|||||||
diff --git a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
|
|
||||||
--- a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
|
|
||||||
+++ b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
|
|
||||||
@@ -434,11 +434,11 @@
|
|
||||||
{
|
|
||||||
PipeWireThreadLoopLock thread_loop_lock(pw_main_loop_);
|
|
||||||
|
|
||||||
if (fd >= 0) {
|
|
||||||
pw_core_ = pw_context_connect_fd(
|
|
||||||
- pw_context_, fcntl(fd, F_DUPFD_CLOEXEC), nullptr, 0);
|
|
||||||
+ pw_context_, fcntl(fd, F_DUPFD_CLOEXEC, 0), nullptr, 0);
|
|
||||||
} else {
|
|
||||||
pw_core_ = pw_context_connect(pw_context_, nullptr, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!pw_core_) {
|
|
@ -1,14 +0,0 @@
|
|||||||
diff -up firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h
|
|
||||||
--- firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm 2017-03-03 13:53:52.480754536 +0100
|
|
||||||
+++ firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h 2017-03-03 13:56:01.476018102 +0100
|
|
||||||
@@ -203,6 +203,10 @@
|
|
||||||
#define SK_ARM_HAS_CRC32
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined(__aarch64__)
|
|
||||||
+ #undef SK_ARM_HAS_NEON
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#if !defined(SKIA_IMPLEMENTATION)
|
|
4
sources
4
sources
@ -1,4 +1,4 @@
|
|||||||
SHA512 (cbindgen-vendor.tar.xz) = 0d45c1decfd7aaee853748745c9f5a907c0c6a0cf809c2387aac1cdcf680b0844b1ef4d05148e0527de4ff6e4d4666110bea317bd00b7d73a1210eb58a815563
|
SHA512 (cbindgen-vendor.tar.xz) = 0d45c1decfd7aaee853748745c9f5a907c0c6a0cf809c2387aac1cdcf680b0844b1ef4d05148e0527de4ff6e4d4666110bea317bd00b7d73a1210eb58a815563
|
||||||
SHA512 (mochitest-python.tar.gz) = e0a2c569dafe013b6a4c073516388549a8f398d8aa4538a3bc69dcda44737a3a3cf070285e9fa040a15d7a62446665c6158d42a1b6dc3e8d7f4680bc2ef17a16
|
SHA512 (mochitest-python.tar.gz) = e0a2c569dafe013b6a4c073516388549a8f398d8aa4538a3bc69dcda44737a3a3cf070285e9fa040a15d7a62446665c6158d42a1b6dc3e8d7f4680bc2ef17a16
|
||||||
SHA512 (firefox-langpacks-113.0.1-20230515.tar.xz) = 93ddbcd8c0a98d4ddce356824a3aa305a6c110bd736912d5144253847aa91de80c5e6135f68e79e9c2aea8417225c57bd6328f7c7504accfddaf72fda57881d6
|
SHA512 (firefox-114.0.source.tar.xz) = c6929d34583f25119738d1c817a24fd358fcada1f0ba5c14bab07c2acd35f18a012f23d054bfe8c6b12c0dda7bd3abdc7a305a36c7a4d36542885abeea3aafec
|
||||||
SHA512 (firefox-113.0.1.source.tar.xz) = 67d6b777d138ef55dd813a15a483d0588181f3b83ba8da52bf6c1f10a58ab1d907a80afcfc1aa90b65405852b50d083f05032b32d3fdb153317f2df7f1f15db3
|
SHA512 (firefox-langpacks-114.0-20230605.tar.xz) = bb5d61264d5b8c55010da4c7d8884cb9c96ddb75fefef41eff7c81d8784ac46fe79d7f99936f3197a2bfbf0a062e4be494c6f17245c8d4cd9634f92611f7212e
|
||||||
|
Loading…
Reference in New Issue
Block a user