Revert "[scenic] basemgr now uses eventpairs"

This reverts commit 8cb213b8614816bc043d813dcc499cf4dcc49731.

Reason for revert: Breaks mods being displayed in Ermine.

Original change's description:
> [scenic] basemgr now uses eventpairs
> 
> TEST: set_root_view perspective; Ran SysUI
> SCN-897 #comment
> SCN-1033 #comment
> 
> Change-Id: Ifceddb01cfdae8c7524c93bc0d940f879d4c4004

TBR=mikejurka@google.com,thatguy@google.com,jaeheon@google.com,dworsham@google.com,alexmin@google.com

Change-Id: I6fbc9792d0ba398be18153441b000951ecf500c3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
diff --git a/bin/basemgr/BUILD.gn b/bin/basemgr/BUILD.gn
index 7daa45f..d98ba4c 100644
--- a/bin/basemgr/BUILD.gn
+++ b/bin/basemgr/BUILD.gn
@@ -21,11 +21,11 @@
   ]
 
   sources = [
+    "main.cc",
     "basemgr_impl.cc",
     "basemgr_impl.h",
     "basemgr_settings.cc",
     "basemgr_settings.h",
-    "main.cc",
   ]
 
   deps = [
@@ -33,7 +33,6 @@
     "//garnet/public/fidl/fuchsia.auth",
     "//garnet/public/fidl/fuchsia.devicesettings",
     "//garnet/public/fidl/fuchsia.sys",
-    "//garnet/public/fidl/fuchsia.ui.app",
     "//garnet/public/fidl/fuchsia.ui.policy",
     "//garnet/public/fidl/fuchsia.ui.viewsv1",
     "//garnet/public/lib/component/cpp",
diff --git a/bin/basemgr/basemgr_impl.cc b/bin/basemgr/basemgr_impl.cc
index 71ddd2e..51ed71e 100644
--- a/bin/basemgr/basemgr_impl.cc
+++ b/bin/basemgr/basemgr_impl.cc
@@ -10,8 +10,9 @@
 #include <fuchsia/modular/auth/cpp/fidl.h>
 #include <fuchsia/modular/cpp/fidl.h>
 #include <fuchsia/sys/cpp/fidl.h>
-#include <fuchsia/ui/app/cpp/fidl.h>
 #include <fuchsia/ui/policy/cpp/fidl.h>
+#include <fuchsia/ui/viewsv1/cpp/fidl.h>
+#include <fuchsia/ui/viewsv1token/cpp/fidl.h>
 #include <lib/async/cpp/future.h>
 #include <lib/component/cpp/startup_context.h>
 #include <lib/fidl/cpp/interface_handle.h>
@@ -66,7 +67,8 @@
   basemgr_bindings_.AddBinding(this, std::move(request));
 }
 
-void BasemgrImpl::InitializePresentation(zx::eventpair view_holder_token) {
+void BasemgrImpl::InitializePresentation(
+    fidl::InterfaceHandle<fuchsia::ui::viewsv1token::ViewOwner> view_owner) {
   if (settings_.test && !settings_.enable_presenter) {
     return;
   }
@@ -76,7 +78,7 @@
           ? presentation_state_.presentation.Unbind().NewRequest()
           : presentation_state_.presentation.NewRequest();
 
-  presenter_->Present2(std::move(view_holder_token),
+  presenter_->Present2(zx::eventpair(view_owner.TakeChannel().release()),
                        std::move(presentation_request));
 
   AddGlobalKeyboardShortcuts(presentation_state_.presentation);
@@ -126,21 +128,17 @@
       launcher_, CloneStruct(settings_.base_shell));
   base_shell_app_->services().ConnectToService(base_shell_.NewRequest());
 
-  fuchsia::ui::app::ViewProviderPtr base_shell_view_provider;
+  fuchsia::ui::viewsv1::ViewProviderPtr base_shell_view_provider;
   base_shell_app_->services().ConnectToService(
       base_shell_view_provider.NewRequest());
 
-  zx::eventpair root_view_token, root_view_holder_token;
-  if (zx::eventpair::create(0u, &root_view_token, &root_view_holder_token) !=
-      ZX_OK)
-    FXL_NOTREACHED() << "Failed to create view tokens";
-
-  // We still need to pass a token for root view to base shell since
+  // We still need to pass a request for root view to base shell since
   // dev_base_shell (which mimics flutter behavior) blocks until it receives
-  // the root view token.
-  base_shell_view_provider->CreateView(std::move(root_view_token), nullptr,
-                                       nullptr);
-  InitializePresentation(std::move(root_view_holder_token));
+  // the root view request.
+  fidl::InterfaceHandle<fuchsia::ui::viewsv1token::ViewOwner> root_view;
+  base_shell_view_provider->CreateView(root_view.NewRequest(), nullptr);
+
+  InitializePresentation(std::move(root_view));
 
   // Populate parameters and initialize the base shell.
   fuchsia::modular::BaseShellParams params;
@@ -293,7 +291,7 @@
     StopBaseShell();
   }
 
-  InitializePresentation(std::move(session_shell_view_holder_token_));
+  InitializePresentation(session_shell_view_owner_);
 }
 
 void BasemgrImpl::DidLogout() {
@@ -310,23 +308,17 @@
   StartBaseShell();
 }
 
