// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "fuchsia/engine/context_provider_main.h"

#include "base/fuchsia/scoped_service_binding.h"
#include "base/fuchsia/service_directory.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "fuchsia/base/lifecycle_impl.h"
#include "fuchsia/engine/context_provider_impl.h"

int ContextProviderMain() {
  base::MessageLoopForUI message_loop;
  base::fuchsia::ServiceDirectory* const directory =
      base::fuchsia::ServiceDirectory::GetDefault();

  ContextProviderImpl context_provider;
  base::fuchsia::ScopedServiceBinding<chromium::web::ContextProvider> binding(
      directory, &context_provider);

  base::RunLoop run_loop;
  cr_fuchsia::LifecycleImpl lifecycle(directory, run_loop.QuitClosure());

  run_loop.Run();

  return 0;
}
