1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "mojo/shell/view_manager_loader.h"
7 #include "mojo/public/cpp/shell/application.h"
8 #include "mojo/services/view_manager/root_node_manager.h"
9 #include "mojo/services/view_manager/view_manager_connection.h"
14 ViewManagerLoader::ViewManagerLoader() {
17 ViewManagerLoader::~ViewManagerLoader() {
20 void ViewManagerLoader::LoadService(ServiceManager* manager,
22 ScopedMessagePipeHandle shell_handle) {
23 scoped_ptr<Application> app(new Application(shell_handle.Pass()));
24 if (!root_node_manager_.get()) {
25 root_node_manager_.reset(
26 new services::view_manager::RootNodeManager(app->shell()));
28 app->AddServiceConnector(
29 new ServiceConnector<services::view_manager::ViewManagerConnection,
30 services::view_manager::RootNodeManager>(
31 root_node_manager_.get()));
32 apps_.push_back(app.release());
35 void ViewManagerLoader::OnServiceError(ServiceManager* manager,