-
Notifications
You must be signed in to change notification settings - Fork 6k
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So firefox and safari understand -webkit-autofill
, but internally they call it just autofill
, all right then!
// See: https://github.com/flutter/flutter/issues/61132. | ||
// This CSS makes the autofill overlay transparent in order to prevent it | ||
// from overlaying on top of Flutter-rendered text inputs. | ||
// See: https://github.com/flutter/flutter/issues/118337. | ||
if (browserHasAutofillOverlay()) { | ||
sheet.insertRule(''' | ||
$cssSelectorPrefix .transparentTextEditing:-webkit-autofill, | ||
$cssSelectorPrefix .transparentTextEditing:-webkit-autofill:hover, | ||
$cssSelectorPrefix .transparentTextEditing:-webkit-autofill:focus, | ||
$cssSelectorPrefix .transparentTextEditing:-webkit-autofill:active { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we start targeting the standard :autofill
pseudo-class as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does mention here https://developer.mozilla.org/en-US/docs/Web/CSS/:autofill to use both for best browser compatibility, but in manual testing:
- I was able to use the CSSOM to read the above
:-webkit-autofill
style on every browser. Like you mentioned above, safari and firefox just read it internally as:autofill
- Interestingly enough, Chrome wouldn't read it at all if we just used
:autofill
...chrome and edge both need the webkit prefix.
So we can certainly conditionally target the :autofill
selector for Firefox and Safari for "completeness", but it works fine as is too. The one downside I see in targeting :autofill
as well is that it won't work for older versions of those browsers.
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that until firefox and safari break because they don't recognize -webkit-autofill
, we're fine :P
… (#119833) Commit: 201380ab26988e5d7a6c2567850ba2c61bff0f51
* 254a796 Revert "Reland "Add --serve-observatory flag to run, attach, and test (#118402)" (#119529)" (flutter/flutter#119729) * 1573c12 Marks Mac_android microbenchmarks to be unflaky (flutter/flutter#119727) * 5613ab0 remove unnecessary parens (flutter/flutter#119736) * 1305a50 Roll Flutter Engine from c08a286d60e9 to ba3adb74d952 (5 revisions) (flutter/flutter#119741) * 484d881 [conductor] update console link (flutter/flutter#118338) * 73124dc Fix `ListTileThemeData.copyWith` doesn't override correct properties (flutter/flutter#119738) * bc8927c 2b8dd4e5c Use Windows high contrast black/white theme with `MaterialApp` themes (flutter/engine#39206) (flutter/flutter#119747) * 578edfc Catch errors thrown while handling pointer events (flutter/flutter#119577) * 8fd5d4e Remove deprecated SystemNavigator.routeUpdated method (flutter/flutter#119187) * 7a926dc Deprecate MediaQuery[Data].fromWindow (flutter/flutter#119647) * cd118da Update a test expectation that depended on an SkParagraph fix (flutter/flutter#119756) * 4ae2d3b 🔥 Do not format the messages file for `gen-l10n` (flutter/flutter#119596) * 8f5949e Roll Flutter Engine from 2b8dd4e5c699 to a12d102773dd (2 revisions) (flutter/flutter#119758) * 4c99da6 Avoid printing blank lines between "Another exception was thrown:" messages. (flutter/flutter#119587) * 2ecf4ae Update the counter app to enable Material 3 (flutter/flutter#118835) * 0b8486d 29d09845f Roll Dart SDK from b47964e5d575 to 1c219a91e637 (1 revision) (flutter/engine#39324) (flutter/flutter#119763) * ca7b7e3 Roll Flutter Engine from 29d09845f21e to 97d27ff59459 (2 revisions) (flutter/flutter#119765) * 475fc4a Run Mac hostonly tests on any available arch (flutter/flutter#119762) * 322d10e 18118e10a Add iOS spring animation objc files (flutter/engine#38801) (flutter/flutter#119768) * f767f86 check if directory exists before listing content (flutter/flutter#119748) * 34730c7 Revert "Run Mac hostonly tests on any available arch (#119762)" (flutter/flutter#119784) * f9daa9a Roll Flutter Engine from 18118e10a0a5 to 679c4b42e222 (4 revisions) (flutter/flutter#119783) * fd76ef0 Reland "Add API for discovering assets" (flutter/flutter#119277) * ca0596e Fix `pub get --unknown-flag` (flutter/flutter#119622) * 9abb6d7 Roll Plugins from 9da327c to 9302d87 (11 revisions) (flutter/flutter#119825) * 9eafbcc Roll Flutter Engine from 679c4b42e222 to 388890a98e5b (6 revisions) (flutter/flutter#119830) * 1ee8799 Revert "[Re-land] Exposed tooltip longPress (#118796)" (flutter/flutter#119832) * 07b51a0 Add missing variants and *new* indicators to `useMaterial3` docs (flutter/flutter#119799) * 201380a e9e601c7c [web] Hide autofill overlay (flutter/engine#39294) (flutter/flutter#119833) * 1c0065c 27f55219d Roll Fuchsia Linux SDK from QxkjqmRgowkk_n2NZ... to pWloCaRzjLEAUvQEz... (flutter/engine#39339) (flutter/flutter#119838) * e7d934a Marks Linux_android android_choreographer_do_frame_test to be flaky (flutter/flutter#119721) * 3f986e4 Roll Flutter Engine from 27f55219df79 to ae38c9585a61 (2 revisions) (flutter/flutter#119840) * b0f1714 Make Flex,Row,Column const for real (flutter/flutter#119673) * d4b6898 [web] Put all index.html operations in one place (flutter/flutter#118188) * d63987f Parser machine logs (flutter/flutter#118707) * 22bbdf0 Android defines target update (flutter/flutter#119766) * 8387c23 [flutter_tools] Use base DAP detach and ensure correct output (flutter/flutter#119076) * d820aec Manual pub roll with dwds fix (flutter/flutter#119575) * 72f9cf5 Roll Flutter Engine from ae38c9585a61 to 616ecd8be3de (3 revisions) (flutter/flutter#119859) * cfdc358 roll packages (flutter/flutter#119865) * d875899 Bump test Chrome version for Mac arm support (flutter/flutter#119773) * 9b86a48 Fix gets removedItem instead of its index (flutter/flutter#119638) * 66b2ca6 Roll Flutter Engine from 616ecd8be3de to 2871970337df (3 revisions) (flutter/flutter#119870) * c626460 Make `_focusDebug` not interpolate in debug mode (flutter/flutter#119680) * a27802e flutter_tool: remove explicit length header in HTTP response (flutter/flutter#119869) * 3570cce Remove deprecated kind in GestureRecognizer et al (flutter/flutter#119572) * bc45b18 2696fff87 Roll Skia from c2d81db3ef41 to 4f0166baf5a4 (13 revisions) (flutter/engine#39348) (flutter/flutter#119879) * f3effce Roll Flutter Engine from 2696fff8716d to e3fe6dade964 (3 revisions) (flutter/flutter#119892) * 69421c1 [framework] use shader tiling instead of repeated calls to drawImage (flutter/flutter#119495) * 6b83eff Roll Flutter Engine from e3fe6dade964 to 655530e3fd15 (5 revisions) (flutter/flutter#119905) * a5d8a4a 67d35267c [Impeller] Use minimal coverage for stencil restores after overdraw prevention (flutter/engine#39358) (flutter/flutter#119910) * fc8ea56 0fb48ce5b Roll Dart SDK from 69452c5012d9 to be795cc64bd7 (1 revision) (flutter/engine#39360) (flutter/flutter#119926) * e0b2138 Dispose OverlayEntry in TooltipState. (flutter/flutter#117291) * c5e8757 Add M3 support for iconbuttons in error state in TextFields (flutter/flutter#119925)
There's an issue currently where the autofill overlay renders on top of our Flutter-rendered text inputs. We previously were preventing these overlays from rendering via a
transition-delay
- however, scrolling immediately after autofilling short circuits these transition delays and renders the overlay anyways.This PR is changing the styling to instead hide the overlays rather than delay their rendering. We do this by making the overlays completely transparent, which solves this issue.
Fixes flutter/flutter#118337
Pre-launch Checklist
///
).