Reland "Enable keyboard traversal in Payment Request UI." This reverts commit 5254ea68efc6c8f6d9b631891eb8b13a37473e0b. Reason for revert: PaymentSheetViewControllerTest.ContinueIsNotAutoFocused flaked on some Mac bots with the failure message indicating that the cancel button does get focus on Mac. That assertion can be removed safely, because the main purpose of that test case is to verify that the PAY_BUTTON is not focused. That assertion has been holding. Value of: GetByDialogViewID(DialogViewID::CANCEL_BUTTON)->HasFocus() Actual: false Expected: true This patch removes the assertion that CANCEL_BUTTON is focused. Bug: 40897014 Original change's description: > Revert "Enable keyboard traversal in Payment Request UI." > > This reverts commit 68d0c941aeafe6516ac9f4725d50114e96b7ca05. > > Reason for revert: causing flaky test in > https://ci.chromium.org/ui/p/chromium/builders/ci/Mac13%20Tests > > Bug: 40897014, 414839152 > Original change's description: > > Enable keyboard traversal in Payment Request UI. > > > > Before this patch, the Payment Request UI (both the browser payment > > sheet and the payment handler sheet) could not be traversed by the > > keyboard TAB key on Linux, Windows, and Chrome OS, because these > > platforms do not allow focus on the content container view. > > > > The inability of the TAB key to traverse the Payment Request UI had > > reduced its accessibility and usability. > > > > Mac OS was not affected, because it allows focusing on the content > > container view. > > > > Focusing on the "primary" button (e.g., "continue") is prohibited per > > guidance on: > > https://chromium.googlesource.com/chromium/src/+/main/docs/security/security-considerations-for-browser-ui.md > > - "Don't have a default-selected accept button." > > > > This patch sets the default focus on the "secondary" button (e.g., > > "cancel"), if such button is present and enabled. > > > > After this patch, payment flow UI on all desktop platforms can be > > traversed with the TAB key. > > > > Bug: 40897014 > > Change-Id: Id03031cde9607436019bee79067e0efa401f166c > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6495535 > > Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org> > > Reviewed-by: Stephen McGruer <smcgruer@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#1454006} > > Bug: 40897014 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Change-Id: I89b6fba2455bf576d0b9892dfeb245988514dce9 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6501036 > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Auto-Submit: Nicolás Peña <npm@chromium.org> > Owners-Override: Nicolás Peña <npm@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1454096} Bug: 40897014, 414839152 Change-Id: Ia2af5470fc7685979527f29a116da5044f60d983 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6501315 Reviewed-by: Stephen McGruer <smcgruer@chromium.org> Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org> Cr-Commit-Position: refs/heads/main@{#1454697}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.