New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[web] change status bar color based on SystemUiOverlayStyle #40599
[web] change status bar color based on SystemUiOverlayStyle #40599
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.
Thanks for the contribution @maRci002!
I only have a couple of nitpicks about this. My biggest concern is that this might break some behavior unexpectedly, and this may need to warn users on where to find the functionality.
@maRci002 now that you mention this, you probably do, but I'm not sure that our wasm build works in windows yet, I normally use a (g)Linux machine for development. If you don't mind, I'm going to check out your branch and maybe push a fix to get it mergeable again. |
I did a small change, the error in tests was causing because the wrong platform_dispatcher_test.dart was moved into the new directory (there's TWO tests named that in the repo, one inside I'll update the branch to the latest changes from main to see how it goes. |
@maRci002 I gave this another thought, and I don't think we should tell people to "disregard this warning if...", so I made this PR backwards compatible. The old API will continue to work until we fix the offending widgets in the framework. THEN we will be able to nag users that are using the platform message directly (or through some 3p widget) so they can fix it before it stops working altogether. (I've also moved a random "ui" test that was testing the title to the "platform_dispatcher" directory that was created for this PR, and I think it makes more sense than before) I hope you don't mind this change. Please, let me know if your use case is still working as intended, so I can land this! (PS: the stack overflow updates are still good, so people know what's coming, but they should be done carefully because this is going to take a while to land in |
I was going to mention that there are currently two ways to set the color of the browser's status and address bars: by setting the
Since the old API did not specify its behavior on the web, the behavior exhibited by the old API on the web was considered a bug https://api.flutter.dev/flutter/widgets/Title/color.html
https://api.flutter.dev/flutter/widgets/WidgetsApp/color.html
https://api.flutter.dev/flutter/services/ApplicationSwitcherDescription-class.html
https://api.flutter.dev/flutter/services/SystemChrome/setApplicationSwitcherDescription.html
I am very pleased with these changes. The |
Let's land this version then, and then we can experiment to remove the color changing support from the Title widget, maybe even remove it first from the flutter/flutter widget itself! |
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.
LGTM! Let's go with this new platform method first!
auto label is removed for flutter/engine, pr: 40599, due to This PR has not met approval requirements for merging. You have project association NONE and need 1 more review(s) in order to merge this PR.
|
auto label is removed for flutter/engine, pr: 40599, due to Validations Fail. |
…125271) flutter/engine@2db85cb...122c3b3 2023-04-21 737941+loic-sharma@users.noreply.github.com [Windows] Don't block raster thread until v-blank (flutter/engine#41231) 2023-04-21 chillers@google.com Manual roll skia to d5b4acfb4 (flutter/engine#41378) 2023-04-21 magder@google.com Run mac unopt arm builds with arm toolchain (flutter/engine#41353) 2023-04-20 zanderso@users.noreply.github.com Revert "re-land "Migrate mac_host_engine to engine v2 builds." (#41233)"" (flutter/engine#41380) 2023-04-20 skia-flutter-autoroll@skia.org Roll Dart SDK from df05e451b79a to 50b96abe9f6f (1 revision) (flutter/engine#41379) 2023-04-20 109111084+yaakovschectman@users.noreply.github.com Move ownership of `AccessibilityBridgeWindows` to `FlutterWindowsView` (flutter/engine#41308) 2023-04-20 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from AoPEjX8Xfq1v0h4kx... to PqBDstaESE_l77k1e... (flutter/engine#41373) 2023-04-20 godofredoc@google.com Revert "Upload windows arm artifacts to production bucket." (flutter/engine#41372) 2023-04-20 godofredoc@google.com re-land "Migrate mac_host_engine to engine v2 builds." (#41233)" (flutter/engine#41323) 2023-04-20 godofredoc@google.com Upload windows arm artifacts to production bucket. (flutter/engine#41324) 2023-04-20 jason-simmons@users.noreply.github.com [Impeller] Change the default color format for the GLES backend to RGBA (flutter/engine#41342) 2023-04-20 maRci002@users.noreply.github.com [web] change status bar color based on SystemUiOverlayStyle (flutter/engine#40599) 2023-04-20 skia-flutter-autoroll@skia.org Roll Fuchsia Mac SDK from OcPCdaE17MAihaCrD... to 4OrPF9lzqCKGwBLRh... (flutter/engine#41367) 2023-04-20 skia-flutter-autoroll@skia.org Roll Skia from fc09f9b2fb27 to f4609aa2eaba (1 revision) (flutter/engine#41366) 2023-04-20 skia-flutter-autoroll@skia.org Roll Dart SDK from 7d165bd0bb5e to df05e451b79a (2 revisions) (flutter/engine#41365) 2023-04-20 skia-flutter-autoroll@skia.org Roll Skia from 80c38970791e to fc09f9b2fb27 (1 revision) (flutter/engine#41362) 2023-04-20 skia-flutter-autoroll@skia.org Roll Skia from c50081c62219 to 80c38970791e (2 revisions) (flutter/engine#41360) 2023-04-20 skia-flutter-autoroll@skia.org Roll Skia from c21e7df194c3 to c50081c62219 (11 revisions) (flutter/engine#41358) 2023-04-20 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Tun7i4VLz6ncx8JJJ... to AoPEjX8Xfq1v0h4kx... (flutter/engine#41357) 2023-04-20 skia-flutter-autoroll@skia.org Roll Dart SDK from 88a3b66b50d6 to 7d165bd0bb5e (1 revision) (flutter/engine#41356) 2023-04-20 jason-simmons@users.noreply.github.com Manual Skia roll from ad90b6bd4760 to c21e7df194c3 (flutter/engine#41341) 2023-04-20 jonahwilliams@google.com [impeller] convert src over to src for solid color (flutter/engine#41351) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from Tun7i4VLz6nc to PqBDstaESE_l fuchsia/sdk/core/mac-amd64 from OcPCdaE17MAi to 4OrPF9lzqCKG If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC chinmaygarde@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Closes flutter/flutter#123365
In my example code I'm using
SystemUiOverlayStyle.dark
which hasnull
statusBarColor
by default (which can be changed viaChange status bar color
button) in this case we do not override browser's default status bar color.web_output.mp4
web_new_output.mp4
In case of PWA the when
statusBarColor
isnull
it will usetheme_color
property frommanifest.json
(I don't know from where does flutter generatemanifest.json
).The default status bar color for PWA is:
"theme_color": "#0175C2",
https://github.com/flutter/flutter/blob/f4caee6efbc0b0094f3cee9e31a7486e3d030819/examples/api/web/manifest.json#L7
pwa_old_output.mp4
pwa_new_output.mp4
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.