lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 18606 discussions
[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-115.11.0esr-13.0-1-build3
by Pier Angelo Vendrame (@pierov) 13 May '24

13 May '24
Pier Angelo Vendrame pushed new tag tor-browser-115.11.0esr-13.0-1-build3 at The Tor Project / Applications / Tor Browser -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.0-1] 2 commits: fixup! Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView
by Pier Angelo Vendrame (@pierov) 13 May '24

13 May '24
Pier Angelo Vendrame pushed to branch mullvad-browser-115.11.0esr-13.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 16ff0199 by Pier Angelo Vendrame at 2024-05-13T11:49:04+02:00 fixup! Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView Revert &quot;Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView&quot; This reverts commit ff97b6fb06850784785e6993c256bef315b2525f. - - - - - 9d8bcd60 by Pier Angelo Vendrame at 2024-05-13T11:49:06+02:00 Bug 42562: Normalized the Accepted Languages on Android. The OS language might be outside the list of actually supported languages and it might leak the user&#39;s region. Therefore, we force the locale reported in Accept-Language to match one we support with translations, even when it means using a not exact region tag. - - - - - 1 changed file: - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java Changes: ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java ===================================== @@ -22,7 +22,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; import java.util.Locale; import org.mozilla.gecko.EventDispatcher; import org.mozilla.gecko.GeckoSystemStateListener; @@ -455,6 +456,16 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { return this; } + public @NonNull Builder supportedLocales(final Collection<String> locales) { + getSettings().mSupportedLocales.clear(); + for (String tag : locales) { + Locale locale = Locale.forLanguageTag(tag); + getSettings().mSupportedLocales.put(locale, locale); + getSettings().mSupportedLocales.put(new Locale(locale.getLanguage()), locale); + } + return this; + } + /** * Sets whether we should spoof locale to English for webpages. * @@ -539,6 +550,7 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { /* package */ int mScreenHeightOverride; /* package */ Class<? extends Service> mCrashHandler; /* package */ String[] mRequestedLocales; + /* package */ HashMap<Locale, Locale> mSupportedLocales = new HashMap<>(); /* package */ RuntimeTelemetry.Proxy mTelemetryProxy; /** @@ -595,6 +607,7 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { mRequestedLocales = settings.mRequestedLocales; mConfigFilePath = settings.mConfigFilePath; mTelemetryProxy = settings.mTelemetryProxy; + mSupportedLocales = settings.mSupportedLocales; } /* package */ void commit() { @@ -803,30 +816,39 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { EventDispatcher.getInstance().dispatch("GeckoView:SetLocale", data); } + private Locale getLocaleIfSupported(String tag) { + Locale exact = Locale.forLanguageTag(tag); + if (mSupportedLocales.containsKey(exact)) { + return exact; + } + Locale fallback = new Locale(exact.getLanguage()); + return mSupportedLocales.get(fallback); + } + private String computeAcceptLanguages() { - final ArrayList<String> locales = new ArrayList<String>(); - - // In Desktop, these are defined in the `intl.accept_languages` localized property. - // At some point we should probably use the same values here, but for now we use a simple - // strategy which will hopefully result in reasonable acceptLanguage values. - if (mRequestedLocales != null && mRequestedLocales.length > 0) { - String locale = mRequestedLocales[0].toLowerCase(Locale.ROOT); - // No need to include `en-us` twice. - if (!locale.equals("en-us")) { - locales.add(locale); - if (locale.contains("-")) { - String lang = locale.split("-")[0]; - // No need to include `en` twice. - if (!lang.equals("en")) { - locales.add(lang); - } + Locale locale = null; + if (mRequestedLocales != null) { + for (String tag : mRequestedLocales) { + locale = getLocaleIfSupported(tag); + if (locale != null) { + break; } } } - locales.add("en-us"); - locales.add("en"); - - return TextUtils.join(",", locales); + if (locale == null) { + for (final String tag : getDefaultLocales()) { + locale = getLocaleIfSupported(tag); + if (locale != null) { + break; + } + } + } + String acceptLanguages = locale != null ? locale.toString().replace('_', '-') : "en-US"; + if (acceptLanguages.equals("en-US")) { + // For consistency with spoof English. + acceptLanguages += ", en"; + } + return acceptLanguages; } private static String[] getDefaultLocales() { View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/0d… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/0d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/firefox-android][firefox-android-115.2.1-13.0-1] Bug 42652: Pass the list of supported languages to GeckoView.
by Pier Angelo Vendrame (@pierov) 13 May '24

13 May '24
Pier Angelo Vendrame pushed to branch firefox-android-115.2.1-13.0-1 at The Tor Project / Applications / firefox-android Commits: f7d9fabc by Pier Angelo Vendrame at 2024-05-13T11:46:53+02:00 Bug 42652: Pass the list of supported languages to GeckoView. It will be used to prevent leaks about regional preferences. - - - - - 1 changed file: - fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt Changes: ===================================== fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt ===================================== @@ -14,6 +14,7 @@ import mozilla.components.concept.storage.LoginsStorage import mozilla.components.lib.crash.handler.CrashHandlerService import mozilla.components.service.sync.autofill.GeckoCreditCardsAddressesStorageDelegate import mozilla.components.service.sync.logins.GeckoLoginStorageDelegate +import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.Config import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings @@ -58,6 +59,7 @@ object GeckoProvider { .contentBlocking(policy.toContentBlockingSetting()) .debugLogging(Config.channel.isDebug || context.components.settings.enableGeckoLogs) .aboutConfigEnabled(Config.channel.isBeta || Config.channel.isNightlyOrDebug) + .supportedLocales(BuildConfig.SUPPORTED_LOCALE_ARRAY.toList()) .build() val settings = context.components.settings View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/f7d… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/f7d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.11.0esr-13.0-1] 2 commits: fixup! Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView
by Pier Angelo Vendrame (@pierov) 13 May '24

