From c7eddaf7097e2f5ad3bc45228a73412da7f06cdd Mon Sep 17 00:00:00 2001 From: drwez Date: Thu, 13 Apr 2023 22:30:06 +0200 Subject: [PATCH] [fuchsia] Remove implementations & clients of deprecated CreateView (flutter/engine#41154) Prepare Flutter's Fuchsia port for removal of the fuchsia.ui.app.ViewProvider.CreateView() API. The Flutter engine's implementation of the API, which has long been deprecated, is removed. Calls to the deprecated CreateView() in tests are replaced with CreateViewWithViewRef(). Bug fxbug.dev/81285 --- .../shell/platform/fuchsia/flutter/component_v2.cc | 10 ---------- .../shell/platform/fuchsia/flutter/component_v2.h | 6 ------ .../embedder/parent-view/lib/parent_view.dart | 8 ++++++-- .../lib/embedding-flutter-view.dart | 8 ++++++-- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc b/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc index 9893de69e1..3ad4169869 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc @@ -628,16 +628,6 @@ void ComponentV2::OnEngineTerminate(const Engine* shell_holder) { } } -void ComponentV2::CreateView( - zx::eventpair token, - fidl::InterfaceRequest /*incoming_services*/, - fidl::InterfaceHandle< - fuchsia::sys::ServiceProvider> /*outgoing_services*/) { - auto view_ref_pair = scenic::ViewRefPair::New(); - CreateViewWithViewRef(std::move(token), std::move(view_ref_pair.control_ref), - std::move(view_ref_pair.view_ref)); -} - void ComponentV2::CreateViewWithViewRef( zx::eventpair view_token, fuchsia::ui::views::ViewRefControl control_ref, diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.h b/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.h index c23f4406ed..57a0aa62cd 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.h +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.h @@ -110,12 +110,6 @@ class ComponentV2 final // |fuchsia::component::runner::ComponentController| void Stop() override; - // |fuchsia::ui::app::ViewProvider| - void CreateView( - zx::eventpair token, - fidl::InterfaceRequest incoming_services, - fuchsia::sys::ServiceProviderHandle outgoing_services) override; - // |fuchsia::ui::app::ViewProvider| void CreateViewWithViewRef(zx::eventpair view_token, fuchsia::ui::views::ViewRefControl control_ref, diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/embedder/parent-view/lib/parent_view.dart b/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/embedder/parent-view/lib/parent_view.dart index 5fd5216611..93ab0c585f 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/embedder/parent-view/lib/parent_view.dart +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/embedder/parent-view/lib/parent_view.dart @@ -238,9 +238,13 @@ ViewHolderToken _launchGfxChildView() { final viewTokens = EventPairPair(); assert(viewTokens.status == ZX.OK); final viewHolderToken = ViewHolderToken(value: viewTokens.first); - final viewToken = ViewToken(value: viewTokens.second); - viewProvider.createView(viewToken.value, null, null); + final viewRefs = EventPairPair(); + assert(viewRefs.status == ZX.OK); + final viewRefControl = ViewRefControl(reference: viewRefs.first.duplicate(ZX.DEFAULT_EVENTPAIR_RIGHTS & ~ZX.RIGHT_DUPLICATE)); + final viewRef = ViewRef(reference: viewRefs.second.duplicate(ZX.RIGHTS_BASIC)); + + viewProvider.createViewWithViewRef(viewTokens.second, viewRefControl, viewRef); viewProvider.ctrl.close(); return viewHolderToken; diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/touch-input/embedding-flutter-view/lib/embedding-flutter-view.dart b/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/touch-input/embedding-flutter-view/lib/embedding-flutter-view.dart index 7473fbdeeb..252ee55342 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/touch-input/embedding-flutter-view/lib/embedding-flutter-view.dart +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/tests/integration/touch-input/embedding-flutter-view/lib/embedding-flutter-view.dart @@ -238,9 +238,13 @@ ViewHolderToken _launchGfxChildView() { final viewTokens = EventPairPair(); assert(viewTokens.status == ZX.OK); final viewHolderToken = ViewHolderToken(value: viewTokens.first); - final viewToken = ViewToken(value: viewTokens.second); - viewProvider.createView(viewToken.value, null, null); + final viewRefs = EventPairPair(); + assert(viewRefs.status == ZX.OK); + final viewRefControl = ViewRefControl(reference: viewRefs.first.duplicate(ZX.DEFAULT_EVENTPAIR_RIGHTS & ~ZX.RIGHT_DUPLICATE)); + final viewRef = ViewRef(reference: viewRefs.second.duplicate(ZX.RIGHTS_BASIC)); + + viewProvider.createViewWithViewRef(viewTokens.second, viewRefControl, viewRef); viewProvider.ctrl.close(); return viewHolderToken;