1 // Copyright 2015 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 "components/view_manager/public/cpp/view_tree_host_factory.h"
7 #include "components/view_manager/public/cpp/view_tree_connection.h"
8 #include "components/view_manager/public/cpp/view_tree_delegate.h"
9 #include "mojo/application/public/cpp/application_impl.h"
13 void CreateViewTreeHost(ViewTreeHostFactory
* factory
,
14 ViewTreeHostClientPtr host_client
,
15 ViewTreeDelegate
* delegate
,
16 ViewTreeHostPtr
* host
) {
17 ViewTreeClientPtr tree_client
;
18 ViewTreeConnection::Create(delegate
, GetProxy(&tree_client
));
19 factory
->CreateViewTreeHost(GetProxy(host
), host_client
.Pass(),
23 void CreateSingleViewTreeHost(ApplicationImpl
* app
,
24 ViewTreeDelegate
* delegate
,
25 ViewTreeHostPtr
* host
) {
26 mojo::ViewTreeHostFactoryPtr factory
;
27 mojo::URLRequestPtr
request(mojo::URLRequest::New());
28 request
->url
= "mojo:view_manager";
29 app
->ConnectToService(request
.Pass(), &factory
);
30 CreateViewTreeHost(factory
.get(), mojo::ViewTreeHostClientPtr(), delegate
,