DescriptionMojo: nuke EnvironmentData
With this change, Mojo applications that link against mojo_environment_chromium
do not need to instantiate mojo::Environment. We rely on AtExitManager for all
finalization of singleton objects. This frees us up to use the familiar
base::Singleton and base::LazyInstance for any such state. Tests can use
ShadowingAtExitManager to clean the environment between test runs.
It becomes a link error to use mojo::Environment if you are not linking against
mojo_environment_standalone. I plan to follow this up with a change that buries
mojo::Environment for the case where you are linking against
mojo_environment_standalone. Ideally, this means no one will ever need to think
about mojo::Environment again.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277265
Patch Set 1 #Patch Set 2 : fix #Patch Set 3 : update #Patch Set 4 : rebase + remove unnecessary usage of mojo::Environment #Patch Set 5 : update #Patch Set 6 : rebase #Patch Set 7 : class -> struct, sigh #Patch Set 8 : remove unused variable #Patch Set 9 : rebase #Patch Set 10 : fix mac #Patch Set 11 : fix android build #Patch Set 12 : try again #Patch Set 13 : try disabling CheckLayoutSystemDeps #Patch Set 14 : rebase #Patch Set 15 : rebase #Patch Set 16 : rebase #Patch Set 17 : rebase #
Total comments: 2
Patch Set 18 : Add ShadowingAtExitManager to android/javatests/mojo_test_case.cc #Patch Set 19 : Fix android build by defining UNIT_TEST #Patch Set 20 : fix gn #Messages
Total messages: 43 (0 generated)
|