Skip to content

Commit b7f6bf0

Browse files
authored
Pass deadline to embedder idle notification callback (flutter#7444)
1 parent 5272805 commit b7f6bf0

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

common/settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ struct Settings {
7979
// tasks suitable when idling. Due to this, embedders are still advised to be
8080
// as fast as possible in returning from this callback. Long running
8181
// operations in this callback do have the capability of introducing jank.
82-
fml::closure idle_notification_callback;
82+
std::function<void(int64_t)> idle_notification_callback;
8383
bool enable_software_rendering = false;
8484
bool skia_deterministic_rendering_on_cpu = false;
8585
bool verbose_logging = false;

runtime/runtime_controller.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ RuntimeController::RuntimeController(
2525
fml::RefPtr<flow::SkiaUnrefQueue> p_unref_queue,
2626
std::string p_advisory_script_uri,
2727
std::string p_advisory_script_entrypoint,
28-
fml::closure p_idle_notification_callback)
28+
std::function<void(int64_t)> p_idle_notification_callback)
2929
: RuntimeController(p_client,
3030
p_vm,
3131
std::move(p_isolate_snapshot),
@@ -50,7 +50,7 @@ RuntimeController::RuntimeController(
5050
fml::RefPtr<flow::SkiaUnrefQueue> p_unref_queue,
5151
std::string p_advisory_script_uri,
5252
std::string p_advisory_script_entrypoint,
53-
fml::closure idle_notification_callback,
53+
std::function<void(int64_t)> idle_notification_callback,
5454
WindowData p_window_data)
5555
: client_(p_client),
5656
vm_(p_vm),
@@ -212,7 +212,7 @@ bool RuntimeController::NotifyIdle(int64_t deadline) {
212212
// Idle notifications being in isolate scope are part of the contract.
213213
if (idle_notification_callback_) {
214214
TRACE_EVENT0("flutter", "EmbedderIdleNotification");
215-
idle_notification_callback_();
215+
idle_notification_callback_(deadline);
216216
}
217217
return true;
218218
}

runtime/runtime_controller.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class RuntimeController final : public WindowClient {
3737
fml::RefPtr<flow::SkiaUnrefQueue> unref_queue,
3838
std::string advisory_script_uri,
3939
std::string advisory_script_entrypoint,
40-
fml::closure idle_notification_callback);
40+
std::function<void(int64_t)> idle_notification_callback);
4141

4242
~RuntimeController() override;
4343

@@ -126,7 +126,7 @@ class RuntimeController final : public WindowClient {
126126
fml::RefPtr<flow::SkiaUnrefQueue> unref_queue_;
127127
std::string advisory_script_uri_;
128128
std::string advisory_script_entrypoint_;
129-
fml::closure idle_notification_callback_;
129+
std::function<void(int64_t)> idle_notification_callback_;
130130
WindowData window_data_;
131131
std::weak_ptr<DartIsolate> root_isolate_;
132132
std::pair<bool, uint32_t> root_isolate_return_code_ = {false, 0};
@@ -141,7 +141,7 @@ class RuntimeController final : public WindowClient {
141141
fml::RefPtr<flow::SkiaUnrefQueue> unref_queue,
142142
std::string advisory_script_uri,
143143
std::string advisory_script_entrypoint,
144-
fml::closure idle_notification_callback,
144+
std::function<void(int64_t)> idle_notification_callback,
145145
WindowData data);
146146

147147
Window* GetWindowIfAvailable();

0 commit comments

Comments
 (0)