-
Notifications
You must be signed in to change notification settings - Fork 6k
Support EventChannel C++ plugin API for Linux/Windows #17015
Support EventChannel C++ plugin API for Linux/Windows #17015
Conversation
|
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
1 similar comment
|
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
|
@googlebot I signed it! |
|
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
1 similar comment
|
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
| [](const uint8_t* reply, const size_t reply_size) {}); | ||
| EXPECT_EQ(on_listen_called, true); | ||
|
|
||
| // FIXME: add onCancel test scenario |
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.
Please finish implementing the tests; there is commented-out code in both test methods.
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.
I fixed unit test code.
| #include "event_sink.h" | ||
| #include "event_stream_handler.h" | ||
|
|
||
| static constexpr char kOnListenMethod[] = "listen"; |
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.
static in a header (other than in a class) is almost always a mistake; this construction can lead to ODR violations. Since we're not allowing C++17 in the wrapper yet (where you could use inline constexpr, which would be the right way to do what you are trying to do here), you need to extern these and put the values in an implementation file.
| // If no handler has been registered, any incoming stream setup requests will | ||
| // be handled silently by providing an empty stream. | ||
| void SetStreamHandler(const StreamHandler<T>& handler) const { | ||
| // TODO: The following is required when nullptr |
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.
I'm confused by this comment, since the argument is a const reference, not a pointer.
| // TODO: The following is required when nullptr | ||
| // can be passed as an argument. | ||
| // if (!handler) { /* <= available for more than C++17 */ | ||
| // messenger_->SetMessageHandler(name_, nullptr); |
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.
Without this code, what is the process for removing a handler?
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.
There is no way. I think again.
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.
I implemented it.
| // return; | ||
| // } | ||
|
|
||
| const auto* codec = codec_; |
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.
Do not use auto when the type is not immediately inferable from the line of code.
|
|
||
| namespace flutter { | ||
|
|
||
| // Event callback. Supports dual use: Producers of events to be sent to Flutter |
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.
Being both called and implemented isn't really "dual use"; that's what an interface is.
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.
I Modified comment.
| class StreamHandler { | ||
| public: | ||
| // Handles a request to set up an event stream. | ||
| // @param arguments stream configuration arguments, possibly null. |
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.
Why is this notation being used only for a subset of this one class?
I'm fine with adopting Doxygen for the client wrapper, but if it's going to be done it should be done consistently in all the new code.
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.
I used the comments of following source code for reference. I thought the same comment would be better.
shell/platform/android/io/flutter/plugin/common/EventChannel.java
There's definitely no sense of unity in the code. Adjust to other C++ code, I try not to use Doxygen Doc comments.
shell/platform/common/cpp/client_wrapper/include/flutter/event_stream_handler.h
Outdated
Show resolved
Hide resolved
| OnListen onListen; | ||
| OnCancel onCancel; | ||
|
|
||
| // Registers a stream handler on this channel. |
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.
This comment is copypasta.
| handler.onCancel(method_call->arguments()); | ||
|
|
||
| auto result = codec->EncodeSuccessEnvelope(); | ||
| uint8_t* buffer = new uint8_t[result->size()]; |
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.
Note that you are leaking buffer here, demonstrating why using new/delete manually should be avoided whenever possible. (Separately from the fact that I don't think this buffer should exist in the first place.)
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.
I deleted these codes.
|
Thank you for your review.
I'm glad to hear that! Thank you. I'm done fixing. Could you request again? |
stuartmorgan-g
left a comment
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.
Just some minor nits remaining.
| EXPECT_EQ(on_cancel_called, true); | ||
| } | ||
|
|
||
| // Test that consecutive call of OnListen. |
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.
Please fix this comment; tests that consecutive calls do what?
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.
Modified.
| const std::string& method = method_call->method_name(); | ||
| if (method.compare(kOnListenMethod) == 0) { | ||
| if (is_listening_) { | ||
| auto error = shared_handler->OnCancel(nullptr); |
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.
Please don't use auto here; the type is non-obvious from local context.
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.
Modified.
| std::unique_ptr<std::vector<uint8_t>> result; | ||
| auto sink = std::make_unique<EventSinkImplementation>( | ||
| messenger, channel_name, codec); | ||
| auto error = |
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.
Same.
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.
Modified.
|
|
||
| // Handler of stream setup and tear-down requests. | ||
| // Implementations must be prepared to accept sequences of alternating calls to | ||
| // onListen() and onCancel(). Implementations should ideally consume no |
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.
Nit: OnListen and OnCancel
Applies throughout this comment, which currently uses low case initial letters everywhere.
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.
Modified.
| StreamHandler& operator=(StreamHandler const&) = delete; | ||
|
|
||
| // Handles a request to set up an event stream. Returns error if representing | ||
| // an unsuccessful outcome of invoking the method, possibly nullptr. |
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.
I'm finding this sentence a bit hard to parse. How about just "Returns nullptr on success, or an error on failure."
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.
Thank you! Modified.
| } | ||
|
|
||
| // Handles a request to tear down the most recently created event stream. | ||
| // Returns error if representing an unsuccessful outcome of invoking the |
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.
Same here.
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.
Thank you! Modified.
| } | ||
|
|
||
| auto error = std::make_unique<StreamHandlerError<T>>( | ||
| "error", "Not found StreamHandlerListen hander", nullptr); |
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.
"No OnListen handler set"
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.
Modified.
| } | ||
|
|
||
| auto error = std::make_unique<StreamHandlerError<T>>( | ||
| "error", "Not found StreamHandlerCancel hander", nullptr); |
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.
"No OnCancel handler set"
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.
Modified.
…se some auto variables.
…ent-channel-support-linux-windows
|
@stuartmorgan |
stuartmorgan-g
left a comment
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. Thanks for the contribution!
[email protected]:flutter/engine.git/compare/3953c3ccd15a...15f72b8 git log 3953c3c..15f72b8 --first-parent --oneline 2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188) 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 [email protected] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
[email protected]:flutter/engine.git/compare/3953c3ccd15a...23cca32 git log 3953c3c..23cca32 --first-parent --oneline 2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188) 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 [email protected] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
[email protected]:flutter/engine.git/compare/3953c3ccd15a...e7ee47d git log 3953c3c..e7ee47d --first-parent --oneline 2020-05-08 [email protected] [web] Implement matrix parameter for linear gradient (flutter/engine#18208) 2020-05-08 [email protected] Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160) 2020-05-08 [email protected] Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212) 2020-05-08 [email protected] Refactor GLFW embedding to support headless mode (flutter/engine#18205) 2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188) 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 [email protected] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
[email protected]:flutter/engine.git/compare/3953c3ccd15a...403931f git log 3953c3c..403931f --first-parent --oneline 2020-05-08 [email protected] Add FlValue (flutter/engine#18185) 2020-05-08 [email protected] [SkParagraph] Copy text height behavior to the Skia paragraph style (flutter/engine#18178) 2020-05-08 [email protected] [web] Implement matrix parameter for linear gradient (flutter/engine#18208) 2020-05-08 [email protected] Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160) 2020-05-08 [email protected] Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212) 2020-05-08 [email protected] Refactor GLFW embedding to support headless mode (flutter/engine#18205) 2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188) 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 [email protected] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
[email protected]:flutter/engine.git/compare/3953c3ccd15a...9193d8f git log 3953c3c..9193d8f --first-parent --oneline 2020-05-08 [email protected] Roll src/third_party/skia 0dc207f836da..a14084ba1b41 (3 commits) (flutter/engine#18219) 2020-05-08 [email protected] Add FlValue (flutter/engine#18185) 2020-05-08 [email protected] [SkParagraph] Copy text height behavior to the Skia paragraph style (flutter/engine#18178) 2020-05-08 [email protected] [web] Implement matrix parameter for linear gradient (flutter/engine#18208) 2020-05-08 [email protected] Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160) 2020-05-08 [email protected] Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212) 2020-05-08 [email protected] Refactor GLFW embedding to support headless mode (flutter/engine#18205) 2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188) 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 [email protected] on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
|
Thank you so much! |
|
@Kurun-pan Thank you man for the PR. Awesome stuff 🚀 |
|
@beevelop |
|
This looks exciting; are there any examples out there that leverage this API yet for a Linux plugin? |
|
Linux switched to a completely different API surface several months ago, so the C++ API is now Windows-only. I've filed flutter/flutter#65270 for adding it to the new Linux API. |
|
How do I use the event channel on windows? Can you give some example? |
|
I have try to use EventChannel, but I found memory leaks and crashes. Question and example code here: #76448 who can give some help? thanks in advance |
#49398
flutter/flutter#49398