diff options
Diffstat (limited to 'www-client/firefox/files')
5 files changed, 0 insertions, 548 deletions
diff --git a/www-client/firefox/files/firefox-73.0_fix_llvm9.patch b/www-client/firefox/files/firefox-73.0_fix_llvm9.patch deleted file mode 100644 index e12417e6a024..000000000000 --- a/www-client/firefox/files/firefox-73.0_fix_llvm9.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/config/gcc-stl-wrapper.template.h b/config/gcc-stl-wrapper.template.h ---- a/config/gcc-stl-wrapper.template.h -+++ b/config/gcc-stl-wrapper.template.h -@@ -32,6 +32,14 @@ - # define moz_dont_include_mozalloc_for_cstdlib - #endif - -+#ifndef moz_dont_include_mozalloc_for_type_traits -+# define moz_dont_include_mozalloc_for_type_traits -+#endif -+ -+#ifndef moz_dont_include_mozalloc_for_limits -+# define moz_dont_include_mozalloc_for_limits -+#endif -+ - // Include mozalloc after the STL header and all other headers it includes - // have been preprocessed. - #if !defined(MOZ_INCLUDE_MOZALLOC_H) && \ - diff --git a/www-client/firefox/files/firefox-73.0_fix_lto_pgo_builds.patch b/www-client/firefox/files/firefox-73.0_fix_lto_pgo_builds.patch deleted file mode 100644 index 5e2420c60c41..000000000000 --- a/www-client/firefox/files/firefox-73.0_fix_lto_pgo_builds.patch +++ /dev/null @@ -1,51 +0,0 @@ -From c193eba68325c07bbf13eb3995842545b7d23695 Mon Sep 17 00:00:00 2001 -From: -Date: Thu, 13 Feb 2020 20:29:09 -0600 -Subject: [PATCH] Fix pgo/lto builds - ---- - build/moz.configure/lto-pgo.configure | 4 ++-- - security/sandbox/linux/moz.build | 5 ++--- - 2 files changed, 4 insertions(+), 5 deletions(-) - -diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure -index 394c1d8911..1f26a6e565 100644 ---- a/build/moz.configure/lto-pgo.configure -+++ b/build/moz.configure/lto-pgo.configure -@@ -70,7 +70,7 @@ set_config('PGO_PROFILE_PATH', pgo_profile_path) - def pgo_flags(compiler, target, profdata): - if compiler.type == 'gcc': - return namespace( -- gen_cflags=['-fprofile-generate'], -+ gen_cflags=['-fprofile-generate', '-DMOZ_PROFILE_INSTRUMENTATION'], - gen_ldflags=['-fprofile-generate'], - use_cflags=['-fprofile-use', '-fprofile-correction', - '-Wcoverage-mismatch'], -@@ -91,7 +91,7 @@ def pgo_flags(compiler, target, profdata): - gen_ldflags = ['-fprofile-generate'] - - return namespace( -- gen_cflags=[prefix + '-fprofile-generate'], -+ gen_cflags=[prefix + '-fprofile-generate', '-DMOZ_PROFILE_INSTRUMENTATION'], - gen_ldflags=gen_ldflags, - use_cflags=[prefix + '-fprofile-use=%s' % profdata, - # Some error messages about mismatched profile data -diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build -index aae85843e9..e300260fa0 100644 ---- a/security/sandbox/linux/moz.build -+++ b/security/sandbox/linux/moz.build -@@ -100,9 +100,8 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'): - # gcc lto likes to put the top level asm in syscall.cc in a different partition - # from the function using it which breaks the build. Work around that by - # forcing there to be only one partition. --for f in CONFIG['OS_CXXFLAGS']: -- if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang': -- LDFLAGS += ['--param', 'lto-partitions=1'] -+if CONFIG['CC_TYPE'] != 'clang': -+ LDFLAGS += ['--param', 'lto-partitions=1'] - - DEFINES['NS_NO_XPCOM'] = True - DisableStlWrapping() --- -2.25.0 - diff --git a/www-client/firefox/files/firefox-74.0-bug1607052-font-selection-regression.patch b/www-client/firefox/files/firefox-74.0-bug1607052-font-selection-regression.patch deleted file mode 100644 index 7c962f8ddc14..000000000000 --- a/www-client/firefox/files/firefox-74.0-bug1607052-font-selection-regression.patch +++ /dev/null @@ -1,281 +0,0 @@ -commit 9d26727a4e85 -Author: Zibi Braniecki <zbraniecki@mozilla.com> -Date: Fri Feb 21 00:39:18 2020 +0000 - - Bug 1607052 - Unify language identifier canonicalization in LocaleService and OSPreferences to use unic_langid, and extend GTK's RegionalPrefs reading to fallback on SystemLocales. r=jfkthame - - Differential Revision: https://phabricator.services.mozilla.com/D63393 - - --HG-- - extra : moz-landing-system : lando ---- - intl/locale/LocaleService.cpp | 53 ++------------------------- - intl/locale/LocaleService.h | 18 +++++++++ - intl/locale/OSPreferences.cpp | 18 ++------- - intl/locale/rust/unic-langid-ffi/src/lib.rs | 33 ++++++++++++++--- - intl/locale/tests/gtest/TestLocaleService.cpp | 23 ++++++++++++ - intl/locale/tests/unit/test_localeService.js | 3 +- - 6 files changed, 77 insertions(+), 71 deletions(-) - -diff --git intl/locale/LocaleService.cpp intl/locale/LocaleService.cpp -index f7e13e36ccbc7..6708c4af4b5c3 100644 ---- old/intl/locale/LocaleService.cpp -+++ new/intl/locale/LocaleService.cpp -@@ -39,51 +39,6 @@ NS_IMPL_ISUPPORTS(LocaleService, mozILocaleService, nsIObserver, - - mozilla::StaticRefPtr<LocaleService> LocaleService::sInstance; - --/** -- * This function transforms a canonical Mozilla Language Tag, into it's -- * BCP47 compilant form. -- * -- * Example: "ja-JP-mac" -> "ja-JP-macos" -- * -- * The BCP47 form should be used for all calls to ICU/Intl APIs. -- * The canonical form is used for all internal operations. -- */ --static bool SanitizeForBCP47(nsACString& aLocale, bool strict) { -- // Currently, the only locale code we use that's not BCP47-conformant is -- // "ja-JP-mac" on OS X, and ICU canonicalizes it into a mouthfull -- // "ja-JP-x-lvariant-mac", so instead we're hardcoding a conversion -- // of it to "ja-JP-macos". -- if (aLocale.LowerCaseEqualsASCII("ja-jp-mac")) { -- aLocale.AssignLiteral("ja-JP-macos"); -- return true; -- } -- -- nsAutoCString locale(aLocale); -- locale.Trim(" "); -- -- // POSIX may bring us locales such as "en-US.UTF8", which -- // ICU converts to `en-US-u-va-posix`. Let's cut out -- // the `.UTF8`, since it doesn't matter for us. -- int32_t pos = locale.FindChar('.'); -- if (pos != -1) { -- locale.Cut(pos, locale.Length() - pos); -- } -- -- // The rest of this function will use ICU canonicalization for any other -- // tag that may come this way. -- const int32_t LANG_TAG_CAPACITY = 128; -- char langTag[LANG_TAG_CAPACITY]; -- UErrorCode err = U_ZERO_ERROR; -- // This is a fail-safe method that will set langTag to "und" if it cannot -- // match any part of the input locale code. -- int32_t len = uloc_toLanguageTag(locale.get(), langTag, LANG_TAG_CAPACITY, -- strict, &err); -- if (U_SUCCESS(err) && len > 0) { -- aLocale.Assign(langTag, len); -- } -- return U_SUCCESS(err); --} -- - /** - * This function splits an input string by `,` delimiter, sanitizes the result - * language tags and returns them to the caller. -@@ -93,7 +48,7 @@ static void SplitLocaleListStringIntoArray(nsACString& str, - if (str.Length() > 0) { - for (const nsACString& part : str.Split(',')) { - nsAutoCString locale(part); -- if (SanitizeForBCP47(locale, true)) { -+ if (LocaleService::CanonicalizeLanguageId(locale)) { - if (!aRetVal.Contains(locale)) { - aRetVal.AppendElement(locale); - } -@@ -421,7 +376,7 @@ LocaleService::GetDefaultLocale(nsACString& aRetVal) { - locale.Trim(" \t\n\r"); - // This should never be empty. - MOZ_ASSERT(!locale.IsEmpty()); -- if (SanitizeForBCP47(locale, true)) { -+ if (CanonicalizeLanguageId(locale)) { - mDefaultLocale.Assign(locale); - } - -@@ -617,7 +572,7 @@ LocaleService::SetRequestedLocales(const nsTArray<nsCString>& aRequested) { - - for (auto& req : aRequested) { - nsAutoCString locale(req); -- if (!SanitizeForBCP47(locale, true)) { -+ if (!CanonicalizeLanguageId(locale)) { - NS_ERROR("Invalid language tag provided to SetRequestedLocales!"); - return NS_ERROR_INVALID_ARG; - } -@@ -667,7 +622,7 @@ LocaleService::SetAvailableLocales(const nsTArray<nsCString>& aAvailable) { - - for (auto& avail : aAvailable) { - nsAutoCString locale(avail); -- if (!SanitizeForBCP47(locale, true)) { -+ if (!CanonicalizeLanguageId(locale)) { - NS_ERROR("Invalid language tag provided to SetAvailableLocales!"); - return NS_ERROR_INVALID_ARG; - } -diff --git intl/locale/LocaleService.h intl/locale/LocaleService.h -index 2ff428da3e3fd..5f5152c1fbb7a 100644 ---- old/intl/locale/LocaleService.h -+++ new/intl/locale/LocaleService.h -@@ -10,6 +10,7 @@ - #include "nsString.h" - #include "nsTArray.h" - #include "nsWeakReference.h" -+#include "MozLocaleBindings.h" - - #include "mozILocaleService.h" - -@@ -104,6 +105,23 @@ class LocaleService final : public mozILocaleService, - return RefPtr<LocaleService>(GetInstance()).forget(); - } - -+ /** -+ * Canonicalize a Unicode Language Identifier string. -+ * -+ * The operation is: -+ * * Normalizing casing (`eN-Us-Windows` -> `en-US-windows`) -+ * * Switching `_` to `-` (`en_US` -> `en-US`) -+ * * Rejecting invalid identifiers (`e21-X` sets aLocale to `und` and -+ * returns false) -+ * * Normalizing Mozilla's `ja-JP-mac` to `ja-JP-macos` -+ * * Cutting off POSIX dot postfix (`en-US.utf8` -> `en-US`) -+ * -+ * This operation should be used on any external input before -+ * it gets used in internal operations. -+ */ -+ static bool CanonicalizeLanguageId(nsACString& aLocale) { -+ return ffi::unic_langid_canonicalize(&aLocale); -+ } - /** - * This method should only be called in the client mode. - * -diff --git intl/locale/OSPreferences.cpp intl/locale/OSPreferences.cpp -index 283db96e0d718..f816ca57abfea 100644 ---- old/intl/locale/OSPreferences.cpp -+++ new/intl/locale/OSPreferences.cpp -@@ -54,19 +54,7 @@ void OSPreferences::Refresh() { - * It returns true if the canonicalization was successful. - */ - bool OSPreferences::CanonicalizeLanguageTag(nsCString& aLoc) { -- char langTag[512]; -- -- UErrorCode status = U_ZERO_ERROR; -- -- int32_t langTagLen = uloc_toLanguageTag(aLoc.get(), langTag, -- sizeof(langTag) - 1, false, &status); -- -- if (U_FAILURE(status)) { -- return false; -- } -- -- aLoc.Assign(langTag, langTagLen); -- return true; -+ return LocaleService::CanonicalizeLanguageId(aLoc); - } - - /** -@@ -291,7 +279,9 @@ OSPreferences::GetRegionalPrefsLocales(nsTArray<nsCString>& aRetVal) { - return NS_OK; - } - -- return NS_ERROR_FAILURE; -+ // If we failed to read regional prefs locales, -+ // use system locales as last fallback. -+ return GetSystemLocales(aRetVal); - } - - static OSPreferences::DateTimeFormatStyle ToDateTimeFormatStyle( -diff --git intl/locale/rust/unic-langid-ffi/src/lib.rs intl/locale/rust/unic-langid-ffi/src/lib.rs -index 701d3679c4cec..517e08c1a64c1 100644 ---- old/intl/locale/rust/unic-langid-ffi/src/lib.rs -+++ new/intl/locale/rust/unic-langid-ffi/src/lib.rs -@@ -5,18 +5,39 @@ - use nsstring::nsACString; - use nsstring::nsCString; - use thin_vec::ThinVec; --pub use unic_langid::LanguageIdentifier; -+pub use unic_langid::{LanguageIdentifier, LanguageIdentifierError}; -+ -+fn new_langid_for_mozilla(name: &nsACString) -> Result<LanguageIdentifier, LanguageIdentifierError> { -+ if name.eq_ignore_ascii_case(b"ja-jp-mac") { -+ "ja-JP-macos".parse() -+ } else { -+ // Cut out any `.FOO` like `en-US.POSIX`. -+ let mut name: &[u8] = name.as_ref(); -+ if let Some(ptr) = name.iter().position(|b| b == &b'.') { -+ name = &name[..ptr]; -+ } -+ LanguageIdentifier::from_bytes(name) -+ } -+} -+ -+#[no_mangle] -+pub unsafe extern "C" fn unic_langid_canonicalize(name: &mut nsACString) -> bool { -+ let langid = new_langid_for_mozilla(name); -+ -+ let result = langid.is_ok(); -+ -+ name.assign(&langid.unwrap_or_default().to_string()); -+ -+ result -+} -+ - - #[no_mangle] - pub unsafe extern "C" fn unic_langid_new( - name: &nsACString, - ret_val: &mut bool, - ) -> *mut LanguageIdentifier { -- let langid = if name.eq_ignore_ascii_case(b"ja-jp-mac") { -- "ja-JP-macos".parse() -- } else { -- LanguageIdentifier::from_bytes(name) -- }; -+ let langid = new_langid_for_mozilla(name); - - *ret_val = langid.is_ok(); - Box::into_raw(Box::new(langid.unwrap_or_default())) -diff --git intl/locale/tests/gtest/TestLocaleService.cpp intl/locale/tests/gtest/TestLocaleService.cpp -index b13ecfd237dfa..aaac8615b09fd 100644 ---- old/intl/locale/tests/gtest/TestLocaleService.cpp -+++ new/intl/locale/tests/gtest/TestLocaleService.cpp -@@ -10,6 +10,29 @@ - - using namespace mozilla::intl; - -+TEST(Intl_Locale_LocaleService, CanonicalizeLanguageId) -+{ -+ nsCString locale("en-US.POSIX"); -+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale)); -+ ASSERT_TRUE(locale.EqualsLiteral("en-US")); -+ -+ locale.AssignLiteral("en-US_POSIX"); -+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale)); -+ ASSERT_TRUE(locale.EqualsLiteral("en-US-posix")); -+ -+ locale.AssignLiteral("en-US-POSIX"); -+ ASSERT_TRUE(LocaleService::CanonicalizeLanguageId(locale)); -+ ASSERT_TRUE(locale.EqualsLiteral("en-US-posix")); -+ -+ locale.AssignLiteral("C"); -+ ASSERT_FALSE(LocaleService::CanonicalizeLanguageId(locale)); -+ ASSERT_TRUE(locale.EqualsLiteral("und")); -+ -+ locale.AssignLiteral(""); -+ ASSERT_FALSE(LocaleService::CanonicalizeLanguageId(locale)); -+ ASSERT_TRUE(locale.EqualsLiteral("und")); -+} -+ - TEST(Intl_Locale_LocaleService, GetAppLocalesAsBCP47) - { - nsTArray<nsCString> appLocales; -diff --git intl/locale/tests/unit/test_localeService.js intl/locale/tests/unit/test_localeService.js -index 1970ae94b2607..202c2674972a8 100644 ---- old/intl/locale/tests/unit/test_localeService.js -+++ new/intl/locale/tests/unit/test_localeService.js -@@ -204,8 +204,7 @@ add_test(function test_requestedLocales_sanitize() { - Assert.equal(locales[0], "de"); - Assert.equal(locales[1], "pl"); - Assert.equal(locales[2], "de-AT"); -- Assert.equal(locales[3], "und"); -- Assert.equal(locales.length, 4); -+ Assert.equal(locales.length, 3); - - Services.prefs.clearUserPref(PREF_REQUESTED_LOCALES); - diff --git a/www-client/firefox/files/mozilla-bug1601707-gcc-fixup-72.patch b/www-client/firefox/files/mozilla-bug1601707-gcc-fixup-72.patch deleted file mode 100644 index 8e2cbee55357..000000000000 --- a/www-client/firefox/files/mozilla-bug1601707-gcc-fixup-72.patch +++ /dev/null @@ -1,83 +0,0 @@ - -# HG changeset patch -# User Simon Giesecke <sgiesecke@mozilla.com> -# Date 1576592608 0 -# Node ID 810f85be6ba971bfad7fdacf1722e7c40b08be75 -# Parent 230e7d093c196ddbe7430179321d236590936cfa -Bug 1601707 - Workaround for compilers that do not extend the lifetime of temporaries resulting from ?: expressions. r=dom-workers-and-storage-reviewers,janv - -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 -@@ -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("INTO object_data " - "(object_store_id, key, file_ids, data) " - "VALUES (:") + - 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); - - 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"); - - // 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); - - 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"); - - // 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 ") + - diff --git a/www-client/firefox/files/mozilla-bug1601707-gcc-fixup.patch b/www-client/firefox/files/mozilla-bug1601707-gcc-fixup.patch deleted file mode 100644 index 7002c6d70b70..000000000000 --- a/www-client/firefox/files/mozilla-bug1601707-gcc-fixup.patch +++ /dev/null @@ -1,114 +0,0 @@ -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; -- 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 (:") + -@@ -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(); - -- 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 +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 - - 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 +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 = |