-zx::eventpair BasemgrImpl::GetSessionShellViewToken(
-    zx::eventpair /*default_view_token*/) {
-  if (session_shell_view_holder_token_.is_valid()) {
-    session_shell_view_holder_token_.reset();
-  }
-
-  zx::eventpair session_shell_view_token;
-  if (zx::eventpair::create(0u, &session_shell_view_token,
-                            &session_shell_view_holder_token_) != ZX_OK)
-    FXL_NOTREACHED() << "Failed to create view tokens";
-
-  return session_shell_view_token;
+fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>
+BasemgrImpl::GetSessionShellViewOwner(
+    fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>) {
+  return session_shell_view_owner_.is_bound()
+             ? session_shell_view_owner_.Unbind().NewRequest()
+             : session_shell_view_owner_.NewRequest();
 }
 
 fidl::InterfaceHandle<fuchsia::sys::ServiceProvider>
 BasemgrImpl::GetSessionShellServiceProvider(
-    fidl::InterfaceHandle<fuchsia::sys::ServiceProvider> /*default_services*/) {
+    fidl::InterfaceHandle<fuchsia::sys::ServiceProvider>) {
   fidl::InterfaceHandle<fuchsia::sys::ServiceProvider> handle;
   service_namespace_.AddBinding(handle.NewRequest());
   return handle;
diff --git a/bin/basemgr/basemgr_impl.h b/bin/basemgr/basemgr_impl.h
index 7d88f2e..be0f6ee 100644
--- a/bin/basemgr/basemgr_impl.h
+++ b/bin/basemgr/basemgr_impl.h
@@ -13,6 +13,8 @@
 #include <fuchsia/modular/cpp/fidl.h>
 #include <fuchsia/sys/cpp/fidl.h>
 #include <fuchsia/ui/policy/cpp/fidl.h>
+#include <fuchsia/ui/viewsv1/cpp/fidl.h>
+#include <fuchsia/ui/viewsv1token/cpp/fidl.h>
 #include <lib/async/cpp/future.h>
 #include <lib/component/cpp/startup_context.h>
 #include <lib/fidl/cpp/binding.h>
@@ -20,7 +22,6 @@
 #include <lib/fidl/cpp/interface_request.h>
 #include <lib/fidl/cpp/string.h>
 #include <lib/fxl/macros.h>
-#include <lib/zx/eventpair.h>
 
 #include "peridot/bin/basemgr/basemgr_settings.h"
 #include "peridot/bin/basemgr/cobalt/cobalt.h"
@@ -68,7 +69,8 @@
       fidl::InterfaceRequest<fuchsia::modular::internal::BasemgrDebug> request);
 
  private:
-  void InitializePresentation(zx::eventpair view_holder_token);
+  void InitializePresentation(
+      fidl::InterfaceHandle<fuchsia::ui::viewsv1token::ViewOwner> view_owner);
 
   void StartBaseShell();
 
@@ -97,14 +99,15 @@
   void DidLogout() override;
 
   // |UserProviderImpl::Delegate|
-  zx::eventpair GetSessionShellViewToken(
-      zx::eventpair /*default_view_token*/) override;
+  fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>
+      GetSessionShellViewOwner(
+          fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>)
+          override;
 
   // |UserProviderImpl::Delegate|
   fidl::InterfaceHandle<fuchsia::sys::ServiceProvider>
       GetSessionShellServiceProvider(
-          fidl::InterfaceHandle<
-              fuchsia::sys::ServiceProvider> /*default_services*/) override;
+          fidl::InterfaceHandle<fuchsia::sys::ServiceProvider>) override;
 
   // |KeyboardCaptureListenerHACK|
   void OnEvent(fuchsia::ui::input::KeyboardEvent event) override;
