[scenic] Move all lib/components to lib/sys (in topaz)

Bug: 24523
Change-Id: I0af03a113674f1f8b14d2986c0a0a8ae8844cc4d
diff --git a/app/term/app.cc b/app/term/app.cc
index 3acec69..46eae33 100644
--- a/app/term/app.cc
+++ b/app/term/app.cc
@@ -22,13 +22,12 @@
 }  // namespace
 
 App::App(TermParams params)
-    : params_(std::move(params)),
-      context_(component::StartupContext::CreateFromStartupInfo()) {
-  context_->outgoing().AddPublicService<fuchsia::ui::app::ViewProvider>(
+    : params_(std::move(params)), context_(sys::ComponentContext::Create()) {
+  context_->outgoing()->AddPublicService<fuchsia::ui::app::ViewProvider>(
       [this](fidl::InterfaceRequest<fuchsia::ui::app::ViewProvider> request) {
         bindings_.AddBinding(this, std::move(request));
       });
-  context_->outgoing().AddPublicService<fuchsia::term::Term>(
+  context_->outgoing()->AddPublicService<fuchsia::term::Term>(
       [this](fidl::InterfaceRequest<fuchsia::term::Term> request) {
         term_bindings_.AddBinding(this, std::move(request));
       });
@@ -38,16 +37,15 @@
     zx::eventpair view_token,
     fidl::InterfaceRequest<fuchsia::sys::ServiceProvider> incoming_services,
     fidl::InterfaceHandle<fuchsia::sys::ServiceProvider> outgoing_services) {
-  auto scenic =
-      context_->ConnectToEnvironmentService<fuchsia::ui::scenic::Scenic>();
-  scenic::ViewContext view_context = {
+  auto scenic = context_->svc()->Connect<fuchsia::ui::scenic::Scenic>();
+  scenic::ViewContextTransitional view_context = {
       .enable_ime = true,
       .session_and_listener_request =
           scenic::CreateScenicSessionPtrAndListenerRequest(scenic.get()),
       .view_token = scenic::ToViewToken(std::move(view_token)),
       .incoming_services = std::move(incoming_services),
       .outgoing_services = std::move(outgoing_services),
-      .startup_context = context_.get(),
+      .component_context = context_.get(),
   };
 
   controllers_.push_back(std::make_unique<ViewController>(
diff --git a/app/term/app.h b/app/term/app.h
index 05b89d6..6c4ecb7 100644
--- a/app/term/app.h
+++ b/app/term/app.h
@@ -40,7 +40,7 @@
   App& operator=(const App&) = delete;
 
   TermParams params_;
-  std::unique_ptr<component::StartupContext> context_;
+  std::unique_ptr<sys::ComponentContext> context_;
   fidl::BindingSet<fuchsia::ui::app::ViewProvider> bindings_;
   fidl::BindingSet<fuchsia::term::Term> term_bindings_;
   fidl::BindingSet<fuchsia::term::Pty, std::unique_ptr<PtyClient>>
diff --git a/app/term/view_controller.cc b/app/term/view_controller.cc
index 426e928..c40430b 100644
--- a/app/term/view_controller.cc
+++ b/app/term/view_controller.cc
@@ -6,11 +6,11 @@
 
 #include <fuchsia/fonts/cpp/fidl.h>
 #include <lib/async/default.h>
+#include <lib/ui/input/cpp/formatting.h>
 #include <lib/zx/clock.h>
 #include <unistd.h>
 #include <zircon/status.h>
 
-#include "lib/ui/input/cpp/formatting.h"
 #include "src/lib/fxl/logging.h"
 #include "src/lib/fxl/strings/string_printf.h"
 #include "third_party/skia/include/core/SkFont.h"
@@ -28,15 +28,14 @@
 
 }  // namespace
 
-ViewController::ViewController(scenic::ViewContext view_context,
+ViewController::ViewController(scenic::ViewContextTransitional view_context,
                                const TermParams& term_params,
                                DisconnectCallback disconnect_handler)
     : SkiaView(std::move(view_context), "Term"),
       disconnect_(std::move(disconnect_handler)),
       model_(TermModel::Size(24, 80), this),
       font_loader_(
-          startup_context()
-              ->ConnectToEnvironmentService<fuchsia::fonts::Provider>()),
+          component_context()->svc()->Connect<fuchsia::fonts::Provider>()),
       params_(term_params) {
   SetReleaseHandler([this](zx_status_t status) { disconnect_(this); });
 
diff --git a/app/term/view_controller.h b/app/term/view_controller.h
index 60c33a9..193b5d4 100644
--- a/app/term/view_controller.h
+++ b/app/term/view_controller.h
@@ -24,7 +24,7 @@
  public:
   using DisconnectCallback = fit::function<void(ViewController*)>;
 
-  ViewController(scenic::ViewContext view_context,
+  ViewController(scenic::ViewContextTransitional view_context,
                  const TermParams& term_params,
                  DisconnectCallback disconnect_handler);
   ~ViewController() override = default;
diff --git a/bin/ui/skottie_viewer/main.cc b/bin/ui/skottie_viewer/main.cc
index 391686e..98ad624 100644
--- a/bin/ui/skottie_viewer/main.cc
+++ b/bin/ui/skottie_viewer/main.cc
@@ -3,11 +3,11 @@
 // found in the LICENSE file.
 
 #include <lib/async-loop/cpp/loop.h>
+#include <lib/ui/base_view/cpp/view_provider_component_transitional.h>
 #include <trace-provider/provider.h>
 
 #include "src/lib/fxl/command_line.h"
 #include "src/lib/fxl/log_settings_command_line.h"
-#include "lib/ui/base_view/cpp/view_provider_component.h"
 #include "topaz/bin/ui/skottie_viewer/view.h"
 
 int main(int argc, const char** argv) {
@@ -18,8 +18,8 @@
   async::Loop loop(&kAsyncLoopConfigAttachToThread);
   trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
 
-  scenic::ViewProviderComponent component(
-      [](scenic::ViewContext view_context) {
+  scenic::ViewProviderComponentTransitional component(
+      [](scenic::ViewContextTransitional view_context) {
         return std::make_unique<skottie::View>(std::move(view_context));
       },
       &loop);
diff --git a/bin/ui/skottie_viewer/view.cc b/bin/ui/skottie_viewer/view.cc
index 487cad5..5f2b612 100644
--- a/bin/ui/skottie_viewer/view.cc
+++ b/bin/ui/skottie_viewer/view.cc
@@ -4,7 +4,8 @@
 
 #include "topaz/bin/ui/skottie_viewer/view.h"
 
-#include "lib/fsl/vmo/vector.h"
+#include <lib/fsl/vmo/vector.h>
+
 #include "src/lib/fxl/logging.h"
 #include "third_party/skia/include/core/SkColor.h"
 
@@ -12,7 +13,7 @@
 
 constexpr float kSecondsPerNanosecond = .000'000'001f;
 
-View::View(scenic::ViewContext view_context)
+View::View(scenic::ViewContextTransitional view_context)
     : SkiaView(std::move(view_context), "Skottie View"), player_binding_(this) {
   outgoing_services().AddService(loader_bindings_.GetHandler(this));
 }
diff --git a/bin/ui/skottie_viewer/view.h b/bin/ui/skottie_viewer/view.h
index 5f11bba..427df2c 100644
--- a/bin/ui/skottie_viewer/view.h
+++ b/bin/ui/skottie_viewer/view.h
@@ -8,10 +8,10 @@
 #include <fuchsia/images/cpp/fidl.h>
 #include <fuchsia/mem/cpp/fidl.h>
 #include <fuchsia/skia/skottie/cpp/fidl.h>
+#include <lib/fidl/cpp/binding_set.h>
+#include <lib/sys/cpp/component_context.h>
 
 #include "examples/ui/lib/skia_view.h"
-#include "lib/component/cpp/startup_context.h"
-#include "lib/fidl/cpp/binding_set.h"
 #include "src/lib/fxl/macros.h"
 //#if defined(SK_ENABLE_SKOTTIE)
 #include "third_party/skia/modules/skottie/include/Skottie.h"
@@ -23,7 +23,7 @@
                    public fuchsia::skia::skottie::Loader,
                    public fuchsia::skia::skottie::Player {
  public:
-  View(scenic::ViewContext view_context);
+  View(scenic::ViewContextTransitional view_context);
   ~View() override = default;
 
   // |scenic::BaseView|
diff --git a/examples/ui/intl_client_demo/intl_client_demo_view.cc b/examples/ui/intl_client_demo/intl_client_demo_view.cc
index 27ff677..5a29300 100644
--- a/examples/ui/intl_client_demo/intl_client_demo_view.cc
+++ b/examples/ui/intl_client_demo/intl_client_demo_view.cc
@@ -25,15 +25,15 @@
 
 }  // namespace
 
-IntlClientDemoView::IntlClientDemoView(scenic::ViewContext view_context)
+IntlClientDemoView::IntlClientDemoView(
+    scenic::ViewContextTransitional view_context)
     : SkiaView(std::move(view_context), "ViewConfig Demo"),
       font_loader_(
-          startup_context()
-              ->ConnectToEnvironmentService<fuchsia::fonts::Provider>()),
+          component_context()->svc()->Connect<fuchsia::fonts::Provider>()),
       intl_property_provider_client_(
-          startup_context()
-              ->ConnectToEnvironmentService<
-                  fuchsia::intl::PropertyProvider>()) {
+          component_context()
+              ->svc()
+              ->Connect<fuchsia::intl::PropertyProvider>()) {
   // Asynchronously load the font we need in order to render text.
   fuchsia::fonts::TypefaceRequest font_request{};
   font_request.set_query(std::move(fuchsia::fonts::TypefaceQuery{}.set_family(
diff --git a/examples/ui/intl_client_demo/intl_client_demo_view.h b/examples/ui/intl_client_demo/intl_client_demo_view.h
index 0dc442d..13eae1d 100644
--- a/examples/ui/intl_client_demo/intl_client_demo_view.h
+++ b/examples/ui/intl_client_demo/intl_client_demo_view.h
@@ -20,7 +20,7 @@
 // Uses Skia to display its current locale ID as text in the middle of the view.
 class IntlClientDemoView : public scenic::SkiaView {
  public:
-  IntlClientDemoView(scenic::ViewContext view_context);
+  IntlClientDemoView(scenic::ViewContextTransitional view_context);
 
  private:
   void FetchIntlProfile();
diff --git a/examples/ui/intl_client_demo/main.cc b/examples/ui/intl_client_demo/main.cc
index 64dd573..9068f5c 100644
--- a/examples/ui/intl_client_demo/main.cc
+++ b/examples/ui/intl_client_demo/main.cc
@@ -3,10 +3,10 @@
 // found in the LICENSE file.
 
 #include <lib/async-loop/cpp/loop.h>
-#include <trace-provider/provider.h>
+#include <lib/trace-provider/provider.h>
+#include <lib/ui/base_view/cpp/view_provider_component_transitional.h>
 
 #include "intl_client_demo_view.h"
-#include "lib/ui/base_view/cpp/view_provider_component.h"
 #include "src/lib/fxl/command_line.h"
 #include "src/lib/fxl/log_settings_command_line.h"
 
@@ -20,8 +20,8 @@
   }
 
   FXL_LOG(INFO) << "Creating ViewProviderComponent";
-  scenic::ViewProviderComponent component(
-      [](scenic::ViewContext view_context) {
+  scenic::ViewProviderComponentTransitional component(
+      [](scenic::ViewContextTransitional view_context) {
         FXL_LOG(INFO) << "Calling ViewFactory";
         auto view = std::make_unique<examples::IntlClientDemoView>(
             std::move(view_context));
diff --git a/examples/ui/jank/jank_view.cc b/examples/ui/jank/jank_view.cc
index 36170cf..30a1577 100644
--- a/examples/ui/jank/jank_view.cc
+++ b/examples/ui/jank/jank_view.cc
@@ -8,7 +8,6 @@
 
 #include <string>
 
-#include "lib/component/cpp/connect.h"
 #include "src/lib/fxl/logging.h"
 #include "src/lib/fxl/macros.h"
 #include "src/lib/fxl/time/time_delta.h"
@@ -28,7 +27,7 @@
     {"Crash!", Action::kCrash},
 };
 
-JankView::JankView(scenic::ViewContext view_context,
+JankView::JankView(scenic::ViewContextTransitional view_context,
                    fuchsia::fonts::ProviderPtr font_provider)
     : SkiaView(std::move(view_context), "Jank"),
       font_loader_(std::move(font_provider)) {
diff --git a/examples/ui/jank/jank_view.h b/examples/ui/jank/jank_view.h
index 312455a..3a66ae0 100644
--- a/examples/ui/jank/jank_view.h
+++ b/examples/ui/jank/jank_view.h
@@ -8,11 +8,11 @@
 #include <fuchsia/fonts/cpp/fidl.h>
 #include <fuchsia/images/cpp/fidl.h>
 #include <fuchsia/ui/input/cpp/fidl.h>
-#include <src/lib/fxl/macros.h>
-#include <src/lib/fxl/time/time_point.h>
 
 #include "examples/ui/lib/skia_font_loader.h"
 #include "examples/ui/lib/skia_view.h"
+#include "src/lib/fxl/macros.h"
+#include "src/lib/fxl/time/time_point.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "third_party/skia/include/core/SkFont.h"
@@ -23,7 +23,7 @@
 
 class JankView : public scenic::SkiaView {
  public:
-  JankView(scenic::ViewContext view_context,
+  JankView(scenic::ViewContextTransitional view_context,
            fuchsia::fonts::ProviderPtr font_provider);
   ~JankView() override = default;
 
diff --git a/examples/ui/jank/main.cc b/examples/ui/jank/main.cc
index 8f2f744..9c8b993 100644
--- a/examples/ui/jank/main.cc
+++ b/examples/ui/jank/main.cc
@@ -3,11 +3,11 @@
 // found in the LICENSE file.
 
 #include <lib/async-loop/cpp/loop.h>
-#include <trace-provider/provider.h>
+#include <lib/trace-provider/provider.h>
+#include <lib/ui/base_view/cpp/view_provider_component_transitional.h>
 
 #include "src/lib/fxl/command_line.h"
 #include "src/lib/fxl/log_settings_command_line.h"
-#include "lib/ui/base_view/cpp/view_provider_component.h"
 #include "topaz/examples/ui/jank/jank_view.h"
 
 int main(int argc, const char** argv) {
@@ -18,11 +18,10 @@
   if (!fxl::SetLogSettingsFromCommandLine(command_line))
     return 1;
 
-  scenic::ViewProviderComponent component(
-      [](scenic::ViewContext view_context) {
-        auto font_provider =
-            view_context.startup_context
-                ->ConnectToEnvironmentService<fuchsia::fonts::Provider>();
+  scenic::ViewProviderComponentTransitional component(
+      [](scenic::ViewContextTransitional view_context) {
+        auto font_provider = view_context.component_context->svc()
+                                 ->Connect<fuchsia::fonts::Provider>();
         return std::make_unique<examples::JankView>(std::move(view_context),
                                                     std::move(font_provider));
       },
diff --git a/examples/ui/lib/skia_view.cc b/examples/ui/lib/skia_view.cc
index 380ab5e..17eaa39 100644
--- a/examples/ui/lib/skia_view.cc
+++ b/examples/ui/lib/skia_view.cc
@@ -6,8 +6,10 @@
 
 namespace scenic {
 
-SkiaView::SkiaView(scenic::ViewContext view_context, const std::string& label)
-    : BaseView(std::move(view_context), label), canvas_cycler_(session()) {
+SkiaView::SkiaView(scenic::ViewContextTransitional view_context,
+                   const std::string& label)
+    : BaseViewTransitional(std::move(view_context), label),
+      canvas_cycler_(session()) {
   root_node().AddChild(canvas_cycler_);
 }
 
diff --git a/examples/ui/lib/skia_view.h b/examples/ui/lib/skia_view.h
index f36d710..9d649f0 100644
--- a/examples/ui/lib/skia_view.h
+++ b/examples/ui/lib/skia_view.h
@@ -5,18 +5,20 @@
 #ifndef TOPAZ_EXAMPLES_UI_LIB_SKIA_VIEW_H_
 #define TOPAZ_EXAMPLES_UI_LIB_SKIA_VIEW_H_
 
+#include <lib/ui/base_view/cpp/base_view_transitional.h>
+
 #include "examples/ui/lib/host_canvas_cycler.h"
 #include "src/lib/fxl/logging.h"
 #include "src/lib/fxl/macros.h"
-#include "lib/ui/base_view/cpp/base_view.h"
 
 namespace scenic {
 
 // Abstract base class for views which use Skia software rendering to a
 // single full-size surface.
-class SkiaView : public scenic::BaseView {
+class SkiaView : public scenic::BaseViewTransitional {
  public:
-  SkiaView(scenic::ViewContext view_context, const std::string& label);
+  SkiaView(scenic::ViewContextTransitional view_context,
+           const std::string& label);
   ~SkiaView() override = default;
 
   // Acquires a canvas for rendering.
diff --git a/examples/ui/noodles/main.cc b/examples/ui/noodles/main.cc
index 8cbbb39..7cbd5b0 100644
--- a/examples/ui/noodles/main.cc
+++ b/examples/ui/noodles/main.cc
@@ -3,11 +3,11 @@
 // found in the LICENSE file.
 
 #include <lib/async-loop/cpp/loop.h>
-#include <trace-provider/provider.h>
+#include <lib/trace-provider/provider.h>
+#include <lib/ui/base_view/cpp/view_provider_component_transitional.h>
 
 #include "src/lib/fxl/command_line.h"
 #include "src/lib/fxl/log_settings_command_line.h"
-#include "lib/ui/base_view/cpp/view_provider_component.h"
 #include "topaz/examples/ui/noodles/noodles_view.h"
 
 int main(int argc, const char** argv) {
@@ -18,8 +18,8 @@
   if (!fxl::SetLogSettingsFromCommandLine(command_line))
     return 1;
 
-  scenic::ViewProviderComponent component(
-      [](scenic::ViewContext view_context) {
+  scenic::ViewProviderComponentTransitional component(
+      [](scenic::ViewContextTransitional view_context) {
         return std::make_unique<examples::NoodlesView>(std::move(view_context));
       },
       &loop);
diff --git a/examples/ui/noodles/noodles_view.cc b/examples/ui/noodles/noodles_view.cc
index d5c8e97..70c4d0f 100644
--- a/examples/ui/noodles/noodles_view.cc
+++ b/examples/ui/noodles/noodles_view.cc
@@ -37,7 +37,7 @@
 }
 }  // namespace
 
-NoodlesView::NoodlesView(scenic::ViewContext view_context)
+NoodlesView::NoodlesView(scenic::ViewContextTransitional view_context)
     : SkiaView(std::move(view_context), "Noodles") {}
 
 void NoodlesView::OnSceneInvalidated(
diff --git a/examples/ui/noodles/noodles_view.h b/examples/ui/noodles/noodles_view.h
index b804c25..2e556b8 100644
--- a/examples/ui/noodles/noodles_view.h
+++ b/examples/ui/noodles/noodles_view.h
@@ -6,6 +6,7 @@
 #define TOPAZ_EXAMPLES_UI_NOODLES_NOODLES_VIEW_H_
 
 #include <fuchsia/images/cpp/fidl.h>
+
 #include "examples/ui/lib/skia_view.h"
 #include "src/lib/fxl/macros.h"
 
@@ -18,7 +19,7 @@
 
 class NoodlesView : public scenic::SkiaView {
  public:
-  NoodlesView(scenic::ViewContext view_context);
+  NoodlesView(scenic::ViewContextTransitional view_context);
   ~NoodlesView() override = default;
 
  private:
diff --git a/examples/ui/paint/main.cc b/examples/ui/paint/main.cc
index a2f86ab..a276678 100644
--- a/examples/ui/paint/main.cc
+++ b/examples/ui/paint/main.cc
@@ -3,11 +3,11 @@
 // found in the LICENSE file.
 
 #include <lib/async-loop/cpp/loop.h>
-#include <trace-provider/provider.h>
+#include <lib/trace-provider/provider.h>
+#include <lib/ui/base_view/cpp/view_provider_component_transitional.h>
 
 #include "src/lib/fxl/command_line.h"
 #include "src/lib/fxl/log_settings_command_line.h"
-#include "lib/ui/base_view/cpp/view_provider_component.h"
 #include "topaz/examples/ui/paint/paint_view.h"
 
 int main(int argc, const char** argv) {
@@ -18,8 +18,8 @@
   if (!fxl::SetLogSettingsFromCommandLine(command_line))
     return 1;
 
-  scenic::ViewProviderComponent component(
-      [](scenic::ViewContext view_context) {
+  scenic::ViewProviderComponentTransitional component(
+      [](scenic::ViewContextTransitional view_context) {
         return std::make_unique<examples::PaintView>(std::move(view_context));
       },
       &loop);
diff --git a/examples/ui/paint/paint_view.cc b/examples/ui/paint/paint_view.cc
index 8f261b5..d763de1 100644
--- a/examples/ui/paint/paint_view.cc
+++ b/examples/ui/paint/paint_view.cc
@@ -6,7 +6,6 @@
 
 #include <hid/usages.h>
 
-#include "lib/component/cpp/connect.h"
 #include "src/lib/fxl/logging.h"
 #include "src/lib/fxl/macros.h"
 #include "third_party/skia/include/core/SkColor.h"
@@ -14,7 +13,7 @@
 
 namespace examples {
 
-PaintView::PaintView(scenic::ViewContext view_context)
+PaintView::PaintView(scenic::ViewContextTransitional view_context)
     : SkiaView(std::move(view_context), "Paint") {}
 
 void PaintView::OnSceneInvalidated(
diff --git a/examples/ui/paint/paint_view.h b/examples/ui/paint/paint_view.h
index 7513cd3..0bccaee 100644
--- a/examples/ui/paint/paint_view.h
+++ b/examples/ui/paint/paint_view.h
@@ -7,19 +7,20 @@
 
 #include <fuchsia/images/cpp/fidl.h>
 #include <fuchsia/ui/input/cpp/fidl.h>
+
 #include <map>
 #include <vector>
+
+#include "examples/ui/lib/skia_view.h"
 #include "src/lib/fxl/macros.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkPath.h"
 
-#include "examples/ui/lib/skia_view.h"
-
 namespace examples {
 
 class PaintView : public scenic::SkiaView {
  public:
-  PaintView(scenic::ViewContext view_context);
+  PaintView(scenic::ViewContextTransitional view_context);
   ~PaintView() override = default;
 
  private: