Uplift intermittent test fixes and crash fixes to 1.88.x#34361
Open
Uplift intermittent test fixes and crash fixes to 1.88.x#34361
Conversation
…ose (#34198) Fix reentrancy crash in split view focus handling during tab close On macOS, closing a split view detaches a web contents native view which can synchronously trigger a focus change via AppKit first responder transfer. This focus event propagates through OnWebContentsFocused to ActivateTabAt(), but when called from within CloseAllTabs() the TabStripModel reentrancy guard fires causing a crash. Guard WebContentsFocused to skip tab activation when closing_all() is true, preventing the reentrancy violation. Fixes brave/brave-browser#53121
…OverlaySettingViewIsShownForDocumentPip (#34336) Disable Chromium test AutoPictureInPictureTabHelperBrowserTest.OverlaySettingViewIsShownForDocumentPip This is an upstream Chromium test that crashes with a null pointer dereference in ASAN builds. The root cause is a race condition where ShowBubble() is deferred via PostTask in AddedToWidget(), so auto_pip_setting_view_ may still be null when the test accesses it. Upstream flake rate: 4.7% overall, 12-13% recently (LUCI Analysis). Already disabled on Linux upstream since Nov 2023 (crbug.com/1500939). Brave does not modify the PIP code paths involved. Resolves brave/brave-browser#53185
…corded_VideoConferencingAllowOnce (#34338) This Chromium test has a 10.9% upstream flake rate (111,249 verdicts in LUCI Analysis). The crash is in upstream code (AutoPipSettingView:: OnButtonPressed) due to a race condition between PostTask-deferred ShowBubble() and the test accessing the view before the posted task runs. No Brave modifications exist for this code path. Resolves brave/brave-browser#53186 Co-authored-by: Brian R. Bondy <netzen@gmail.com>
* Fix flaky BraveWalletSignMessageBrowserTest.SIWE test
The SIWE test sends two sign messages per iteration: one with matching
origin and one with a different origin ("www.a.com"). The second message
is rejected immediately by the provider, overwriting the global
signMessageResult variable with an error. After
NotifySignMessageRequestProcessed approves the first message, the test
immediately checked signMessageResult, but the mojo approval response
may not have been delivered to the renderer yet, so signMessageResult
still contained the rejection error.
Fix by replacing the immediate getSignMessageResult() check with a
Promise-based wait that polls until signMessageResult is a string
starting with "0x" (the signature). This is safe because both the
rejection and approval go through the same mojo interface, so the
rejection always arrives before the approval.
Resolves brave/brave-browser#53167
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Address review: fix same race condition in other sign message tests
Apply the same async polling pattern to UserApprovedRequest and
UserRejectedRequest tests, which had the same race condition of
calling getSignMessageResult() immediately after
NotifySignMessageRequestProcessed() without waiting for the mojo
response to arrive at the renderer.
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
ecc9400 to
a8d5fd1
Compare
…PromptResultRecorded_VideoConferencingAllowOnce (#34364) Disable flaky Chromium test AutoPictureInPictureTabHelperBrowserTest.PromptResultRecorded_VideoConferencingAllowOnce This is an upstream Chromium test with a 10.5% flake rate over 30 days per LUCI Analysis. The crash is a null pointer dereference in AutoPipSettingView::OnButtonPressed when the widget is destroyed before the test can interact with the bubble view. Brave does not modify any code in the auto picture-in-picture path. Multiple other tests from the same test suite are already disabled in the filter file for similar reasons. Resolves brave/brave-browser#53277 Co-authored-by: Brian R. Bondy <netzen@gmail.com>
…xt (#34365) This is an upstream Chromium test (chrome/browser/extensions/api/runtime/runtime_apitest.cc) that crashes with a segmentation fault on Linux x64 nightly builds (issue #53280). The test is already disabled on Mac upstream (IS_MAC). Upstream LUCI Analysis shows occasional failures in the android_browsertests variant (1.4% flake rate, increasing to 5-6% in late February/March 2026), while the browser_tests desktop variant shows 0.3% flake rate. No Brave chromium_src overrides exist for ProcessManager, service worker lifecycle, or the chrome.runtime.getContexts() API, so this failure is not caused by Brave-specific modifications. Another test from the same fixture (GetOffscreenDocumentContext) is already disabled in this filter file.
netzenbot
approved these changes
Mar 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uplift of #34198, #34336, #34338, #34285, #34364, #34365
Included PRs
Pre-approval checklist:
Pre-merge checklist:
Post-merge checklist: