tree 3edb2ce7f44b7c591769c56060f9b9efe11a4ae6
parent 42bd3c095d1d62786f221b7ce8e124c04b41ead3
author Harry Terkelsen <1961493+harryterkelsen@users.noreply.github.com> 1768611129 -0800
committer GitHub <noreply@github.com> 1768611129 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJpaub5CRC1aQ7uu5UhlAAAoNUQAGjIMDgRkL9XR7lNFK4DMrK6
 iHglm3gvCg87pl5RDqLhxICsMUH0/t1NTblZG6oR1pPJ3T7LS3Q7NtSNqolzNKPP
 zg7PFF5riMZ/lPi+cdlWZj9EOkBckY2PUnSoxMLeeLthFV7UcL8woXpjg4Zk+PId
 TgjE9kT/Z4x5W0zeOK+P4Ppt0EJU3E7pyZoCkENl/YdIhJV0eu0zdADgxC9zG0CS
 GBtLJaQX6nvKJhLM1FKfhFGpvD8siwYeeJi2j9LYR2YZeKqrCvGf7vtKCyw5rc5b
 eGSiCrzXJ8V3U+HmBm/xyAityNN2nhVrz4rBUM2L5ipafw7Z2EN5vPv1mb+2YO8F
 2dVtyNPbRRmbNQeXfjGKa2l9B7ettKD633R3r6Giw+qN0wgZgu/EgcFKx41uCOVY
 JLm34DrDoyIpXX41ryxLwFeylh3IVIBOL7CMXo34GS1v1ar/zJh69TFzId9M3jtG
 OmvGXZT5wl7ZtDFzyQCtQrZh5if+DRcuv2G+x5qB0bYPRGluOMsiHdWwThy8VFWL
 S5fjWObqaRmzFyd5ChXVAbcAE7v6zl396TNCPrRtWlq1I4Qj5HnVAx85gLtxE9Cv
 ErpjVpYrM1v3lGPFESyDsbo+gQE6Ui37/fuPg6mQYuHkiEpJnFt4/4Q2A6wZqCov
 HOlRuOh6xToh7YWrXvGM
 =HbA7
 -----END PGP SIGNATURE-----
 

Fix style_manager_test for Firefox (#181084)

Fixes style_manager_test.dart for Firefox by

1. changing the CSS to explicitly set `outline: rgb(0, 0, 0) none 0px`
2. actually focusing the element before checking it's computed style

Fixes https://github.com/flutter/flutter/issues/180940

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md