For default browser:
We can sort of copy what settings is doing[1]. Because the default-check is async, we can do the following:
1) on the welcome-page load, fire off the check and store a promise.
2) block the modules' initialization until the promise is resolved.
This way we can guarantee to know if we need the set-as-default module before deciding what modules to initialize, and this most likely won't block for too long anyway (currently loads almost instantly for settings)
[1]https://cs.chromium.org/chromium/src/chrome/browser/ui/webui/settings/settings_default_browser_handler.cc?type=cs&g=0&l=72
Owner: scottchen@chromium.org Status: Started (was: Available) Summary: [Navi] don't show set default page if already default. (was: [Navi] don't show sign-in page if signed in; don't show set default page if already default.)
Comment 1 by scottchen@chromium.org
, Aug 15