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.patch76
1 files changed, 60 insertions, 16 deletions
diff --git a/workaround_dom_indexdb_actorsparent_allignment.patch b/workaround_dom_indexdb_actorsparent_allignment.patch
index e651efc..7002c6d 100644
--- a/workaround_dom_indexdb_actorsparent_allignment.patch
+++ b/workaround_dom_indexdb_actorsparent_allignment.patch
@@ -1,15 +1,7 @@
-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 @@
+diff -up firefox-71.0/dom/indexedDB/ActorsParent.cpp.gcc-workaround firefox-71.0/dom/indexedDB/ActorsParent.cpp
+--- firefox-71.0/dom/indexedDB/ActorsParent.cpp.gcc-workaround 2019-12-02 13:22:58.000000000 +0100
++++ firefox-71.0/dom/indexedDB/ActorsParent.cpp 2019-12-08 21:52:54.449199120 +0100
+@@ -24311,11 +24311,11 @@ nsresult ObjectStoreAddOrPutRequestOp::D
// if we allow overwrite or not. By not allowing overwrite we raise
// detectable errors rather than corrupting data.
DatabaseConnection::CachedStatement stmt;
@@ -25,7 +17,59 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_LITERAL_CSTRING("INTO object_data "
"(object_store_id, key, file_ids, data) "
"VALUES (:") +
-@@ -26076,9 +26076,6 @@
+@@ -25869,11 +25869,8 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ }
+ }
+
+- const auto& comparisonChar =
+- isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<");
+-
+ mCursor->mContinueToQuery =
+- aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") + comparisonChar +
++ aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") + (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) +
+ NS_LITERAL_CSTRING("= :") + kStmtParamNameCurrentKey;
+
+ switch (mCursor->mDirection) {
+@@ -25881,11 +25878,11 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ case IDBCursor::PREV:
+ mCursor->mContinueQuery =
+ aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING("= :") +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING("= :") +
+ kStmtParamNameCurrentKey + NS_LITERAL_CSTRING(" AND ( sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
+ NS_LITERAL_CSTRING(" OR ") + aObjectDataKeyPrefix +
+- NS_LITERAL_CSTRING("object_data_key ") + comparisonChar +
++ NS_LITERAL_CSTRING("object_data_key ") + (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) +
+ NS_LITERAL_CSTRING(" :") + kStmtParamNameObjectStorePosition +
+ NS_LITERAL_CSTRING(" ) ");
+
+@@ -25896,12 +25893,12 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ "(sort_column == :") +
+ kStmtParamNameCurrentKey + NS_LITERAL_CSTRING(" AND ") +
+ aObjectDataKeyPrefix + NS_LITERAL_CSTRING("object_data_key ") +
+- comparisonChar + NS_LITERAL_CSTRING("= :") +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING("= :") +
+ kStmtParamNameObjectStorePosition +
+ NS_LITERAL_CSTRING(
+ ") OR "
+ "sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
+ NS_LITERAL_CSTRING(")");
+ break;
+
+@@ -25909,7 +25906,7 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+ case IDBCursor::PREV_UNIQUE:
+ mCursor->mContinueQuery =
+ aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") +
+- comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey;
++ (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey;
+ break;
+
+ default:
+@@ -26076,9 +26073,6 @@ nsresult Cursor::OpenOp::DoIndexDatabase
const bool usingKeyRange = mOptionalKeyRange.isSome();
@@ -35,7 +79,7 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
-@@ -26099,7 +26096,9 @@
+@@ -26099,7 +26093,9 @@ nsresult Cursor::OpenOp::DoIndexDatabase
"object_data.file_ids, "
"object_data.data "
"FROM ") +
@@ -46,7 +90,7 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_LITERAL_CSTRING(
" AS index_table "
"JOIN object_data "
-@@ -26198,9 +26197,6 @@
+@@ -26198,9 +26194,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
const bool usingKeyRange = mOptionalKeyRange.isSome();
@@ -56,7 +100,7 @@ diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
-@@ -26218,7 +26214,10 @@
+@@ -26218,7 +26211,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
NS_LITERAL_CSTRING(
"object_data_key "
" FROM ") +
bgstack15