Skip to content
  • Antonio Gomes's avatar
    c++ / mojo changes for 'external window mode' · 0ab13293
    Antonio Gomes authored and Santosh Mahto's avatar Santosh Mahto committed
    This CL is the first step towards having 'external window mode' support
    in Mus. The existing MusDemo is adapted to test the functionality,
    and its respective unit test (mus_demo_unittests) is changed to
    exercise  multiple external windows creation in a follow up CL [2].
    
    [2] https://codereview.chromium.org/2715533005/
    
    New code flow:
    
    * MusDemoExternal creates and holds a WindowTreeClient instance.
    
    Note: In Chrome, it also happens in
    c/b/ui/views/chrome_browser_main_extra_parts_views.cc,
    ::ServiceManagerConnectionStarted, when MusClient is created.
    
    * MusDemoExternal calls WindowTreeClient::ConnectViaWindowTreeHostFactory.
    This "enters" WindowTreeClient in 'external window mode', and
    creates a WindowTreeHostFactoryRegistrar instance.
    Through this object, WindowTreeHostFactoryRegistrar::Register is
    called, creating WindowTree and WindowTreeHostFactory instances on
    the server side, and acquiring WindowTree and
    WindowTreeHostFactory mojo handles on the client si...
    0ab13293