@@ -132,6 +132,7 @@ class GraphImplOrt::ComputeResources {
132
132
133
133
// static
134
134
void GraphImplOrt::CreateAndBuild (
135
+ mojo::PendingAssociatedReceiver<mojom::WebNNGraph> receiver,
135
136
mojom::GraphInfoPtr graph_info,
136
137
ComputeResourceInfo compute_resource_info,
137
138
base::flat_map<uint64_t , std::unique_ptr<WebNNConstantOperand>>
@@ -141,8 +142,9 @@ void GraphImplOrt::CreateAndBuild(
141
142
ScopedTrace scoped_trace (" GraphImplOrt::CreateAndBuild" );
142
143
143
144
auto wrapped_callback = base::BindPostTaskToCurrentDefault (
144
- base::BindOnce (&GraphImplOrt::DidCreateAndBuild, context->AsWeakPtr (),
145
- std::move (compute_resource_info), std::move (callback)));
145
+ base::BindOnce (&GraphImplOrt::DidCreateAndBuild, std::move (receiver),
146
+ context->AsWeakPtr (), std::move (compute_resource_info),
147
+ std::move (callback)));
146
148
147
149
base::ThreadPool::PostTaskAndReplyWithResult (
148
150
FROM_HERE,
@@ -224,6 +226,7 @@ GraphImplOrt::CreateAndBuildOnBackgroundThread(
224
226
225
227
// static
226
228
void GraphImplOrt::DidCreateAndBuild (
229
+ mojo::PendingAssociatedReceiver<mojom::WebNNGraph> receiver,
227
230
base::WeakPtr<WebNNContextImpl> context,
228
231
ComputeResourceInfo compute_resource_info,
229
232
WebNNContextImpl::CreateGraphImplCallback callback,
@@ -241,17 +244,20 @@ void GraphImplOrt::DidCreateAndBuild(
241
244
}
242
245
243
246
std::move (callback).Run (base::WrapUnique (new GraphImplOrt (
244
- std::move (compute_resource_info ), std::move (result. value () ),
245
- static_cast <ContextImplOrt*>(context.get ()))));
247
+ std::move (receiver ), std::move (compute_resource_info ),
248
+ std::move (result. value ()), static_cast <ContextImplOrt*>(context.get ()))));
246
249
}
247
250
248
251
GraphImplOrt::~GraphImplOrt () = default ;
249
252
250
253
GraphImplOrt::GraphImplOrt (
254
+ mojo::PendingAssociatedReceiver<mojom::WebNNGraph> receiver,
251
255
ComputeResourceInfo compute_resource_info,
252
256
std::unique_ptr<GraphImplOrt::ComputeResources> compute_resources,
253
257
ContextImplOrt* context)
254
- : WebNNGraphImpl(context, std::move(compute_resource_info)) {
258
+ : WebNNGraphImpl(std::move(receiver),
259
+ context,
260
+ std::move(compute_resource_info)) {
255
261
compute_resources_state_ =
256
262
base::MakeRefCounted<QueueableResourceState<ComputeResources>>(
257
263
std::move (compute_resources));
0 commit comments