summaryrefslogtreecommitdiff
path: root/workaround_dom_indexdb_actorsparent_allignment.patch
diff options
context:
space:
mode:
Diffstat (limited to 'workaround_dom_indexdb_actorsparent_allignment.patch')
-rw-r--r--workaround_dom_indexdb_actorsparent_allignment.patch70
1 files changed, 70 insertions, 0 deletions
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 =
bgstack15