13 May '24
Pier Angelo Vendrame pushed to branch tor-browser-115.11.0esr-13.0-1 at The Tor Project / Applications / Tor Browser Commits: eb5afe56 by Pier Angelo Vendrame at 2024-05-13T11:45:28+02:00 fixup! Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView Revert &quot;Bug 40199: Avoid using system locale for intl.accept_languages in GeckoView&quot; This reverts commit ff97b6fb06850784785e6993c256bef315b2525f. - - - - - 970e6b90 by Pier Angelo Vendrame at 2024-05-13T11:45:30+02:00 Bug 42562: Normalized the Accepted Languages on Android. The OS language might be outside the list of actually supported languages and it might leak the user&#39;s region. Therefore, we force the locale reported in Accept-Language to match one we support with translations, even when it means using a not exact region tag. - - - - - 1 changed file: - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java Changes: ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java ===================================== @@ -22,7 +22,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; import java.util.Locale; import org.mozilla.gecko.EventDispatcher; import org.mozilla.gecko.GeckoSystemStateListener; @@ -455,6 +456,16 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { return this; } + public @NonNull Builder supportedLocales(final Collection<String> locales) { + getSettings().mSupportedLocales.clear(); + for (String tag : locales) { + Locale locale = Locale.forLanguageTag(tag); + getSettings().mSupportedLocales.put(locale, locale); + getSettings().mSupportedLocales.put(new Locale(locale.getLanguage()), locale); + } + return this; + } + /** * Sets whether we should spoof locale to English for webpages. * @@ -539,6 +550,7 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { /* package */ int mScreenHeightOverride; /* package */ Class<? extends Service> mCrashHandler; /* package */ String[] mRequestedLocales; + /* package */ HashMap<Locale, Locale> mSupportedLocales = new HashMap<>(); /* package */ RuntimeTelemetry.Proxy mTelemetryProxy; /** @@ -595,6 +607,7 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { mRequestedLocales = settings.mRequestedLocales; mConfigFilePath = settings.mConfigFilePath; mTelemetryProxy = settings.mTelemetryProxy; + mSupportedLocales = settings.mSupportedLocales; } /* package */ void commit() { @@ -803,30 +816,39 @@ public final class GeckoRuntimeSettings extends RuntimeSettings { EventDispatcher.getInstance().dispatch("GeckoView:SetLocale", data); } + private Locale getLocaleIfSupported(String tag) { + Locale exact = Locale.forLanguageTag(tag); + if (mSupportedLocales.containsKey(exact)) { + return exact; + } + Locale fallback = new Locale(exact.getLanguage()); + return mSupportedLocales.get(fallback); + } + private String computeAcceptLanguages() { - final ArrayList<String> locales = new ArrayList<String>(); - - // In Desktop, these are defined in the `intl.accept_languages` localized property. - // At some point we should probably use the same values here, but for now we use a simple - // strategy which will hopefully result in reasonable acceptLanguage values. - if (mRequestedLocales != null && mRequestedLocales.length > 0) { - String locale = mRequestedLocales[0].toLowerCase(Locale.ROOT); - // No need to include `en-us` twice. - if (!locale.equals("en-us")) { - locales.add(locale); - if (locale.contains("-")) { - String lang = locale.split("-")[0]; - // No need to include `en` twice. - if (!lang.equals("en")) { - locales.add(lang); - } + Locale locale = null; + if (mRequestedLocales != null) { + for (String tag : mRequestedLocales) { + locale = getLocaleIfSupported(tag); + if (locale != null) { + break; } } } - locales.add("en-us"); - locales.add("en"); - - return TextUtils.join(",", locales); + if (locale == null) { + for (final String tag : getDefaultLocales()) { + locale = getLocaleIfSupported(tag); + if (locale != null) { + break; + } + } + } + String acceptLanguages = locale != null ? locale.toString().replace('_', '-') : "en-US"; + if (acceptLanguages.equals("en-US")) { + // For consistency with spoof English. + acceptLanguages += ", en"; + } + return acceptLanguages; } private static String[] getDefaultLocales() { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f87ae3… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f87ae3… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/firefox-android][firefox-android-115.2.1-13.5-1] Bug 1885171 - set private keyboard on Javascript prompts in private browsing...
by Pier Angelo Vendrame (@pierov) 13 May '24