@@ -165,7 +168,7 @@
   fidl::BindingSet<fuchsia::ui::policy::KeyboardCaptureListenerHACK>
       keyboard_capture_listener_bindings_;
 
-  zx::eventpair session_shell_view_holder_token_;
+  fuchsia::ui::viewsv1token::ViewOwnerPtr session_shell_view_owner_;
 
   struct {
     fuchsia::ui::policy::PresentationPtr presentation;
diff --git a/bin/basemgr/dev_base_shell.cc b/bin/basemgr/dev_base_shell.cc
index 353ecb3..f01490c 100644
--- a/bin/basemgr/dev_base_shell.cc
+++ b/bin/basemgr/dev_base_shell.cc
@@ -2,11 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// Implementation of the fuchsia::modular::BaseShell service that passes a
+// command line configurable user name to its fuchsia::modular::UserProvider,
+// and is able to run a story with a single module through its life cycle.
+
 #include <memory>
 #include <utility>
 
 #include <fuchsia/auth/cpp/fidl.h>
 #include <fuchsia/modular/cpp/fidl.h>
+#include <fuchsia/ui/viewsv1token/cpp/fidl.h>
 #include <lib/app_driver/cpp/app_driver.h>
 #include <lib/async-loop/cpp/loop.h>
 #include <lib/callback/scoped_callback.h>
@@ -15,8 +20,7 @@
 #include <lib/fxl/logging.h>
 #include <lib/fxl/macros.h>
 #include <lib/fxl/memory/weak_ptr.h>
-#include <lib/fxl/strings/string_number_conversions.h>
-#include <lib/zx/eventpair.h>
+#include "lib/fxl/strings/string_number_conversions.h"
 
 #include "peridot/lib/fidl/single_service_app.h"
 #include "peridot/public/lib/integration_testing/cpp/reporting.h"
@@ -55,9 +59,6 @@
   bool test{};
 };
 
-// Implementation of the fuchsia::modular::BaseShell service that passes a
-// command line configurable user name to its fuchsia::modular::UserProvider,
-// and is able to run a story with a single module through its life cycle.
 class DevBaseShellApp : modular::SingleServiceApp<fuchsia::modular::BaseShell>,
                         fuchsia::modular::UserWatcher {
  public:
@@ -105,7 +106,9 @@
           fuchsia::sys::ServiceProvider> /*incoming_services*/,
       fidl::InterfaceHandle<
           fuchsia::sys::ServiceProvider> /*outgoing_services*/) override {
-    view_token_ = std::move(view_token);
+    view_owner_request_ =
+        fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>(
+            zx::channel(view_token.release()));
     Connect();
   }
 
