-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Made FlutterTaskQueue visible for Swift. #47348
Conversation
fff13db
to
3736098
Compare
443402d
to
e0a6450
Compare
e0a6450
to
5664b90
Compare
We don't have infrastructure to test this currently. I added an issue for it: flutter/flutter#137368 |
@@ -118,12 +118,16 @@ - (void)dispatch:(dispatch_block_t)block { | |||
FlutterBinaryMessageHandler handler, | |||
NSObject<FlutterTaskQueue>* task_queue) { | |||
FML_CHECK(platform_task_runner_->RunsTasksOnCurrentThread()); | |||
// Use `respondsToSelector` instead of `conformsToProtocol` to accomodate | |||
// hacking in your own `FlutterTaskQueue`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you explain more about "hacking in your own FlutterTaskQueue
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done, injecting
is a better description
|
||
#import "flutter/shell/platform/darwin/common/framework/Headers/FlutterBinaryMessenger.h" | ||
|
||
@protocol FlutterTaskQueueDispatch <FlutterTaskQueue> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you add some comments on why we need FlutterTaskQueueDispatch
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
…137442) flutter/engine@0bba9ee...1e66c0a 2023-10-27 30870216+gaaclarke@users.noreply.github.com Made FlutterTaskQueue visible for Swift. (flutter/engine#47348) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC aaclarke@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
fixes flutter/flutter#118832
This makes the
FlutterTaskQueue
protocol visible, but keeps thedispatch:
selector private. Under the covers there are runtime checks to make suredispatch:
is available since we can't have compile time checks anymore.Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.