0

[Fuchsia] Remove uses of ServiceDirectoryClient::ForCurrentProcess

In the migration away from base::fuchsia::ServiceDirectoryClient, remove
uses of the method ForCurrentProcess() and replace with
ComponentContextForCurrentProcess().

Test: All existing tests still pass.

Bug: 974072
Change-Id: If0cace8dc31699016988ddf1ec9f3d6c4239edf2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1795313
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Xiaohan Wang <xhwang@chromium.org>
Commit-Queue: Sharon Yang <yangsharon@chromium.org>
Cr-Commit-Position: refs/heads/master@{#698098}
This commit is contained in:
Sharon Yang
2019-09-19 17:22:23 +00:00
committed by Commit Bot
parent 74ef7f02a4
commit a7939256a0
19 changed files with 93 additions and 50 deletions

@@ -40,6 +40,7 @@
#include <fuchsia/logger/cpp/fidl.h> #include <fuchsia/logger/cpp/fidl.h>
#include <fuchsia/logger/cpp/fidl_test_base.h> #include <fuchsia/logger/cpp/fidl_test_base.h>
#include <lib/fidl/cpp/binding.h> #include <lib/fidl/cpp/binding.h>
#include <lib/sys/cpp/component_context.h>
#include <lib/zx/channel.h> #include <lib/zx/channel.h>
#include <lib/zx/event.h> #include <lib/zx/event.h>
#include <lib/zx/exception.h> #include <lib/zx/exception.h>
@@ -51,8 +52,8 @@
#include <zircon/syscalls/exception.h> #include <zircon/syscalls/exception.h>
#include <zircon/types.h> #include <zircon/types.h>
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
#endif // OS_FUCHSIA #endif // OS_FUCHSIA
namespace logging { namespace logging {
@@ -1008,8 +1009,9 @@ TEST_F(LoggingTest, FuchsiaSystemLogging) {
std::make_unique<fuchsia::logger::LogFilterOptions>(); std::make_unique<fuchsia::logger::LogFilterOptions>();
options->tags = {"base_unittests__exec"}; options->tags = {"base_unittests__exec"};
fuchsia::logger::LogPtr logger = fuchsia::logger::LogPtr logger =
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::logger::Log>(); ->svc()
->Connect<fuchsia::logger::Log>();
logger->DumpLogs(binding.NewBinding(), std::move(options)); logger->DumpLogs(binding.NewBinding(), std::move(options));
listener.RunUntilDone(); listener.RunUntilDone();
} while (!listener.DidReceiveString(kLogMessage, &logged_message)); } while (!listener.DidReceiveString(kLogMessage, &logged_message));

@@ -26,8 +26,9 @@
#if defined(OS_FUCHSIA) #if defined(OS_FUCHSIA)
#include <fuchsia/deprecatedtimezone/cpp/fidl.h> #include <fuchsia/deprecatedtimezone/cpp/fidl.h>
#include <lib/sys/cpp/component_context.h>
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "base/numerics/clamped_math.h" #include "base/numerics/clamped_math.h"
#endif #endif
@@ -72,11 +73,16 @@ void SysTimeToTimeStruct(SysTime t, struct tm* timestruct, bool is_local) {
#elif defined(OS_FUCHSIA) #elif defined(OS_FUCHSIA)
typedef time_t SysTime; typedef time_t SysTime;
fuchsia::deprecatedtimezone::TimezoneSyncPtr ConnectTimeZoneServiceSync() {
fuchsia::deprecatedtimezone::TimezoneSyncPtr timezone;
base::fuchsia::ComponentContextForCurrentProcess()->svc()->Connect(
timezone.NewRequest());
return timezone;
}
SysTime GetTimezoneOffset(SysTime utc_time) { SysTime GetTimezoneOffset(SysTime utc_time) {
static base::NoDestructor<fuchsia::deprecatedtimezone::TimezoneSyncPtr> static base::NoDestructor<fuchsia::deprecatedtimezone::TimezoneSyncPtr>
timezone( timezone(ConnectTimeZoneServiceSync());
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess()
->ConnectToServiceSync<fuchsia::deprecatedtimezone::Timezone>());
int64_t milliseconds_since_epoch = int64_t milliseconds_since_epoch =
base::ClampMul(utc_time, base::Time::kMillisecondsPerSecond); base::ClampMul(utc_time, base::Time::kMillisecondsPerSecond);

@@ -41,6 +41,7 @@ cast_source_set("cma_backend_support") {
"//chromecast/public/media", "//chromecast/public/media",
"//media", "//media",
"//third_party/fuchsia-sdk/sdk:media", "//third_party/fuchsia-sdk/sdk:media",
"//third_party/fuchsia-sdk/sdk:sys_cpp",
] ]
} }

@@ -5,10 +5,11 @@
#include "chromecast/media/cma/backend/fuchsia/mixer_output_stream_fuchsia.h" #include "chromecast/media/cma/backend/fuchsia/mixer_output_stream_fuchsia.h"
#include <fuchsia/media/cpp/fidl.h> #include <fuchsia/media/cpp/fidl.h>
#include <lib/sys/cpp/component_context.h>
#include <zircon/syscalls.h> #include <zircon/syscalls.h>
#include "base/command_line.h" #include "base/command_line.h"
#include "base/fuchsia/service_directory_client.h" #include "base/fuchsia/default_context.h"
#include "base/memory/writable_shared_memory_region.h" #include "base/memory/writable_shared_memory_region.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "chromecast/base/chromecast_switches.h" #include "chromecast/base/chromecast_switches.h"
@@ -53,8 +54,9 @@ bool MixerOutputStreamFuchsia::Start(int requested_sample_rate, int channels) {
// Connect |audio_renderer_|. // Connect |audio_renderer_|.
fuchsia::media::AudioPtr audio_server = fuchsia::media::AudioPtr audio_server =
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::media::Audio>(); ->svc()
->Connect<fuchsia::media::Audio>();
audio_server->CreateAudioRenderer(audio_renderer_.NewRequest()); audio_server->CreateAudioRenderer(audio_renderer_.NewRequest());
audio_renderer_.set_error_handler( audio_renderer_.set_error_handler(
[this](zx_status_t status) { this->OnRendererError(status); }); [this](zx_status_t status) { this->OnRendererError(status); });

@@ -295,7 +295,10 @@ source_set("audio") {
"fuchsia/audio_output_stream_fuchsia.cc", "fuchsia/audio_output_stream_fuchsia.cc",
"fuchsia/audio_output_stream_fuchsia.h", "fuchsia/audio_output_stream_fuchsia.h",
] ]
deps += [ "//third_party/fuchsia-sdk/sdk:media" ] deps += [
"//third_party/fuchsia-sdk/sdk:media",
"//third_party/fuchsia-sdk/sdk:sys_cpp",
]
} }
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

@@ -4,10 +4,11 @@
#include "media/audio/fuchsia/audio_output_stream_fuchsia.h" #include "media/audio/fuchsia/audio_output_stream_fuchsia.h"
#include <lib/sys/cpp/component_context.h>
#include <zircon/syscalls.h> #include <zircon/syscalls.h>
#include "base/bind.h" #include "base/bind.h"
#include "base/fuchsia/service_directory_client.h" #include "base/fuchsia/default_context.h"
#include "base/memory/writable_shared_memory_region.h" #include "base/memory/writable_shared_memory_region.h"
#include "media/audio/fuchsia/audio_manager_fuchsia.h" #include "media/audio/fuchsia/audio_manager_fuchsia.h"
#include "media/base/audio_sample_types.h" #include "media/base/audio_sample_types.h"
@@ -37,8 +38,9 @@ bool AudioOutputStreamFuchsia::Open() {
// Connect |audio_renderer_| to the audio service. // Connect |audio_renderer_| to the audio service.
fuchsia::media::AudioPtr audio_server = fuchsia::media::AudioPtr audio_server =
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::media::Audio>(); ->svc()
->Connect<fuchsia::media::Audio>();
audio_server->CreateAudioRenderer(audio_renderer_.NewRequest()); audio_server->CreateAudioRenderer(audio_renderer_.NewRequest());
audio_renderer_.set_error_handler( audio_renderer_.set_error_handler(
fit::bind_member(this, &AudioOutputStreamFuchsia::OnRendererError)); fit::bind_member(this, &AudioOutputStreamFuchsia::OnRendererError));

@@ -2325,6 +2325,7 @@ source_set("net_deps") {
public_deps += [ public_deps += [
"//third_party/fuchsia-sdk/sdk:hardware_ethernet", "//third_party/fuchsia-sdk/sdk:hardware_ethernet",
"//third_party/fuchsia-sdk/sdk:netstack", "//third_party/fuchsia-sdk/sdk:netstack",
"//third_party/fuchsia-sdk/sdk:sys_cpp",
] ]
} }

@@ -4,14 +4,15 @@
#include "net/base/network_change_notifier_fuchsia.h" #include "net/base/network_change_notifier_fuchsia.h"
#include <lib/sys/cpp/component_context.h>
#include <algorithm> #include <algorithm>
#include <string> #include <string>
#include <utility> #include <utility>
#include <vector> #include <vector>
#include "base/bind.h" #include "base/bind.h"
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
#include "base/optional.h" #include "base/optional.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "net/base/network_interfaces.h" #include "net/base/network_interfaces.h"
@@ -22,8 +23,9 @@ namespace net {
NetworkChangeNotifierFuchsia::NetworkChangeNotifierFuchsia( NetworkChangeNotifierFuchsia::NetworkChangeNotifierFuchsia(
uint32_t required_features) uint32_t required_features)
: NetworkChangeNotifierFuchsia( : NetworkChangeNotifierFuchsia(
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::netstack::Netstack>(), ->svc()
->Connect<fuchsia::netstack::Netstack>(),
required_features) {} required_features) {}
NetworkChangeNotifierFuchsia::NetworkChangeNotifierFuchsia( NetworkChangeNotifierFuchsia::NetworkChangeNotifierFuchsia(

@@ -7,13 +7,14 @@
#include <fuchsia/hardware/ethernet/cpp/fidl.h> #include <fuchsia/hardware/ethernet/cpp/fidl.h>
#include <fuchsia/net/cpp/fidl.h> #include <fuchsia/net/cpp/fidl.h>
#include <fuchsia/netstack/cpp/fidl.h> #include <fuchsia/netstack/cpp/fidl.h>
#include <lib/sys/cpp/component_context.h>
#include <string> #include <string>
#include <utility> #include <utility>
#include "base/format_macros.h" #include "base/format_macros.h"
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "net/base/ip_endpoint.h" #include "net/base/ip_endpoint.h"
#include "net/base/network_interfaces.h" #include "net/base/network_interfaces.h"
@@ -102,9 +103,9 @@ std::vector<NetworkInterface> NetInterfaceToNetworkInterfaces(
bool GetNetworkList(NetworkInterfaceList* networks, int policy) { bool GetNetworkList(NetworkInterfaceList* networks, int policy) {
DCHECK(networks); DCHECK(networks);
fuchsia::netstack::NetstackSyncPtr netstack = fuchsia::netstack::NetstackSyncPtr netstack;
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()->svc()->Connect(
->ConnectToServiceSync<fuchsia::netstack::Netstack>(); netstack.NewRequest());
// TODO(kmarshall): Use NetworkChangeNotifier's cached interface list. // TODO(kmarshall): Use NetworkChangeNotifier's cached interface list.
std::vector<fuchsia::netstack::NetInterface> interfaces; std::vector<fuchsia::netstack::NetInterface> interfaces;

@@ -436,6 +436,7 @@ component("skia") {
"//third_party/fuchsia-sdk/sdk:fonts", "//third_party/fuchsia-sdk/sdk:fonts",
"//third_party/fuchsia-sdk/sdk:io", "//third_party/fuchsia-sdk/sdk:io",
"//third_party/fuchsia-sdk/sdk:sys", "//third_party/fuchsia-sdk/sdk:sys",
"//third_party/fuchsia-sdk/sdk:sys_cpp",
"//third_party/fuchsia-sdk/sdk:zx", "//third_party/fuchsia-sdk/sdk:zx",
"//third_party/icu:icuuc", "//third_party/icu:icuuc",
] ]
@@ -836,6 +837,7 @@ source_set("test_fonts") {
"//third_party/fuchsia-sdk/sdk:fonts", "//third_party/fuchsia-sdk/sdk:fonts",
"//third_party/fuchsia-sdk/sdk:io", "//third_party/fuchsia-sdk/sdk:io",
"//third_party/fuchsia-sdk/sdk:sys", "//third_party/fuchsia-sdk/sdk:sys",
"//third_party/fuchsia-sdk/sdk:sys_cpp",
] ]
} }
if (is_linux) { if (is_linux) {

@@ -5,17 +5,19 @@
#include "skia/ext/fontmgr_default.h" #include "skia/ext/fontmgr_default.h"
#include <fuchsia/fonts/cpp/fidl.h> #include <fuchsia/fonts/cpp/fidl.h>
#include <lib/sys/cpp/component_context.h>
#include "base/fuchsia/service_directory_client.h" #include "base/fuchsia/default_context.h"
#include "third_party/skia/include/core/SkFontMgr.h" #include "third_party/skia/include/core/SkFontMgr.h"
#include "third_party/skia/include/ports/SkFontMgr_fuchsia.h" #include "third_party/skia/include/ports/SkFontMgr_fuchsia.h"
namespace skia { namespace skia {
SK_API sk_sp<SkFontMgr> CreateDefaultSkFontMgr() { SK_API sk_sp<SkFontMgr> CreateDefaultSkFontMgr() {
return SkFontMgr_New_Fuchsia( fuchsia::fonts::ProviderSyncPtr provider;
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()->svc()->Connect(
->ConnectToServiceSync<fuchsia::fonts::Provider>()); provider.NewRequest());
return SkFontMgr_New_Fuchsia(std::move(provider));
} }
} // namespace skia } // namespace skia

@@ -8,9 +8,10 @@
#include <fuchsia/io/cpp/fidl.h> #include <fuchsia/io/cpp/fidl.h>
#include <fuchsia/sys/cpp/fidl.h> #include <fuchsia/sys/cpp/fidl.h>
#include <lib/fidl/cpp/interface_handle.h> #include <lib/fidl/cpp/interface_handle.h>
#include <lib/sys/cpp/component_context.h>
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/file_utils.h" #include "base/fuchsia/file_utils.h"
#include "base/fuchsia/service_directory_client.h"
#include "base/no_destructor.h" #include "base/no_destructor.h"
#include "base/path_service.h" #include "base/path_service.h"
#include "skia/ext/fontmgr_default.h" #include "skia/ext/fontmgr_default.h"
@@ -43,17 +44,18 @@ fuchsia::fonts::ProviderSyncPtr RunTestProviderWithTestFonts(
launch_info.directory_request = launch_info.directory_request =
font_provider_services_dir.NewRequest().TakeChannel(); font_provider_services_dir.NewRequest().TakeChannel();
fuchsia::sys::LauncherSyncPtr launcher = fuchsia::sys::LauncherSyncPtr launcher;
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()->svc()->Connect(
->ConnectToServiceSync<fuchsia::sys::Launcher>(); launcher.NewRequest());
launcher->CreateComponent(std::move(launch_info), launcher->CreateComponent(std::move(launch_info),
controller_out->NewRequest()); controller_out->NewRequest());
base::fuchsia::ServiceDirectoryClient font_provider_services_client( sys::ServiceDirectory font_provider_services_client(
std::move(font_provider_services_dir)); std::move(font_provider_services_dir));
return font_provider_services_client fuchsia::fonts::ProviderSyncPtr provider;
.ConnectToServiceSync<fuchsia::fonts::Provider>(); font_provider_services_client.Connect(provider.NewRequest());
return provider;
} }
void ConfigureTestFont() { void ConfigureTestFont() {

@@ -19,6 +19,7 @@ jumbo_component("fuchsia") {
defines = [ "IS_UI_BASE_IME_FUCHSIA_IMPL" ] defines = [ "IS_UI_BASE_IME_FUCHSIA_IMPL" ]
public_deps = [ public_deps = [
"//third_party/fuchsia-sdk/sdk:sys_cpp",
"//third_party/fuchsia-sdk/sdk:ui_input", "//third_party/fuchsia-sdk/sdk:ui_input",
"//ui/base/ime", "//ui/base/ime",
"//ui/events", "//ui/events",

@@ -5,10 +5,11 @@
#include "ui/base/ime/fuchsia/input_method_fuchsia.h" #include "ui/base/ime/fuchsia/input_method_fuchsia.h"
#include <fuchsia/ui/input/cpp/fidl.h> #include <fuchsia/ui/input/cpp/fidl.h>
#include <lib/sys/cpp/component_context.h>
#include <memory> #include <memory>
#include <utility> #include <utility>
#include "base/fuchsia/service_directory_client.h" #include "base/fuchsia/default_context.h"
#include "ui/base/ime/text_input_client.h" #include "ui/base/ime/text_input_client.h"
#include "ui/events/base_event_utils.h" #include "ui/events/base_event_utils.h"
#include "ui/events/keycodes/dom/dom_code.h" #include "ui/events/keycodes/dom/dom_code.h"
@@ -20,8 +21,9 @@ InputMethodFuchsia::InputMethodFuchsia(internal::InputMethodDelegate* delegate)
: InputMethodBase(delegate), : InputMethodBase(delegate),
event_converter_(this), event_converter_(this),
ime_client_binding_(this), ime_client_binding_(this),
ime_service_(base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() ime_service_(base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::ui::input::ImeService>()), ->svc()
->Connect<fuchsia::ui::input::ImeService>()),
virtual_keyboard_controller_(ime_service_.get()) {} virtual_keyboard_controller_(ime_service_.get()) {}
InputMethodFuchsia::~InputMethodFuchsia() {} InputMethodFuchsia::~InputMethodFuchsia() {}

@@ -4,10 +4,11 @@
#include "ui/base/ime/fuchsia/input_method_keyboard_controller_fuchsia.h" #include "ui/base/ime/fuchsia/input_method_keyboard_controller_fuchsia.h"
#include <lib/sys/cpp/component_context.h>
#include <utility> #include <utility>
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
#include "base/logging.h" #include "base/logging.h"
namespace ui { namespace ui {
@@ -16,8 +17,9 @@ InputMethodKeyboardControllerFuchsia::InputMethodKeyboardControllerFuchsia(
fuchsia::ui::input::ImeService* ime_service) fuchsia::ui::input::ImeService* ime_service)
: ime_service_(ime_service), : ime_service_(ime_service),
ime_visibility_( ime_visibility_(
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::ui::input::ImeVisibilityService>()) { ->svc()
->Connect<fuchsia::ui::input::ImeVisibilityService>()) {
DCHECK(ime_service_); DCHECK(ime_service_);
ime_visibility_.set_error_handler([](zx_status_t status) { ime_visibility_.set_error_handler([](zx_status_t status) {

@@ -4,12 +4,13 @@
#include "ui/ozone/platform/scenic/scenic_surface_factory.h" #include "ui/ozone/platform/scenic/scenic_surface_factory.h"
#include <lib/sys/cpp/component_context.h>
#include <lib/zx/event.h> #include <lib/zx/event.h>
#include <memory> #include <memory>
#include "base/bind.h" #include "base/bind.h"
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "ui/gfx/native_pixmap.h" #include "ui/gfx/native_pixmap.h"
@@ -64,14 +65,19 @@ class GLOzoneEGLScenic : public GLOzoneEGL {
DISALLOW_COPY_AND_ASSIGN(GLOzoneEGLScenic); DISALLOW_COPY_AND_ASSIGN(GLOzoneEGLScenic);
}; };
fuchsia::sysmem::AllocatorSyncPtr ConnectSysmemAllocator() {
fuchsia::sysmem::AllocatorSyncPtr allocator;
base::fuchsia::ComponentContextForCurrentProcess()->svc()->Connect(
allocator.NewRequest());
return allocator;
}
} // namespace } // namespace
ScenicSurfaceFactory::ScenicSurfaceFactory(mojom::ScenicGpuHost* gpu_host) ScenicSurfaceFactory::ScenicSurfaceFactory(mojom::ScenicGpuHost* gpu_host)
: gpu_host_(gpu_host), : gpu_host_(gpu_host),
egl_implementation_(std::make_unique<GLOzoneEGLScenic>()), egl_implementation_(std::make_unique<GLOzoneEGLScenic>()),
sysmem_buffer_manager_( sysmem_buffer_manager_(ConnectSysmemAllocator()),
base::fuchsia::ServiceDirectoryClient::ForCurrentProcess()
->ConnectToServiceSync<fuchsia::sysmem::Allocator>()),
weak_ptr_factory_(this) { weak_ptr_factory_(this) {
// TODO(spang, crbug.com/923445): Add message loop to GPU tests. // TODO(spang, crbug.com/923445): Add message loop to GPU tests.
if (base::ThreadTaskRunnerHandle::IsSet()) if (base::ThreadTaskRunnerHandle::IsSet())
@@ -213,8 +219,9 @@ void ScenicSurfaceFactory::CreateScenicSessionOnMainThread(
fidl::InterfaceHandle<fuchsia::ui::scenic::SessionListener> listener) { fidl::InterfaceHandle<fuchsia::ui::scenic::SessionListener> listener) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
if (!scenic_) { if (!scenic_) {
scenic_ = base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() scenic_ = base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::ui::scenic::Scenic>(); ->svc()
->Connect<fuchsia::ui::scenic::Scenic>();
scenic_.set_error_handler([](zx_status_t status) { scenic_.set_error_handler([](zx_status_t status) {
ZX_LOG(FATAL, status) << "Scenic connection failed"; ZX_LOG(FATAL, status) << "Scenic connection failed";
}); });

@@ -4,10 +4,11 @@
#include "ui/ozone/platform/scenic/scenic_window_manager.h" #include "ui/ozone/platform/scenic/scenic_window_manager.h"
#include <lib/sys/cpp/component_context.h>
#include <memory> #include <memory>
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
#include "ui/ozone/platform/scenic/ozone_platform_scenic.h" #include "ui/ozone/platform/scenic/ozone_platform_scenic.h"
namespace ui { namespace ui {
@@ -24,8 +25,9 @@ std::unique_ptr<PlatformScreen> ScenicWindowManager::CreateScreen() {
fuchsia::ui::scenic::Scenic* ScenicWindowManager::GetScenic() { fuchsia::ui::scenic::Scenic* ScenicWindowManager::GetScenic() {
if (!scenic_) { if (!scenic_) {
scenic_ = base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() scenic_ = base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<fuchsia::ui::scenic::Scenic>(); ->svc()
->Connect<fuchsia::ui::scenic::Scenic>();
scenic_.set_error_handler( scenic_.set_error_handler(
[](zx_status_t status) { ZX_LOG(FATAL, status) << " Scenic lost."; }); [](zx_status_t status) { ZX_LOG(FATAL, status) << " Scenic lost."; });
} }

@@ -29,6 +29,7 @@ source_set("platform_window") {
public_deps = [ public_deps = [
"//third_party/fuchsia-sdk/sdk:scenic_cpp", "//third_party/fuchsia-sdk/sdk:scenic_cpp",
"//third_party/fuchsia-sdk/sdk:sys_cpp",
"//third_party/fuchsia-sdk/sdk:ui_policy", "//third_party/fuchsia-sdk/sdk:ui_policy",
"//third_party/fuchsia-sdk/sdk:ui_views", "//third_party/fuchsia-sdk/sdk:ui_views",
] ]

@@ -6,11 +6,12 @@
#include <fuchsia/ui/policy/cpp/fidl.h> #include <fuchsia/ui/policy/cpp/fidl.h>
#include <fuchsia/ui/views/cpp/fidl.h> #include <fuchsia/ui/views/cpp/fidl.h>
#include <lib/sys/cpp/component_context.h>
#include <lib/ui/scenic/cpp/view_ref_pair.h> #include <lib/ui/scenic/cpp/view_ref_pair.h>
#include <lib/ui/scenic/cpp/view_token_pair.h> #include <lib/ui/scenic/cpp/view_token_pair.h>
#include "base/fuchsia/default_context.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/fuchsia/service_directory_client.h"
namespace ui { namespace ui {
namespace fuchsia { namespace fuchsia {
@@ -28,8 +29,9 @@ void InitializeViewTokenAndPresentView(
window_properties_out->view_ref_pair = scenic::ViewRefPair::New(); window_properties_out->view_ref_pair = scenic::ViewRefPair::New();
// Request Presenter to show the view full-screen. // Request Presenter to show the view full-screen.
auto presenter = base::fuchsia::ServiceDirectoryClient::ForCurrentProcess() auto presenter = base::fuchsia::ComponentContextForCurrentProcess()
->ConnectToService<::fuchsia::ui::policy::Presenter>(); ->svc()
->Connect<::fuchsia::ui::policy::Presenter>();
presenter->PresentView(std::move(view_holder_token), nullptr); presenter->PresentView(std::move(view_holder_token), nullptr);
} }