|
7 | 7 | #include "engine.h" |
8 | 8 |
|
9 | 9 | #include <lib/async/cpp/task.h> |
| 10 | +#include <lib/ui/scenic/cpp/view_ref_pair.h> |
10 | 11 | #include <zircon/status.h> |
11 | 12 | #include <sstream> |
12 | 13 |
|
@@ -55,7 +56,6 @@ Engine::Engine(Delegate& delegate, |
55 | 56 | flutter::Settings settings, |
56 | 57 | fml::RefPtr<const flutter::DartSnapshot> isolate_snapshot, |
57 | 58 | fuchsia::ui::views::ViewToken view_token, |
58 | | - scenic::ViewRefPair view_ref_pair, |
59 | 59 | UniqueFDIONS fdio_ns, |
60 | 60 | fidl::InterfaceRequest<fuchsia::io::Directory> directory_request) |
61 | 61 | : delegate_(delegate), |
@@ -111,9 +111,14 @@ Engine::Engine(Delegate& delegate, |
111 | 111 | }); |
112 | 112 | }; |
113 | 113 |
|
| 114 | + auto view_ref_pair = scenic::ViewRefPair::New(); |
114 | 115 | fuchsia::ui::views::ViewRef view_ref; |
115 | 116 | view_ref_pair.view_ref.Clone(&view_ref); |
116 | 117 |
|
| 118 | + fuchsia::ui::views::ViewRef dart_view_ref; |
| 119 | + view_ref_pair.view_ref.Clone(&dart_view_ref); |
| 120 | + zx::eventpair dart_view_ref_event_pair(std::move(dart_view_ref.reference)); |
| 121 | + |
117 | 122 | // Setup the callback that will instantiate the platform view. |
118 | 123 | flutter::Shell::CreateCallback<flutter::PlatformView> |
119 | 124 | on_create_platform_view = fml::MakeCopyable( |
@@ -256,9 +261,10 @@ Engine::Engine(Delegate& delegate, |
256 | 261 | svc->Connect(environment.NewRequest()); |
257 | 262 |
|
258 | 263 | isolate_configurator_ = std::make_unique<IsolateConfigurator>( |
259 | | - std::move(fdio_ns), // |
260 | | - std::move(environment), // |
261 | | - directory_request.TakeChannel() // |
| 264 | + std::move(fdio_ns), // |
| 265 | + std::move(environment), // |
| 266 | + directory_request.TakeChannel(), // |
| 267 | + std::move(dart_view_ref_event_pair) // |
262 | 268 | ); |
263 | 269 | } |
264 | 270 |
|
|
0 commit comments