From ccb5557561aafa2615d7d06bba6c14e0cac24152 Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Fri, 6 Dec 2019 11:20:58 +0100 Subject: [PATCH] Added workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1601707 and http://gcc.gnu.org/PR92831 --- firefox.spec | 13 +++- ..._dom_indexdb_actorsparent_allignment.patch | 70 +++++++++++++++++++ 2 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 workaround_dom_indexdb_actorsparent_allignment.patch diff --git a/firefox.spec b/firefox.spec index d82f89b..547cfd1 100644 --- a/firefox.spec +++ b/firefox.spec @@ -94,7 +94,7 @@ ExcludeArch: ppc64le Summary: Mozilla Firefox Web browser Name: firefox Version: 71.0 -Release: 10%{?pre_tag}%{?dist} +Release: 11%{?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 @@ -148,6 +148,7 @@ Patch228: mozilla-1583466.patch Patch239: mozilla-gnome-shell-search-provider.patch Patch240: mozilla-gnome-shell-search-provider-icons.patch Patch241: kiosk-workaround.patch +Patch242: workaround_dom_indexdb_actorsparent_allignment.patch # Upstream patches Patch402: mozilla-1196777.patch @@ -361,7 +362,10 @@ This package contains results of tests executed during build. %patch228 -p1 -b .mozilla-1583466 %patch239 -p1 -b .gnome-shell-search-provider %patch240 -p1 -b .gnome-shell-search-provider-icons -%patch241 -p1 -b .kiosk-workaround +# Workaround for kiosk mode +# https://bugzilla.mozilla.org/show_bug.cgi?id=1594738 +#%patch241 -p1 -b .kiosk-workaround +%patch242 -p1 -b .workaround_dom_indexdb_actorsparent_allignment %patch402 -p1 -b .1196777 %ifarch %{arm} @@ -926,6 +930,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Fri Dec 6 2019 Martin Stransky - 71.0-11 +- Added workaround for: + https://bugzilla.mozilla.org/show_bug.cgi?id=1601707 + http://gcc.gnu.org/PR92831 + * Fri Dec 6 2019 Martin Stransky - 71.0-10 - Remove appdata and ship metainfo only diff --git a/workaround_dom_indexdb_actorsparent_allignment.patch b/workaround_dom_indexdb_actorsparent_allignment.patch new file mode 100644 index 0000000..e651efc --- /dev/null +++ b/workaround_dom_indexdb_actorsparent_allignment.patch @@ -0,0 +1,70 @@ +Workaround GCC/Clang6 not supporting class-temporary#6.7 [1] +Bugs: ++ https://bugzilla.mozilla.org/show_bug.cgi?id=1601707 ++ http://gcc.gnu.org/PR92831 ++ https://bugzilla.redhat.com/show_bug.cgi?id=1779082 + +[1] http://eel.is/c++draft/class.temporary#6.7 + +diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp +--- a/dom/indexedDB/ActorsParent.cpp ++++ b/dom/indexedDB/ActorsParent.cpp +@@ -24311,11 +24311,11 @@ + // if we allow overwrite or not. By not allowing overwrite we raise + // detectable errors rather than corrupting data. + DatabaseConnection::CachedStatement stmt; +- const auto& optReplaceDirective = (!mOverwrite || keyUnset) +- ? NS_LITERAL_CSTRING("") +- : NS_LITERAL_CSTRING("OR REPLACE "); + rv = aConnection->GetCachedStatement( +- NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective + ++ NS_LITERAL_CSTRING("INSERT ") + ++ ((!mOverwrite || keyUnset) ++ ? NS_LITERAL_CSTRING("") ++ : NS_LITERAL_CSTRING("OR REPLACE ")) + + NS_LITERAL_CSTRING("INTO object_data " + "(object_store_id, key, file_ids, data) " + "VALUES (:") + +@@ -26076,9 +26076,6 @@ + + const bool usingKeyRange = mOptionalKeyRange.isSome(); + +- const auto& indexTable = mCursor->mUniqueIndex +- ? NS_LITERAL_CSTRING("unique_index_data") +- : NS_LITERAL_CSTRING("index_data"); + + NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); + +@@ -26099,7 +26096,9 @@ + "object_data.file_ids, " + "object_data.data " + "FROM ") + +- indexTable + ++ (mCursor->mUniqueIndex ++ ? NS_LITERAL_CSTRING("unique_index_data") ++ : NS_LITERAL_CSTRING("index_data")) + + NS_LITERAL_CSTRING( + " AS index_table " + "JOIN object_data " +@@ -26198,9 +26197,6 @@ + + const bool usingKeyRange = mOptionalKeyRange.isSome(); + +- const auto& table = mCursor->mUniqueIndex +- ? NS_LITERAL_CSTRING("unique_index_data") +- : NS_LITERAL_CSTRING("index_data"); + + NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); + +@@ -26218,7 +26214,10 @@ + NS_LITERAL_CSTRING( + "object_data_key " + " FROM ") + +- table + NS_LITERAL_CSTRING(" WHERE index_id = :") + ++ (mCursor->mUniqueIndex ++ ? NS_LITERAL_CSTRING("unique_index_data") ++ : NS_LITERAL_CSTRING("index_data")) + ++ NS_LITERAL_CSTRING(" WHERE index_id = :") + + kStmtParamNameId; + + const auto keyRangeClause =