13 May '24
Pier Angelo Vendrame pushed to branch firefox-android-115.2.1-13.5-1 at The Tor Project / Applications / firefox-android Commits: 8e9aca94 by Titouan Thibaud at 2024-05-13T09:31:35+02:00 Bug 1885171 - set private keyboard on Javascript prompts in private browsing r=android-reviewers,boek Differential Revision: https://phabricator.services.mozilla.com/D208135 - - - - - 3 changed files: - android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt - android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/TextPromptDialogFragment.kt - android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/dialog/TextPromptDialogFragmentTest.kt Changes: ===================================== android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt ===================================== @@ -17,6 +17,7 @@ import kotlinx.coroutines.flow.map import mozilla.components.browser.state.action.ContentAction import mozilla.components.browser.state.selector.findTabOrCustomTab import mozilla.components.browser.state.selector.findTabOrCustomTabOrSelectedTab +import mozilla.components.browser.state.selector.selectedTab import mozilla.components.browser.state.state.SessionState import mozilla.components.browser.state.store.BrowserStore import mozilla.components.concept.engine.prompt.Choice @@ -772,6 +773,7 @@ class PromptFeature private constructor( inputLabel, inputValue, promptAbuserDetector.areDialogsBeingAbused(), + store.state.selectedTab?.content?.private == true, ) } } ===================================== android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/TextPromptDialogFragment.kt ===================================== @@ -11,14 +11,17 @@ import android.os.Bundle import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater +import android.view.inputmethod.EditorInfo.IME_NULL import android.widget.EditText import android.widget.TextView import androidx.appcompat.app.AlertDialog +import androidx.core.view.inputmethod.EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING import mozilla.components.feature.prompts.R private const val KEY_USER_EDIT_TEXT = "KEY_USER_EDIT_TEXT" private const val KEY_LABEL_INPUT = "KEY_LABEL_INPUT" private const val KEY_DEFAULT_INPUT_VALUE = "KEY_DEFAULT_INPUT_VALUE" +private const val KEY_PRIVATE = "KEY_PRIVATE" /** * [androidx.fragment.app.DialogFragment] implementation to display a @@ -37,6 +40,11 @@ internal class TextPromptDialogFragment : AbstractPromptTextDialogFragment(), Te */ internal val labelInput: String? by lazy { safeArguments.getString(KEY_LABEL_INPUT) } + /** + * Tells if the Dialog is shown from private browsing + */ + internal val private: Boolean? by lazy { safeArguments.getBoolean(KEY_PRIVATE) } + private var userSelectionEditText: String get() = safeArguments.getString(KEY_USER_EDIT_TEXT, defaultInputValue) set(value) { @@ -72,6 +80,7 @@ internal class TextPromptDialogFragment : AbstractPromptTextDialogFragment(), Te label.text = labelInput editText.setText(defaultInputValue) editText.addTextChangedListener(this) + editText.imeOptions = if (private == true) IME_FLAG_NO_PERSONALIZED_LEARNING else IME_NULL addCheckBoxIfNeeded(view) @@ -99,6 +108,7 @@ internal class TextPromptDialogFragment : AbstractPromptTextDialogFragment(), Te * @param hasShownManyDialogs tells if this [sessionId] has shown many dialogs * in a short period of time, if is true a checkbox will be part of the dialog, for the user * to choose if wants to prevent this [sessionId] continuing showing dialogs. + * @param private tells if this dialog is triggered from private browsing */ @Suppress("LongParameterList") fun newInstance( @@ -109,6 +119,7 @@ internal class TextPromptDialogFragment : AbstractPromptTextDialogFragment(), Te inputLabel: String, defaultInputValue: String, hasShownManyDialogs: Boolean, + private: Boolean, ): TextPromptDialogFragment { val fragment = TextPromptDialogFragment() val arguments = fragment.arguments ?: Bundle() @@ -121,6 +132,7 @@ internal class TextPromptDialogFragment : AbstractPromptTextDialogFragment(), Te putString(KEY_LABEL_INPUT, inputLabel) putString(KEY_DEFAULT_INPUT_VALUE, defaultInputValue) putBoolean(KEY_MANY_ALERTS, hasShownManyDialogs) + putBoolean(KEY_PRIVATE, private) } fragment.arguments = arguments ===================================== android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/dialog/TextPromptDialogFragmentTest.kt ===================================== @@ -6,9 +6,11 @@ package mozilla.components.feature.prompts.dialog import android.content.DialogInterface.BUTTON_POSITIVE import android.os.Looper.getMainLooper +import android.view.inputmethod.EditorInfo.IME_NULL import android.widget.CheckBox import android.widget.TextView import androidx.appcompat.app.AlertDialog +import androidx.core.view.inputmethod.EditorInfoCompat import androidx.core.view.isVisible import androidx.test.ext.junit.runners.AndroidJUnit4 import mozilla.components.feature.prompts.R.id @@ -41,7 +43,7 @@ class TextPromptDialogFragmentTest { @Test fun `build dialog`() { val fragment = spy( - TextPromptDialogFragment.newInstance("sessionId", "uid", true, "title", "label", "defaultValue", true), + TextPromptDialogFragment.newInstance("sessionId", "uid", true, "title", "label", "defaultValue", true, false), ) doReturn(appCompatContext).`when`(fragment).requireContext() @@ -73,12 +75,14 @@ class TextPromptDialogFragmentTest { inputValue.text = "NewValue" assertEquals(inputValue.text.toString(), "NewValue") + + assertEquals(IME_NULL, inputValue.imeOptions) } @Test fun `TextPrompt with hasShownManyDialogs equals false should not have a checkbox`() { val fragment = spy( - TextPromptDialogFragment.newInstance("sessionId", "uid", false, "title", "label", "defaultValue", false), + TextPromptDialogFragment.newInstance("sessionId", "uid", false, "title", "label", "defaultValue", false, false), ) doReturn(appCompatContext).`when`(fragment).requireContext() @@ -95,7 +99,7 @@ class TextPromptDialogFragmentTest { @Test fun `Clicking on positive button notifies the feature`() { val fragment = spy( - TextPromptDialogFragment.newInstance("sessionId", "uid", true, "title", "label", "defaultValue", false), + TextPromptDialogFragment.newInstance("sessionId", "uid", true, "title", "label", "defaultValue", false, false), ) fragment.feature = mockFeature @@ -115,7 +119,7 @@ class TextPromptDialogFragmentTest { @Test fun `After checking no more dialogs checkbox feature onNoMoreDialogsChecked must be called`() { val fragment = spy( - TextPromptDialogFragment.newInstance("sessionId", "uid", false, "title", "label", "defaultValue", true), + TextPromptDialogFragment.newInstance("sessionId", "uid", false, "title", "label", "defaultValue", true, false), ) fragment.feature = mockFeature @@ -139,7 +143,7 @@ class TextPromptDialogFragmentTest { @Test fun `touching outside of the dialog must notify the feature onCancel`() { val fragment = spy( - TextPromptDialogFragment.newInstance("sessionId", "uid", true, "title", "label", "defaultValue", true), + TextPromptDialogFragment.newInstance("sessionId", "uid", true, "title", "label", "defaultValue", true, false), ) fragment.feature = mockFeature @@ -150,4 +154,19 @@ class TextPromptDialogFragmentTest { verify(mockFeature).onCancel("sessionId", "uid") } + + @Test + fun `when TextPromptDialogFragment is created in private mode then keyboard is in private mode`() { + val fragment = spy( + TextPromptDialogFragment.newInstance("sessionId", "uid", true, "title", "label", "defaultValue", true, true), + ) + + fragment.feature = mockFeature + doReturn(appCompatContext).`when`(fragment).requireContext() + + val dialog = fragment.onCreateDialog(null).also { it.show() } + val editText = dialog.findViewById<TextView>(id.input_value) + + assertEquals(EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING, editText.imeOptions) + } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/8e9… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/commit/8e9… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag mb-13.0.15-build1
by richard (@richard) 10 May '24

