Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@Kurun-pan
Copy link
Contributor

#49398
flutter/flutter#49398

  • Tested on Linux desktop environment
  • CI unit test wrote code, but it has not been confirmed

@auto-assign auto-assign bot requested a review from flar March 8, 2020 10:26
@googlebot
Copy link

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 @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

1 similar comment
@googlebot
Copy link

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 @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

@Kurun-pan
Copy link
Contributor Author

@googlebot I signed it!

@googlebot
Copy link

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

1 similar comment
@googlebot
Copy link

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

@googlebot googlebot added cla: yes and removed cla: no labels Mar 8, 2020
@stuartmorgan-g stuartmorgan-g self-requested a review March 9, 2020 17:42
@chinmaygarde chinmaygarde self-requested a review March 10, 2020 05:06
[](const uint8_t* reply, const size_t reply_size) {});
EXPECT_EQ(on_listen_called, true);

// FIXME: add onCancel test scenario
Copy link
Contributor

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.

Copy link
Contributor Author

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";
Copy link
Contributor

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
Copy link
Contributor

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);
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor Author

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_;
Copy link
Contributor

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
Copy link
Contributor

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.

Copy link
Contributor Author

@Kurun-pan Kurun-pan Mar 13, 2020

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.
Copy link
Contributor

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.

Copy link
Contributor Author

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.

OnListen onListen;
OnCancel onCancel;

// Registers a stream handler on this channel.
Copy link
Contributor

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()];
Copy link
Contributor

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.)

Copy link
Contributor Author

@Kurun-pan Kurun-pan Mar 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I deleted these codes.

@Kurun-pan
Copy link
Contributor Author

Kurun-pan commented Apr 18, 2020

@stuartmorgan

Thank you for your review.

Some comments still, but I think this is very close. Thanks for your work on this!

I'm glad to hear that! Thank you.

I'm done fixing. Could you request again?

Copy link
Contributor

@stuartmorgan-g stuartmorgan-g left a 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.
Copy link
Contributor

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?

Copy link
Contributor Author

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);
Copy link
Contributor

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.

Copy link
Contributor Author

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 =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same.

Copy link
Contributor Author

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
Copy link
Contributor

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.

Copy link
Contributor Author

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.
Copy link
Contributor

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."

Copy link
Contributor Author

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here.

Copy link
Contributor Author

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);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"No OnListen handler set"

Copy link
Contributor Author

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);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"No OnCancel handler set"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modified.

@Kurun-pan
Copy link
Contributor Author

@stuartmorgan
Thank you for your review. I fixed. Could you check again? Thank you as always.

Copy link
Contributor

@stuartmorgan-g stuartmorgan-g left a 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!

@stuartmorgan-g stuartmorgan-g merged commit 15f72b8 into flutter:master May 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 7, 2020
[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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[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
@Kurun-pan Kurun-pan deleted the topic-event-channel-support-linux-windows branch May 8, 2020 14:57
@Kurun-pan
Copy link
Contributor Author

Thank you so much!

@beevelop
Copy link

@Kurun-pan Thank you man for the PR. Awesome stuff 🚀

@Kurun-pan
Copy link
Contributor Author

@beevelop
Thank you for your message. I'm very happy to get your message.

@matt-deboer
Copy link

This looks exciting; are there any examples out there that leverage this API yet for a Linux plugin?

@stuartmorgan-g
Copy link
Contributor

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.

@DlmuZQ
Copy link

DlmuZQ commented Nov 24, 2020

How do I use the event channel on windows? Can you give some example?

@fawdlstty
Copy link

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants