summarylogtreecommitdiffstats
path: root/workaround_dom_indexdb_actorsparent_allignment.patch
diff options
context:
space:
mode:
authorBjörn Bidar2020-01-11 02:40:08 +0100
committerBjörn Bidar2020-01-11 11:11:41 +0100
commit23f756fa7e0b6d0f663d22b175b8c2a1cab4e4da (patch)
tree1113e98d355866bb7dba19a09fe99f928a06cb02 /workaround_dom_indexdb_actorsparent_allignment.patch
parentf049ac6b7075f4e6d2bdb783dfbe1a0a08ccf864 (diff)
downloadaur-23f756fa7e0b6d0f663d22b175b8c2a1cab4e4da.tar.gz
upkg
- New upstream release - Revert patch from MOZILLA#1584000 to fix the building when system graphite2 is enabled. Upstream is missing features here. - Drop patch to fix building with python 3.8 as its merged in upstream - Update firefox-kde patches from openSUSE - Update unity-menubar patch from ubuntu - Updated patch to workaround issue GCC/Clang6 not supporting class-temporary#6.7 Its already merged for Firefox 73.
Diffstat (limited to 'workaround_dom_indexdb_actorsparent_allignment.patch')
-rw-r--r--workaround_dom_indexdb_actorsparent_allignment.patch143
1 files changed, 52 insertions, 91 deletions
diff --git a/workaround_dom_indexdb_actorsparent_allignment.patch b/workaround_dom_indexdb_actorsparent_allignment.patch
index c403e294a5ae..17f274e564b5 100644
--- a/workaround_dom_indexdb_actorsparent_allignment.patch
+++ b/workaround_dom_indexdb_actorsparent_allignment.patch
@@ -1,122 +1,83 @@
-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
+# HG changeset patch
+# User Simon Giesecke <sgiesecke@mozilla.com>
+# Date 1576592608 0
+# Node ID 8e71fa07fe004c2e4d04db6b9e77cdfbc7810d6a
+# Parent 23dbcfafb3b73d6c1c26c5021199b6fa608150c4
+Bug 1601707 - Workaround for compilers that do not extend the lifetime of temporaries resulting from ?: expressions. r=janv, a=RyanVM
+
+Differential Revision: https://phabricator.services.mozilla.com/D56873
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 @@ nsresult ObjectStoreAddOrPutRequestOp::D
+@@ -24578,19 +24578,19 @@ nsresult ObjectStoreAddOrPutRequestOp::D
+ }
+ }
+
+ // The "|| keyUnset" here is mostly a debugging tool. If a key isn't
+ // specified we should never have a collision and so it shouldn't matter
// 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 ");
++ 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("INSERT ") + optReplaceDirective +
NS_LITERAL_CSTRING("INTO object_data "
"(object_store_id, key, file_ids, data) "
"VALUES (:") +
-@@ -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;
+ kStmtParamNameObjectStoreId + NS_LITERAL_CSTRING(", :") +
+ kStmtParamNameKey + NS_LITERAL_CSTRING(", :") +
+ kStmtParamNameFileIds + NS_LITERAL_CSTRING(", :") +
+@@ -26422,19 +26422,19 @@ nsresult Cursor::OpenOp::DoIndexDatabase
+ MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenCursorParams);
+ MOZ_ASSERT(mCursor->mObjectStoreId);
+ MOZ_ASSERT(mCursor->mIndexId);
- 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
+ AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexDatabaseWork", DOM);
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& indexTable = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
++ const auto indexTable = mCursor->mUniqueIndex
++ ? NS_LITERAL_CSTRING("unique_index_data")
++ : NS_LITERAL_CSTRING("index_data");
- NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
+ // The result of MakeColumnPairSelectionList is stored in a local variable,
+ // since inlining it into the next statement causes a crash on some Mac OS X
+ // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
+ const auto columnPairSelectionList = MakeColumnPairSelectionList(
+ NS_LITERAL_CSTRING("index_table.value"),
+ NS_LITERAL_CSTRING("index_table.value_locale"), kColumnNameAliasSortKey,
+ mCursor->IsLocaleAware());
+@@ -26528,19 +26528,19 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
+ MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenKeyCursorParams);
+ MOZ_ASSERT(mCursor->mObjectStoreId);
+ MOZ_ASSERT(mCursor->mIndexId);
-@@ -26099,7 +26093,9 @@ nsresult Cursor::OpenOp::DoIndexDatabase
- "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 +26194,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
+ AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexKeyDatabaseWork", DOM);
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& table = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
++ 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 +26211,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
- 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 =
+ // The result of MakeColumnPairSelectionList is stored in a local variable,
+ // since inlining it into the next statement causes a crash on some Mac OS X
+ // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
+ const auto columnPairSelectionList = MakeColumnPairSelectionList(
+ NS_LITERAL_CSTRING("value"), NS_LITERAL_CSTRING("value_locale"),
+ kColumnNameAliasSortKey, mCursor->IsLocaleAware());
+ const nsCString sortColumnAlias = NS_LITERAL_CSTRING("SELECT ") +
+