• darin@chromium.org's avatar
    Mojo: AsyncWaiter and mojo/public/environment · 0d37563e
    darin@chromium.org authored
    Summary of changes:
    
     o BindingsSupport is gone:
       - mojo/public/bindings/lib depends on mojo/public/environment/,
         which is also a static library.
       - mojo/public/environment provides a default implementation of
         MojoAsyncWaiter (replacing the AsyncWait functionality of
         BindingsSupport).
       - mojo/public/environment provides TLS support for storing the
         current Buffer* (replacing the Set/GetCurrentBuffer functionality
         of BindingsSupport).
       - mojo/public/environment provides the Environment class, formerly
         part of mojo/public/utility/
       - The standalone implementation of mojo/public/environment/ depends
         on mojo/public/utility/ and assumes clients will be instantiating
         RunLoops on their threads.
       - The chromium-specific implementation of mojo/public/environment/
         depends on mojo/common/ and assumes clients will be instantiating
         MessageLoops on their threads.
       - The chromium-specific implementation of mojo/public/environment/
         is divided into two targets: mojo_environment_chromium and
         mojo_environment_chromium_impl. The former is a static library and
         the latter is a component. (This way all of the state--TLS keys--
         associated with the environment is kept in a DSO when using a
         component build.)
    
     o RemotePtr and Connector may optionally be parameterized with a
       MojoAsyncWaiter*, allowing users to customize how AsyncWait is
       implemented for a particular usage of bindings. This is needed by
       the GL library so that it can schedule work on an application
       defined run loop.
    
     o RunLoop gains a RunUntilIdle method to support tests. This allows us
       to delete SimpleBindingsSupport instead of converting it over to an
       implementation of MojoAsyncWaiter.
    
    Review URL: https://codereview.chromium.org/134253004
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244739 0039d316-1c4b-4281-b951-d872f2087c98
    0d37563e
DEPS 61 Bytes