-
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!
git@github.com:flutter/engine.git/compare/3953c3ccd15a...15f72b8 git log 3953c3c..15f72b8 --first-parent --oneline 2020-05-07 38722979+Kurun-pan@users.noreply.github.com Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 robert.ancell@canonical.com Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 xster@google.com add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 jason-simmons@users.noreply.github.com Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 dtiselice@google.com Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 iska.kaushik@gmail.com [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 skia-flutter-autoroll@skia.org 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 garyq@google.com 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
git@github.com:flutter/engine.git/compare/3953c3ccd15a...23cca32 git log 3953c3c..23cca32 --first-parent --oneline 2020-05-07 a-siva@users.noreply.github.com Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 38722979+Kurun-pan@users.noreply.github.com Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 robert.ancell@canonical.com Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 xster@google.com add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 jason-simmons@users.noreply.github.com Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 dtiselice@google.com Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 iska.kaushik@gmail.com [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 skia-flutter-autoroll@skia.org 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 garyq@google.com 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
git@github.com:flutter/engine.git/compare/3953c3ccd15a...e7ee47d git log 3953c3c..e7ee47d --first-parent --oneline 2020-05-08 ferhat@gmail.com [web] Implement matrix parameter for linear gradient (flutter/engine#18208) 2020-05-08 liyuqian@google.com Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160) 2020-05-08 skia-flutter-autoroll@skia.org Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212) 2020-05-08 stuartmorgan@google.com Refactor GLFW embedding to support headless mode (flutter/engine#18205) 2020-05-07 a-siva@users.noreply.github.com Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 38722979+Kurun-pan@users.noreply.github.com Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 robert.ancell@canonical.com Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 xster@google.com add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 jason-simmons@users.noreply.github.com Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 dtiselice@google.com Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 iska.kaushik@gmail.com [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 skia-flutter-autoroll@skia.org 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 garyq@google.com 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
git@github.com:flutter/engine.git/compare/3953c3ccd15a...403931f git log 3953c3c..403931f --first-parent --oneline 2020-05-08 robert.ancell@canonical.com Add FlValue (flutter/engine#18185) 2020-05-08 jason-simmons@users.noreply.github.com [SkParagraph] Copy text height behavior to the Skia paragraph style (flutter/engine#18178) 2020-05-08 ferhat@gmail.com [web] Implement matrix parameter for linear gradient (flutter/engine#18208) 2020-05-08 liyuqian@google.com Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160) 2020-05-08 skia-flutter-autoroll@skia.org Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212) 2020-05-08 stuartmorgan@google.com Refactor GLFW embedding to support headless mode (flutter/engine#18205) 2020-05-07 a-siva@users.noreply.github.com Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 38722979+Kurun-pan@users.noreply.github.com Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 robert.ancell@canonical.com Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 xster@google.com add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 jason-simmons@users.noreply.github.com Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 dtiselice@google.com Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 iska.kaushik@gmail.com [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 skia-flutter-autoroll@skia.org 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 garyq@google.com 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
git@github.com:flutter/engine.git/compare/3953c3ccd15a...9193d8f git log 3953c3c..9193d8f --first-parent --oneline 2020-05-08 skia-flutter-autoroll@skia.org Roll src/third_party/skia 0dc207f836da..a14084ba1b41 (3 commits) (flutter/engine#18219) 2020-05-08 robert.ancell@canonical.com Add FlValue (flutter/engine#18185) 2020-05-08 jason-simmons@users.noreply.github.com [SkParagraph] Copy text height behavior to the Skia paragraph style (flutter/engine#18178) 2020-05-08 ferhat@gmail.com [web] Implement matrix parameter for linear gradient (flutter/engine#18208) 2020-05-08 liyuqian@google.com Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160) 2020-05-08 skia-flutter-autoroll@skia.org Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212) 2020-05-08 stuartmorgan@google.com Refactor GLFW embedding to support headless mode (flutter/engine#18205) 2020-05-07 a-siva@users.noreply.github.com Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211) 2020-05-07 38722979+Kurun-pan@users.noreply.github.com Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015) 2020-05-07 robert.ancell@canonical.com Handle leak of message handle when no engine present (flutter/engine#18157) 2020-05-07 xster@google.com add docs to platformviewios (and some drive-by changes) (flutter/engine#17593) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203) 2020-05-07 jason-simmons@users.noreply.github.com Remove the global engine entry timestamp (flutter/engine#18182) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198) 2020-05-07 dtiselice@google.com Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144) 2020-05-07 iska.kaushik@gmail.com [profiling] CPU Profiling support for iOS (flutter/engine#18087) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194) 2020-05-07 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191) 2020-05-07 skia-flutter-autoroll@skia.org Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190) 2020-05-07 skia-flutter-autoroll@skia.org 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 garyq@google.com 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