@@ -138,14 +141,14 @@
   void Login(const std::string& account_id) {
     fuchsia::modular::UserLoginParams params;
     params.account_id = account_id;
-    params.view_token = std::move(view_token_);
+    params.view_owner = std::move(view_owner_request_);
     params.user_controller = user_controller_.NewRequest();
     user_provider_->Login(std::move(params));
     user_controller_->Watch(user_watcher_binding_.NewBinding());
   }
 
   void Connect() {
-    if (user_provider_ && view_token_) {
+    if (user_provider_ && view_owner_request_) {
       if (settings_.user.empty()) {
         // Incognito mode.
         Login("");
@@ -184,10 +187,11 @@
 
   const Settings settings_;
   fidl::Binding<fuchsia::modular::UserWatcher> user_watcher_binding_;
+  fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>
+      view_owner_request_;
   fuchsia::modular::BaseShellContextPtr base_shell_context_;
   fuchsia::modular::UserControllerPtr user_controller_;
   fuchsia::modular::UserProviderPtr user_provider_;
-  zx::eventpair view_token_;
   fxl::WeakPtrFactory<DevBaseShellApp> weak_ptr_factory_;
   FXL_DISALLOW_COPY_AND_ASSIGN(DevBaseShellApp);
 };
diff --git a/bin/basemgr/user_controller_impl.cc b/bin/basemgr/user_controller_impl.cc
index 07329d4..1dc48d9 100644
--- a/bin/basemgr/user_controller_impl.cc
+++ b/bin/basemgr/user_controller_impl.cc
@@ -23,7 +23,9 @@
     fuchsia::modular::AppConfig story_shell,
     fidl::InterfaceHandle<fuchsia::auth::TokenManager> ledger_token_manager,
     fidl::InterfaceHandle<fuchsia::auth::TokenManager> agent_token_manager,
-    fuchsia::modular::auth::AccountPtr account, zx::eventpair view_token,
+    fuchsia::modular::auth::AccountPtr account,
+    fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>
+        view_owner_request,
     fidl::InterfaceHandle<fuchsia::sys::ServiceProvider> base_shell_services,
     fidl::InterfaceRequest<fuchsia::modular::UserController>
         user_controller_request,
@@ -55,10 +57,10 @@
 
   // 2. Initialize the Sessionmgr service.
   sessionmgr_app_->services().ConnectToService(sessionmgr_.NewRequest());
-  sessionmgr_->Initialize2(
+  sessionmgr_->Initialize(
       std::move(account), std::move(session_shell), std::move(story_shell),
       std::move(ledger_token_manager), std::move(agent_token_manager),
-      user_context_binding_.NewBinding(), std::move(view_token));
+      user_context_binding_.NewBinding(), std::move(view_owner_request));
 
   sessionmgr_app_->SetAppErrorHandler([this] {
     FXL_LOG(ERROR) << "Sessionmgr seems to have crashed unexpectedly. "
diff --git a/bin/basemgr/user_controller_impl.h b/bin/basemgr/user_controller_impl.h
index b9d24c6..1af0f6a 100644
--- a/bin/basemgr/user_controller_impl.h
+++ b/bin/basemgr/user_controller_impl.h
@@ -11,6 +11,7 @@
 #include <fuchsia/modular/internal/cpp/fidl.h>
 #include <fuchsia/sys/cpp/fidl.h>
 #include <fuchsia/ui/policy/cpp/fidl.h>
+#include <fuchsia/ui/viewsv1token/cpp/fidl.h>
 #include <lib/async/cpp/future.h>
 #include <lib/component/cpp/startup_context.h>
 #include <lib/fidl/cpp/array.h>
@@ -19,7 +20,6 @@
 #include <lib/fidl/cpp/interface_ptr_set.h>
 #include <lib/fidl/cpp/interface_request.h>
 #include <lib/fxl/macros.h>
-#include <lib/zx/eventpair.h>
 
 #include "peridot/lib/fidl/app_client.h"
 #include "peridot/lib/fidl/environment.h"
@@ -46,7 +46,9 @@
       fuchsia::modular::AppConfig story_shell,
       fidl::InterfaceHandle<fuchsia::auth::TokenManager> ledger_token_manager,
       fidl::InterfaceHandle<fuchsia::auth::TokenManager> agent_token_manager,
-      fuchsia::modular::auth::AccountPtr account, zx::eventpair view_token,
+      fuchsia::modular::auth::AccountPtr account,
+      fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>
+          view_owner_request,
       fidl::InterfaceHandle<fuchsia::sys::ServiceProvider> base_shell_services,
       fidl::InterfaceRequest<fuchsia::modular::UserController>
           user_controller_request,
diff --git a/bin/basemgr/user_controller_impl_unittest.cc b/bin/basemgr/user_controller_impl_unittest.cc
index d1d769f..ff99304 100644
--- a/bin/basemgr/user_controller_impl_unittest.cc
+++ b/bin/basemgr/user_controller_impl_unittest.cc
@@ -7,7 +7,6 @@
 #include <fuchsia/sys/cpp/fidl.h>
 #include <lib/component/cpp/testing/fake_launcher.h>
 #include <lib/gtest/test_loop_fixture.h>
-#include <lib/zx/eventpair.h>
 
 #include "peridot/lib/fidl/clone.h"
 
@@ -40,7 +39,7 @@
       &launcher, CloneStruct(app_config), CloneStruct(app_config),
       CloneStruct(app_config), std::move(ledger_token_manager),
       std::move(agent_token_manager), nullptr /* account */,
-      zx::eventpair() /* view_token */, nullptr /* base_shell_services */,
+      nullptr /* view_owner_request */, nullptr /* base_shell_services */,
       user_controller.NewRequest(), nullptr /* done_callback */);
 
   EXPECT_TRUE(callback_called);
@@ -70,7 +69,7 @@
       &launcher, CloneStruct(app_config), CloneStruct(app_config),
       CloneStruct(app_config), std::move(ledger_token_manager),
       std::move(agent_token_manager), nullptr /* account */,
-      zx::eventpair() /* view_token */, nullptr /* base_shell_services */,
+      nullptr /* view_owner_request */, nullptr /* base_shell_services */,
       user_controller.NewRequest(),
       /* done_callback = */ [&done_callback_called](UserControllerImpl*) {
         done_callback_called = true;
diff --git a/bin/basemgr/user_provider_impl.cc b/bin/basemgr/user_provider_impl.cc
index 8bc9ee4..7bfb4e4 100644
--- a/bin/basemgr/user_provider_impl.cc
+++ b/bin/basemgr/user_provider_impl.cc
@@ -501,19 +501,15 @@
   fuchsia::auth::TokenManagerPtr agent_token_manager =
       CreateTokenManager(account_id);
 
-  zx::eventpair default_view_token =
-      params.view_token
-          ? std::move(params.view_token)
-          : zx::eventpair(params.view_owner.TakeChannel().release());
-  auto view_token =
-      delegate_->GetSessionShellViewToken(std::move(default_view_token));
+  auto view_owner =
+      delegate_->GetSessionShellViewOwner(std::move(params.view_owner));
   auto service_provider =
       delegate_->GetSessionShellServiceProvider(std::move(params.services));
 
   auto controller = std::make_unique<UserControllerImpl>(
       launcher_, CloneStruct(sessionmgr_), CloneStruct(session_shell_),
       CloneStruct(story_shell_), std::move(ledger_token_manager),
-      std::move(agent_token_manager), std::move(account), std::move(view_token),
+      std::move(agent_token_manager), std::move(account), std::move(view_owner),
       std::move(service_provider), std::move(params.user_controller),
       [this](UserControllerImpl* c) {
         user_controllers_.erase(c);
diff --git a/bin/basemgr/user_provider_impl.h b/bin/basemgr/user_provider_impl.h
index 5fcc246..815315b 100644
--- a/bin/basemgr/user_provider_impl.h
+++ b/bin/basemgr/user_provider_impl.h
@@ -12,7 +12,6 @@
 #include <lib/component/cpp/startup_context.h>
 #include <lib/fidl/cpp/binding_set.h>
 #include <lib/fidl/cpp/interface_request.h>
-#include <lib/zx/eventpair.h>
 
 #include "peridot/bin/basemgr/user_controller_impl.h"
 
@@ -36,19 +35,24 @@
     // Called after UserProviderImpl successfully logs out a user.
     virtual void DidLogout() = 0;
 
-    // Enables the delegate to intercept the session shell's view token, so that
+    // Enables the delegate to intercept the session shell's view owner, so that
     // e.g. the delegate can embed it in a parent view or present it.
-    virtual zx::eventpair GetSessionShellViewToken(
-        zx::eventpair /*default_view_token*/) = 0;
+    // |default_view_owner| is the view owner request that's passed to
+    // UserProviderImpl from base shell. If you don't need to intercept the
+    // view owner, return it without modifying it.
+    virtual fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>
+    GetSessionShellViewOwner(
+        fidl::InterfaceRequest<fuchsia::ui::viewsv1token::ViewOwner>
+            default_view_owner) = 0;
 
     // Enables the delegate to supply a different service provider to the user
     // shell. |default_service_provider| is the service provider passed to the
     // session shell by the base shell. If you don't need to replace it, return
     // it without modifying it.
     virtual fidl::InterfaceHandle<fuchsia::sys::ServiceProvider>
-        GetSessionShellServiceProvider(
-            fidl::InterfaceHandle<
-                fuchsia::sys::ServiceProvider> /*default_services*/) = 0;
+    GetSessionShellServiceProvider(
+        fidl::InterfaceHandle<fuchsia::sys::ServiceProvider>
+            default_service_provider) = 0;
   };
 
   // |account_provider| and |delegate| must outlive UserProviderImpl.
diff --git a/public/fidl/fuchsia.modular/basemgr/base_shell.fidl b/public/fidl/fuchsia.modular/basemgr/base_shell.fidl
index 56efef0..ff27c45 100644
--- a/public/fidl/fuchsia.modular/basemgr/base_shell.fidl
+++ b/public/fidl/fuchsia.modular/basemgr/base_shell.fidl
@@ -13,31 +13,31 @@
 // teardown.
 //
 // In one component instance there can only be one BaseShell service instance.
-// The view token is sent to the separate ViewProvider service. This way,
+// The ViewOwner request is sent to the separate ViewProvider service. This way,
 // the base shell may be implemented as a flutter component.
 //
 // Teardown may be initiated by the base shell calling
 // BaseShellContext.Shutdown(), or by the system shutting down.
 [Discoverable]
 interface BaseShell {
-    Initialize(BaseShellContext base_shell_context,
-               BaseShellParams base_shell_params);
+    1: Initialize(BaseShellContext base_shell_context,
+                  BaseShellParams base_shell_params);
 
     // This method may be invoked by the basemgr to request an
     // AuthenticationUIContext. |request| will then be used to request the base
     // shell to show login screen during a UserProvider.AddUser() or if a token
     // needs to be refreshed.
-    GetAuthenticationUIContext(request<fuchsia.auth.AuthenticationUIContext> request);
+    3: GetAuthenticationUIContext(request<fuchsia.auth.AuthenticationUIContext> request);
 };
 
 // This interface allows the |BaseShell| to request capabilities from the
 // |Basemgr| in a way that is more explicit about the services that are
 // offered than a generic |ServiceProvider|.
 interface BaseShellContext {
-    GetUserProvider(request<UserProvider> request);
+    1: GetUserProvider(request<UserProvider> request);
 
     // This requests the shutdown of the basemgr.
-    Shutdown();
+    2: Shutdown();
 };
 
 // These params are passed to |BaseShell.Initialize|.
diff --git a/public/fidl/fuchsia.modular/basemgr/user_provider.fidl b/public/fidl/fuchsia.modular/basemgr/user_provider.fidl
index 5f5d8ad..45aeca7 100644
--- a/public/fidl/fuchsia.modular/basemgr/user_provider.fidl
+++ b/public/fidl/fuchsia.modular/basemgr/user_provider.fidl
@@ -24,23 +24,23 @@
     //
     // |account| is NULL if there was an error during identification and
     // |error_code| is set.
-    AddUser(fuchsia.modular.auth.IdentityProvider identity_provider)
-        -> (fuchsia.modular.auth.Account? account, string? error_code);
+    1: AddUser(fuchsia.modular.auth.IdentityProvider identity_provider)
+           -> (fuchsia.modular.auth.Account? account, string? error_code);
 
     // Removes information of a user from the local user database.
     //
     // |account_id| is received from either AddUser() or PreviousUsers().
-    RemoveUser(string account_id) -> (string? error_code);
+    2: RemoveUser(string account_id) -> (string? error_code);
 
     // Uses the credentials provided in AddUser() to start a user session. This
     // would mean syncing with the user's ledger instance and displaying a user
     // shell with all of the user's stories.
     // TODO(alhaad): In the future, we want to protect Login() with a password,
     // Android lock pattern, etc.
-    Login(UserLoginParams user_login_params);
+    3: Login(UserLoginParams user_login_params);
 
     // List of all users who have authenticated to this device in the past.
-    PreviousUsers() -> (vector<fuchsia.modular.auth.Account> accounts);
+    4: PreviousUsers() -> (vector<fuchsia.modular.auth.Account> accounts);
 };
 
 // Used to specify arguments to log into a user session.
@@ -49,11 +49,9 @@
     // can be NULL which means logging-in in an incognito mode.
     string? account_id;
 
-    // |view_token| identifies the view for the |SessionShell| started for the newly
+    // |view_owner| is the view given to the |SessionShell| started for the newly
     // logged-in user.
-    // TODO(SCN-1018): Remove the deprecated |view_owner|.
-    handle<eventpair>? view_token;
-    request<fuchsia.ui.viewsv1token.ViewOwner>? view_owner;
+    request<fuchsia.ui.viewsv1token.ViewOwner> view_owner;
 
     // Services provided by the |BaseShell| that can be offered to the
     // |SessionShell| that is being logged into.
@@ -89,15 +87,15 @@
     // Logs out a user by tearing down its sessionmgr. Returns once the
     // Sessionmgr has been torn down. This also triggers OnLogout() for
     // |UserWatcher|s.
-    Logout() -> ();
+    1: Logout() -> ();
 
     // Registers a watcher for the user's life cycle events.
-    Watch(UserWatcher watcher);
+    2: Watch(UserWatcher watcher);
 
     // Stops the currently running session shell and starts the one specified by
     // |session_shell_config|. This operation stops all stories before starting
     // the new shell.
-    SwapSessionShell(AppConfig session_shell_config) -> ();
+    3: SwapSessionShell(AppConfig session_shell_config) -> ();
 };
 
 // Implemented by a |BaseShell| implementation in order to receive
@@ -109,5 +107,5 @@
     //
     // TODO(vardhan): Make a guarantee that once OnLogout() is invoked, it is
     // possible to UserProvider.Login() the same user.
-    OnLogout();
+    1: OnLogout();
 };