| Index: examples/moterm_example_app/moterm_example_app.cc
|
| diff --git a/examples/moterm_example_app/moterm_example_app.cc b/examples/moterm_example_app/moterm_example_app.cc
|
| index edab7ace0d688b1f4cfbe9821b8036231336b3aa..e6364fc20310b716461bba8942ebd61bb64f1562 100644
|
| --- a/examples/moterm_example_app/moterm_example_app.cc
|
| +++ b/examples/moterm_example_app/moterm_example_app.cc
|
| @@ -32,6 +32,7 @@
|
| #include "mojo/services/ui/views/interfaces/view_manager.mojom.h"
|
| #include "mojo/services/ui/views/interfaces/view_provider.mojom.h"
|
| #include "mojo/services/ui/views/interfaces/views.mojom.h"
|
| +#include "mojo/ui/view_provider_app.h"
|
|
|
| // Kind of like |fputs()| (doesn't wait for result).
|
| void Fputs(mojo::files::File* file, const char* s) {
|
| @@ -47,7 +48,7 @@ class MotermExampleAppView {
|
| public:
|
| MotermExampleAppView(
|
| mojo::Shell* shell,
|
| - const mojo::ui::ViewProvider::CreateViewCallback& callback)
|
| + mojo::InterfaceRequest<mojo::ui::ViewOwner> view_owner_request)
|
| : shell_(shell), weak_factory_(this) {
|
| // Connect to the moterm app.
|
| LOG(INFO) << "Connecting to moterm";
|
| @@ -57,8 +58,8 @@ class MotermExampleAppView {
|
| // Create the moterm view and pass it back to the client directly.
|
| mojo::ConnectToService(moterm_app.get(), &moterm_view_provider_);
|
| mojo::ServiceProviderPtr moterm_service_provider;
|
| - moterm_view_provider_->CreateView(GetProxy(&moterm_service_provider),
|
| - nullptr, callback);
|
| + moterm_view_provider_->CreateView(
|
| + view_owner_request.Pass(), GetProxy(&moterm_service_provider), nullptr);
|
|
|
| // Connect to the moterm terminal service associated with the view
|
| // we just created.
|
| @@ -154,42 +155,21 @@ class MotermExampleAppView {
|
| DISALLOW_COPY_AND_ASSIGN(MotermExampleAppView);
|
| };
|
|
|
| -class MotermExampleApp : public mojo::ApplicationDelegate,
|
| - public mojo::InterfaceFactory<mojo::ui::ViewProvider>,
|
| - public mojo::ui::ViewProvider {
|
| +class MotermExampleApp : public mojo::ui::ViewProviderApp {
|
| public:
|
| - MotermExampleApp() : application_impl_() {}
|
| + MotermExampleApp() {}
|
| ~MotermExampleApp() override {}
|
|
|
| - private:
|
| - // |mojo::ApplicationDelegate|:
|
| - void Initialize(mojo::ApplicationImpl* application_impl) override {
|
| - DCHECK(!application_impl_);
|
| - application_impl_ = application_impl;
|
| - }
|
| -
|
| - bool ConfigureIncomingConnection(
|
| - mojo::ApplicationConnection* connection) override {
|
| - connection->AddService<mojo::ui::ViewProvider>(this);
|
| - return true;
|
| - }
|
| -
|
| - // |InterfaceFactory<mojo::ui::ViewProvider>|:
|
| - void Create(mojo::ApplicationConnection* connection,
|
| - mojo::InterfaceRequest<mojo::ui::ViewProvider> request) override {
|
| - bindings_.AddBinding(this, request.Pass());
|
| + // |ViewProviderApp|:
|
| + void CreateView(
|
| + const std::string& connection_url,
|
| + mojo::InterfaceRequest<mojo::ui::ViewOwner> view_owner_request,
|
| + mojo::InterfaceRequest<mojo::ServiceProvider> services,
|
| + mojo::ServiceProviderPtr exposed_services) override {
|
| + new MotermExampleAppView(app_impl()->shell(), view_owner_request.Pass());
|
| }
|
|
|
| - // |ViewProvider|:
|
| - void CreateView(mojo::InterfaceRequest<mojo::ServiceProvider> services,
|
| - mojo::ServiceProviderPtr exposed_services,
|
| - const CreateViewCallback& callback) override {
|
| - new MotermExampleAppView(application_impl_->shell(), callback);
|
| - }
|
| -
|
| - mojo::ApplicationImpl* application_impl_;
|
| - mojo::BindingSet<mojo::ui::ViewProvider> bindings_;
|
| -
|
| + private:
|
| DISALLOW_COPY_AND_ASSIGN(MotermExampleApp);
|
| };
|
|
|
|
|