10 May '24
richard pushed new tag mb-13.0.15-build1 at The Tor Project / Applications / tor-browser-build -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-13.0.15-build1
by richard (@richard) 10 May '24

10 May '24
richard pushed new tag tbb-13.0.15-build1 at The Tor Project / Applications / tor-browser-build -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-13.0] Bug 41119, 41120: Prepare Tor and Mullvad Browser Stable 13.0.15
by richard (@richard) 10 May '24

10 May '24
richard pushed to branch maint-13.0 at The Tor Project / Applications / tor-browser-build Commits: 73306567 by Richard Pospesel at 2024-05-10T20:32:51+00:00 Bug 41119, 41120: Prepare Tor and Mullvad Browser Stable 13.0.15 - - - - - 11 changed files: - projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt - projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt - projects/browser/allowed_addons.json - projects/firefox-android/config - projects/firefox/config - projects/geckoview/config - projects/go/config - projects/manual/config - projects/translation/config - projects/zstd/config - rbm.conf Changes: ===================================== projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt ===================================== @@ -1,3 +1,49 @@ +Mullvad Browser 13.0.15 - May 15 2024 + * All Platforms + * Updated Firefox to 115.11.0esr + * Bug 296: Rebase Mullvad Browser stable onto 115.10.0esr [mullvad-browser] + * Bug 42391: IndexDB's private directory not removed on browser shutdown in global private browsing mode [tor-browser] + * Bug 42532: Use the HomePage module for new identity checks [tor-browser] + * Bug 42565: Backport Android and desktop security fixes from Firefox 126 [tor-browser] + * Build System + * All Platforms + * Bug 41122: Add release date to rbm.conf [tor-browser-build] + * macOS + * Bug 42535: mac: app change to ja doesn't apply ja translations to most (all?) chrome [tor-browser] + +Mullvad Browser 13.5a7 - April 25 2024 + * All Platforms + * Updated Firefox to 115.10.0esr + * Updated uBlock Origin to 1.57.2 + * Bug 283: New identity complains about about:mullvad-browser [mullvad-browser] + * Bug 289: The Letterboxing>Content Alignment heading doesn't follow the Firefox design document capitalization [mullvad-browser] + * Bug 291: Rebase Mullvad Browser Alpha onto 115.10.0esr [mullvad-browser] + * Bug 40919: Consider dropping protection against line-height introduced in #23104 [tor-browser] + * Bug 42172: browser.startup.homepage and TOR_DEFAULT_HOMEPAGE are ignored for the new window opened by New Identity [tor-browser] + * Bug 42192: Correctly round new windows when bookmarks toolbar is set to "Only Show on New Tab" [tor-browser] + * Bug 42315: compat: why is eventCounts undefined? [tor-browser] + * Bug 42490: Install svg from branding theme to browser/chrome/icons/default [tor-browser] + * Bug 42500: When startup window is maximized per letterboxing.rememberSize on startup, the restore button shrinks it to its minimum size [tor-browser] + * Bug 42520: Correctly record new initial window size after auto-shrinking [tor-browser] + * Bug 42529: Try not to spoof system-ui in contexts exempt from RFP [tor-browser] + * Bug 42532: Use the HomePage module for new identity checks [tor-browser] + * Bug 42537: Move Fluent files from "browser" to "toolkit" [tor-browser] + * Windows + * Bug 41901: windows: FontSubstitutes can leak system locale [tor-browser] + * Linux + * Bug 41112: Fix indentation of projects/browser/RelativeLink/start-browser [tor-browser-build] + * Build System + * All Platforms + * Bug 282: Move `--disable-eme` to OS- and architecture-specific mozconfigs [mullvad-browser] + * Bug 42519: Update the profile directory patch to check both for `system-install` and for `is-packaged-app` file [tor-browser] + * Bug 41122: Add release date to rbm.conf [tor-browser-build] + * macOS + * Bug 42535: mac: app change to ja doesn't apply ja translations to most (all?) chrome [tor-browser] + * Bug 41124: Since TB/MB 13.5a5 macos signed installers contain all .DS_Store [tor-browser-build] + * Linux + * Bug 42491: Add mozconfig-linux-aarch64 [tor-browser] + * Bug 41083: Make deb package for Mullvad Browser [tor-browser-build] + Mullvad Browser 13.0.14 - April 16 2024 * All Platforms * Updated Firefox to 115.10.0esr ===================================== projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt ===================================== @@ -1,3 +1,84 @@ +Tor Browser 13.0.15 - May 14 2024 + * All Platforms + * Bug 42559: Rebase Tor Browser stable onto 115.11.0esr [tor-browser] + * Windows + macOS + Linux + * Updated Firefox to 115.11.0esr + * Bug 42391: IndexDB's private directory not removed on browser shutdown in global private browsing mode [tor-browser] + * Bug 42532: Use the HomePage module for new identity checks [tor-browser] + * Bug 42557: Fix regression in Onion Services authentication prompt focus [tor-browser] + * Bug 42565: Backport Android and desktop security fixes from Firefox 126 [tor-browser] + * Android + * Updated GeckoView to 115.11.0esr + * Bug 42195: Fix "What's new" URL to direct to latest version [tor-browser] + * Bug 42562: Restrict the accepted languages to the ones whose localization is available [tor-browser] + * Build System + * macOS + * Bug 42535: mac: app change to ja doesn't apply ja translations to most (all?) chrome [tor-browser] + +Tor Browser 13.5a7 - April 25 2024 + * All Platforms + * Updated Tor to 0.4.8.11 + * Bug 40919: Consider dropping protection against line-height introduced in #23104 [tor-browser] + * Bug 42315: compat: why is eventCounts undefined? [tor-browser] + * Bug 42476: Only allow Lox (invites) in alpha and nightly builds [tor-browser] + * Bug 42479: Switch from localized strings to error codes in TorConnect errors [tor-browser] + * Bug 42512: Rebase Tor Browser alpha onto 115.10.0esr [tor-browser] + * Bug 42521: Remove unused onboarding strings [tor-browser] + * Bug 42529: Try not to spoof system-ui in contexts exempt from RFP [tor-browser] + * Bug 42537: Move Fluent files from "browser" to "toolkit" [tor-browser] + * Bug 42538: Move onion icons to toolkit [tor-browser] + * Bug 41111: Use Lyrebird to provide WebTunnel PT Client [tor-browser-build] + * Windows + macOS + Linux + * Updated Firefox to 115.10.0esr + * Bug 40843: Add a working state to the Internet test button in connection settings [tor-browser] + * Bug 41622: Convert onion site errors to the new neterror template [tor-browser] + * Bug 41966: Cannot remove locales from the locale alternatives list [tor-browser] + * Bug 42192: Correctly round new windows when bookmarks toolbar is set to "Only Show on New Tab" [tor-browser] + * Bug 42202: Fluent migration: crypto safety [tor-browser] + * Bug 42206: Fluent migration: about:rulesets [tor-browser] + * Bug 42207: Fluent migration: preferences [tor-browser] + * Bug 42210: Fluent migration: download warning [tor-browser] + * Bug 42457: Loading icon for bridge pass (Lox) invites [tor-browser] + * Bug 42489: Lox module notifications [tor-browser] + * Bug 42490: Install svg from branding theme to browser/chrome/icons/default [tor-browser] + * Bug 42496: Moat refresh bug [tor-browser] + * Bug 42500: When startup window is maximized per letterboxing.rememberSize on startup, the restore button shrinks it to its minimum size [tor-browser] + * Bug 42504: TB Bookmarks: Add the Tor forum .onion to the bookmarks [tor-browser] + * Bug 42510: SETCONF Tor control protocol command should not be used when system Tor is configured / TOR_SKIP_LAUNCH=1 is not honored [tor-browser] + * Bug 42511: false positive message: browser tab bar shows "Not connected" even though connected in a system Tor etc. context [tor-browser] + * Bug 42520: Correctly record new initial window size after auto-shrinking [tor-browser] + * Bug 42532: Use the HomePage module for new identity checks [tor-browser] + * Bug 42533: Add Lox notification for activeLoxId [tor-browser] + * Bug 42540: Fix gNetworkStatus.deinint typo [tor-browser] + * Bug 289: The Letterboxing>Content Alignment heading doesn't follow the Firefox design document capitalization [mullvad-browser] + * Windows + * Bug 41901: windows: FontSubstitutes can leak system locale [tor-browser] + * Linux + * Bug 41112: Fix indentation of projects/browser/RelativeLink/start-browser [tor-browser-build] + * Android + * Updated GeckoView to 115.10.0esr + * Updated zstd to 1.5.6 + * Bug 42017: TBA13: system/widget font tests: font-family not returned in getComputedStyle [tor-browser] + * Bug 42195: Fix "What's new" URL to direct to latest version [tor-browser] + * Bug 42486: firefox-android bridge settings sometimes dont save [tor-browser] + * Bug 42522: The quick connect switch on Android seems too much on the right side [tor-browser] + * Build System + * All Platforms + * Updated Go to 1.21.9 + * Bug 42516: Make tb-dev worktree-compatible [tor-browser] + * Bug 41122: Add release date to rbm.conf [tor-browser-build] + * Windows + macOS + Linux + * Bug 42501: Move `--disable-eme` to OS- and architecture-specific mozconfigs [tor-browser] + * Bug 42519: Update the profile directory patch to check both for `system-install` and for `is-packaged-app` file [tor-browser] + * macOS + * Bug 42535: mac: app change to ja doesn't apply ja translations to most (all?) chrome [tor-browser] + * Bug 41124: Since TB/MB 13.5a5 macos signed installers contain all .DS_Store [tor-browser-build] + * Linux + * Bug 42491: Add mozconfig-linux-aarch64 [tor-browser] + * Android + * Bug 40992: Updated torbrowser_version number is not enough to change firefox-android versionCode number [tor-browser-build] + * Bug 41127: Android testbuilds fail because of the too early MOZ_BUILD_DATE [tor-browser-build] + Tor Browser 13.0.14 - April 16 2024 * All Platforms * Updated Tor to 0.4.8.11 ===================================== projects/browser/allowed_addons.json ===================================== Binary files a/projects/browser/allowed_addons.json and b/projects/browser/allowed_addons.json differ ===================================== projects/firefox-android/config ===================================== @@ -16,7 +16,7 @@ container: var: fenix_version: 115.2.1 browser_branch: 13.0-1 - browser_build: 15 + browser_build: 16 variant: Beta # This should be updated when the list of gradle dependencies is changed. gradle_dependencies_version: 1 ===================================== projects/firefox/config ===================================== @@ -14,11 +14,11 @@ container: use_container: 1 var: - firefox_platform_version: 115.10.0 + firefox_platform_version: 115.11.0 firefox_version: '[% c("var/firefox_platform_version") %]esr' browser_series: '13.0' browser_branch: '[% c("var/browser_series") %]-1' - browser_build: 1 + browser_build: 2 branding_directory_prefix: 'tb' copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]' nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]' ===================================== projects/geckoview/config ===================================== @@ -14,9 +14,9 @@ container: use_container: 1 var: - geckoview_version: 115.10.0esr + geckoview_version: 115.11.0esr browser_branch: 13.0-1 - browser_build: 1 + browser_build: 2 copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]' gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser git_commit: '[% exec("git rev-parse HEAD") %]' ===================================== projects/go/config ===================================== @@ -1,5 +1,5 @@ # vim: filetype=yaml sw=2 -version: '[% IF c("var/use_go_1_20") %]1.20.14[% ELSE %]1.21.9[% END %]' +version: '[% IF c("var/use_go_1_20") %]1.20.14[% ELSE %]1.21.10[% END %]' filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: use_container: 1 @@ -121,7 +121,7 @@ input_files: enable: '[% ! c("var/linux") %]' - URL: 'https://go.dev/dl/go[% c("version") %].src.tar.gz' name: go - sha256sum: 58f0c5ced45a0012bce2ff7a9df03e128abcc8818ebabe5027bb92bafe20e421 + sha256sum: 900e0afe8900c1ee65a8a8c4f0c5a3ca02dcf85c1d1cb13a652be22c21399394 enable: '[% !c("var/use_go_1_20") %]' - URL: 'https://go.dev/dl/go[% c("version") %].src.tar.gz' name: go ===================================== projects/manual/config ===================================== @@ -1,7 +1,7 @@ # vim: filetype=yaml sw=2 # To update, see doc/how-to-update-the-manual.txt # Remember to update also the package's hash, with the version! -version: 150100 +version: 167329 filename: 'manual-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: use_container: 1 @@ -23,6 +23,6 @@ input_files: - project: container-image - URL: 'https://build-sources.tbb.torproject.org/manual_[% c("version") %].zip' name: manual - sha256sum: 039bdb04f97b803f0db2f12a6ba0a03a2091e8d8bd794e178c297e571f04eb7f + sha256sum: b9a2b219018cb41a1c524c9105d75fcec11861ecafdd00a49b191bad09dc8f49 - filename: packagemanual.py name: package_script ===================================== projects/translation/config ===================================== @@ -12,13 +12,13 @@ compress_tar: 'gz' steps: base-browser: base-browser: '[% INCLUDE build %]' - git_hash: d31e6b16c372e2eb235c4f2b0eae0b573a5515ba + git_hash: a28a8b2cb9e207d12fca11181818c0a0694b56af targets: nightly: git_hash: 'base-browser' tor-browser: tor-browser: '[% INCLUDE build %]' - git_hash: d37455a56f966b4f87f5f326b534a91f71fd5c88 + git_hash: e03ffdea5b74ad280616dccd21744cba7b2d4565 targets: nightly: git_hash: 'tor-browser' @@ -32,7 +32,7 @@ steps: fenix: '[% INCLUDE build %]' # We need to bump the commit before releasing but just pointing to a branch # might cause too much rebuidling of the Firefox part. - git_hash: aa60141af05cd3cabf2479de52da46d436822d61 + git_hash: d4f4bc1c8cb788450b17801edc0c22fc76f3b16c compress_tar: 'zst' targets: nightly: ===================================== projects/zstd/config ===================================== @@ -1,7 +1,7 @@ # vim: filetype=yaml sw=2 -version: 1.4.8 +version: 1.5.6 git_url: https://github.com/facebook/zstd.git -git_hash: 97a3da1df009d4dc67251de0c4b1c9d7fe286fc1 +git_hash: 794ea1b0afca0f020f4e57b6732332231fb23c70 filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: ===================================== rbm.conf ===================================== @@ -73,14 +73,13 @@ buildconf: git_signtag_opt: '-s' var: - torbrowser_version: '13.0.14' + torbrowser_version: '13.0.15' torbrowser_build: 'build1' torbrowser_incremental_from: + - '13.0.14' - '13.0.13' - '13.0.12' - - '[% IF c("var/tor-browser") %]13.0.11[% END %]' - - '[% IF c("var/mullvad-browser") %]13.0.10[% END %]' - browser_release_date: '2024/04/16 15:00:00' + browser_release_date: '2024/05/10 15:00:00' browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]' updater_enabled: 1 build_mar: 1 View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/firefox-android] Pushed new tag firefox-android-115.2.1-13.0-1-build16
by ma1 (@ma1) 10 May '24

10 May '24
ma1 pushed new tag firefox-android-115.2.1-13.0-1-build16 at The Tor Project / Applications / firefox-android -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/firefox-android/-/tree/firef… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.11.0esr-13.5-1] 4 commits: Bug 1892449 - Set network.http.digest_auth_cnonce_length to 16, a=dmeehan
by ma1 (@ma1) 10 May '24

10 May '24
ma1 pushed to branch mullvad-browser-115.11.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: 60bae6b6 by Kershaw Chang at 2024-05-11T00:28:11+02:00 Bug 1892449 - Set network.http.digest_auth_cnonce_length to 16, a=dmeehan Apparently, setting this value to 64 breaks some sites. We should use the same length as Chrome. Original Revision: https://phabricator.services.mozilla.com/D208103 Differential Revision: https://phabricator.services.mozilla.com/D208119 - - - - - ebdf71f2 by Nika Layzell at 2024-05-11T00:28:14+02:00 Bug 1875248 - Check for network error preventing ExternalHelperAppService before DONT_RETARGET, r=smaug This reverts the change from 30cde47f9364e5c7da78fd08fa8ab21737d22399, and instead re-orders the NS_ERROR_FILE_NOT_FOUND check before DONT_RETARGET. Testing suggests that a-download-click-404.html behaviour isn&#39;t impacted, and this improves the handling of this edge-case when doing process switching. Differential Revision: https://phabricator.services.mozilla.com/D202007 - - - - - d1a143b3 by Jonathan Kew at 2024-05-11T00:28:15+02:00 Bug 1886598 - Struct with Pointer member may not be memmove-able. r=gfx-reviewers,lsalzman Differential Revision: https://phabricator.services.mozilla.com/D206633 - - - - - f6ebda2a by alwu at 2024-05-11T00:28:16+02:00 Bug 1644383 - add mutexs to avoid data race. r=media-playback-reviewers,padenot Differential Revision: https://phabricator.services.mozilla.com/D206943 - - - - - 7 changed files: - dom/media/ipc/RemoteMediaDataDecoder.cpp - dom/media/ipc/RemoteMediaDataDecoder.h - dom/media/platforms/wrappers/MediaChangeMonitor.cpp - dom/media/platforms/wrappers/MediaChangeMonitor.h - gfx/thebes/gfxPlatformFontList.h - modules/libpref/init/StaticPrefList.yaml - uriloader/base/nsURILoader.cpp Changes: ===================================== dom/media/ipc/RemoteMediaDataDecoder.cpp ===================================== @@ -18,7 +18,12 @@ namespace mozilla { ##__VA_ARGS__) RemoteMediaDataDecoder::RemoteMediaDataDecoder(RemoteDecoderChild* aChild) - : mChild(aChild) { + : mChild(aChild), + mDescription("RemoteMediaDataDecoder"_ns), + mProcessName("unknown"_ns), + mCodecName("unknown"_ns), + mIsHardwareAccelerated(false), + mConversion(ConversionRequired::kNeedNone) { LOG("%p is created", this); } @@ -48,6 +53,7 @@ RefPtr<MediaDataDecoder::InitPromise> RemoteMediaDataDecoder::Init() { ->Then( RemoteDecoderManagerChild::GetManagerThread(), __func__, [self, this](TrackType aTrack) { + MutexAutoLock lock(mMutex); // If shutdown has started in the meantime shutdown promise may // be resloved before this task. In this case mChild will be null // and the init promise has to be canceled. @@ -127,6 +133,7 @@ RefPtr<ShutdownPromise> RemoteMediaDataDecoder::Shutdown() { bool RemoteMediaDataDecoder::IsHardwareAccelerated( nsACString& aFailureReason) const { + MutexAutoLock lock(mMutex); aFailureReason = mHardwareAcceleratedReason; return mIsHardwareAccelerated; } @@ -145,18 +152,24 @@ void RemoteMediaDataDecoder::SetSeekThreshold(const media::TimeUnit& aTime) { MediaDataDecoder::ConversionRequired RemoteMediaDataDecoder::NeedsConversion() const { + MutexAutoLock lock(mMutex); return mConversion; } nsCString RemoteMediaDataDecoder::GetDescriptionName() const { + MutexAutoLock lock(mMutex); return mDescription; } nsCString RemoteMediaDataDecoder::GetProcessName() const { + MutexAutoLock lock(mMutex); return mProcessName; } -nsCString RemoteMediaDataDecoder::GetCodecName() const { return mCodecName; } +nsCString RemoteMediaDataDecoder::GetCodecName() const { + MutexAutoLock lock(mMutex); + return mCodecName; +} #undef LOG ===================================== dom/media/ipc/RemoteMediaDataDecoder.h ===================================== @@ -53,14 +53,16 @@ class RemoteMediaDataDecoder final // destructor when we can guarantee no other threads are accessing it). Only // read from the manager thread. RefPtr<RemoteDecoderChild> mChild; + + mutable Mutex mMutex{"RemoteMediaDataDecoder"}; + // Only ever written/modified during decoder initialisation. - // As such can be accessed from any threads after that. - nsCString mDescription = "RemoteMediaDataDecoder"_ns; - nsCString mProcessName = "unknown"_ns; - nsCString mCodecName = "unknown"_ns; - bool mIsHardwareAccelerated = false; - nsCString mHardwareAcceleratedReason; - ConversionRequired mConversion = ConversionRequired::kNeedNone; + nsCString mDescription MOZ_GUARDED_BY(mMutex); + nsCString mProcessName MOZ_GUARDED_BY(mMutex); + nsCString mCodecName MOZ_GUARDED_BY(mMutex); + bool mIsHardwareAccelerated MOZ_GUARDED_BY(mMutex); + nsCString mHardwareAcceleratedReason MOZ_GUARDED_BY(mMutex); + ConversionRequired mConversion MOZ_GUARDED_BY(mMutex); }; } // namespace mozilla ===================================== dom/media/platforms/wrappers/MediaChangeMonitor.cpp ===================================== @@ -668,6 +668,7 @@ RefPtr<ShutdownPromise> MediaChangeMonitor::ShutdownDecoder() { AssertOnThread(); mConversionRequired.reset(); if (mDecoder) { + MutexAutoLock lock(mMutex); RefPtr<MediaDataDecoder> decoder = std::move(mDecoder); return decoder->Shutdown(); } @@ -715,6 +716,7 @@ MediaChangeMonitor::CreateDecoder() { ->Then( GetCurrentSerialEventTarget(), __func__, [self = RefPtr{this}, this](RefPtr<MediaDataDecoder>&& aDecoder) { + MutexAutoLock lock(mMutex); mDecoder = std::move(aDecoder); DDLINKCHILD("decoder", mDecoder.get()); return CreateDecoderPromise::CreateAndResolve(true, __func__); @@ -963,6 +965,11 @@ void MediaChangeMonitor::FlushThenShutdownDecoder( ->Track(mFlushRequest); } +MediaDataDecoder* MediaChangeMonitor::GetDecoderOnNonOwnerThread() const { + MutexAutoLock lock(mMutex); + return mDecoder; +} + #undef LOG } // namespace mozilla ===================================== dom/media/platforms/wrappers/MediaChangeMonitor.h ===================================== @@ -41,34 +41,34 @@ class MediaChangeMonitor final RefPtr<ShutdownPromise> Shutdown() override; bool IsHardwareAccelerated(nsACString& aFailureReason) const override; nsCString GetDescriptionName() const override { - if (mDecoder) { - return mDecoder->GetDescriptionName(); + if (RefPtr<MediaDataDecoder> decoder = GetDecoderOnNonOwnerThread()) { + return decoder->GetDescriptionName(); } return "MediaChangeMonitor decoder (pending)"_ns; } nsCString GetProcessName() const override { - if (mDecoder) { - return mDecoder->GetProcessName(); + if (RefPtr<MediaDataDecoder> decoder = GetDecoderOnNonOwnerThread()) { + return decoder->GetProcessName(); } return "MediaChangeMonitor"_ns; } nsCString GetCodecName() const override { - if (mDecoder) { - return mDecoder->GetCodecName(); + if (RefPtr<MediaDataDecoder> decoder = GetDecoderOnNonOwnerThread()) { + return decoder->GetCodecName(); } return "MediaChangeMonitor"_ns; } void SetSeekThreshold(const media::TimeUnit& aTime) override; bool SupportDecoderRecycling() const override { - if (mDecoder) { - return mDecoder->SupportDecoderRecycling(); + if (RefPtr<MediaDataDecoder> decoder = GetDecoderOnNonOwnerThread()) { + return decoder->SupportDecoderRecycling(); } return false; } ConversionRequired NeedsConversion() const override { - if (mDecoder) { - return mDecoder->NeedsConversion(); + if (RefPtr<MediaDataDecoder> decoder = GetDecoderOnNonOwnerThread()) { + return decoder->NeedsConversion(); } // Default so no conversion is performed. return ConversionRequired::kNeedNone; @@ -97,6 +97,9 @@ class MediaChangeMonitor final MOZ_ASSERT(!mThread || mThread->IsOnCurrentThread()); } + // This is used for getting decoder debug info on other threads. Thread-safe. + MediaDataDecoder* GetDecoderOnNonOwnerThread() const; + bool CanRecycleDecoder() const; typedef MozPromise<bool, MediaResult, true /* exclusive */> @@ -137,6 +140,13 @@ class MediaChangeMonitor final const CreateDecoderParamsForAsync mParams; // Keep any seek threshold set for after decoder creation and initialization. Maybe<media::TimeUnit> mPendingSeekThreshold; + + // This lock is used for mDecoder specifically, but it doens't need to be used + // for every places accessing mDecoder which is mostly on the owner thread. + // However, when requesting decoder debug info, it can happen on other + // threads, so we need this mutex to avoid the data race of + // creating/destroying decoder and accessing decoder's debug info. + mutable Mutex MOZ_ANNOTATED mMutex{"MediaChangeMonitor"}; }; } // namespace mozilla ===================================== gfx/thebes/gfxPlatformFontList.h ===================================== @@ -124,7 +124,7 @@ class ShmemCharMapHashEntry final : public PLDHashEntryHdr { return aCharMap->GetChecksum(); } - enum { ALLOW_MEMMOVE = true }; + enum { ALLOW_MEMMOVE = false }; // because of the Pointer member private: // charMaps are stored in the shared memory that FontList objects point to, ===================================== modules/libpref/init/StaticPrefList.yaml ===================================== @@ -12779,6 +12779,18 @@ value: true mirror: always + # The length of cnonce string used in HTTP digest auth. +- name: network.http.digest_auth_cnonce_length + type: uint32_t + value: 16 + mirror: always + + # If true, HTTP response content-type headers will be parsed using the standards-compliant MimeType parser +- name: network.standard_content_type_parsing.response_headers + type: RelaxedAtomicBool + value: true + mirror: always + # The maximum count that we allow socket prrocess to crash. If this count is # reached, we won't use networking over socket process. - name: network.max_socket_process_failed_count ===================================== uriloader/base/nsURILoader.cpp ===================================== @@ -414,28 +414,28 @@ nsresult nsDocumentOpenInfo::DispatchContent(nsIRequest* request) { NS_ASSERTION(!m_targetStreamListener, "If we found a listener, why are we not using it?"); - if (mFlags & nsIURILoader::DONT_RETARGET) { - LOG( - (" External handling forced or (listener not interested and no " - "stream converter exists), and retargeting disallowed -> aborting")); - return NS_ERROR_WONT_HANDLE_CONTENT; - } - // Before dispatching to the external helper app service, check for an HTTP // error page. If we got one, we don't want to handle it with a helper app, // really. - // The WPT a-download-click-404.html requires us to silently handle this - // without displaying an error page, so we just return early here. - // See bug 1604308 for discussion around what the ideal behaviour is. nsCOMPtr<nsIHttpChannel> httpChannel(do_QueryInterface(request)); if (httpChannel) { bool requestSucceeded; rv = httpChannel->GetRequestSucceeded(&requestSucceeded); if (NS_FAILED(rv) || !requestSucceeded) { - return NS_OK; + LOG( + (" Returning NS_ERROR_FILE_NOT_FOUND from " + "nsDocumentOpenInfo::DispatchContent due to failed HTTP response")); + return NS_ERROR_FILE_NOT_FOUND; } } + if (mFlags & nsIURILoader::DONT_RETARGET) { + LOG( + (" External handling forced or (listener not interested and no " + "stream converter exists), and retargeting disallowed -> aborting")); + return NS_ERROR_WONT_HANDLE_CONTENT; + } + // Fifth step: // // All attempts to dispatch this content have failed. Just pass it off to View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/da… -- This project does not include diff previews in email notifications. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/da… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • ...
  • 1861
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.