Skip to content

Merge from google/flutter-desktop-embedding #1

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

Merged
merged 17 commits into from
Dec 13, 2018

Conversation

cloudwebrtc
Copy link
Owner

No description provided.

franciscojma86 and others added 17 commits October 23, 2018 12:24
Invokes TextInputAction.done on the platform channel when Enter is pressed.
Updates all plugin code other than public library headers to follow
standard Google style of using project-relative include paths.

This makes plugins consistent with the rest of the Linux code, which was
fixed in an earlier change.
Adds the BinaryMessanger interface, containing only the send API for
now. This eliminates the engine pointer from a public header, and is a
small step toward moving toward supporting MessageChannel/MethodChannel.

Technically this is a breaking change, but there's no expectation that
any code outside of the library would be using set_engine, so should not
actually impact anyone.

Part of issue #102.
Separates the basic JSON<->byte stream logic out into JsonMessageCodec,
which is an eventual part of the final channel interface.

Eventually this class will inherit from a generic MessageCodec
interface, but in order to make this functionality available for library
use while the type handling of the public interface is worked out, the
new class is internal for now.
This adds the MethodChannel and related APIs on Linux, further aligning
with the Flutter APIs. As with the current state on macOS, this is
implemented as an implementation detail of the existing plugin classes,
so that there's no plugin API breakage at this stage.

This currently deviates from the MethodChannel API on other platforms by
using InvokeMethodCall instead of InvokeMethod. Addressing this will be
done in a follow-up change.

Part of issue #102
Adds an experimental GN-based build as an alternative to the Make-based
build on Linux.

The example application does not use GN for its own build since it is
intended to serve as an example of using the embedding library, so it
continues to use the more common Make as clients are unlikely to be
using GN.

See issue #114
Adds the directory the Flutter engine is downloaded to to the include
paths of targets depending on fetch_flutter_engine so that they can find
the header.

Fixes issue #156
Adds opacity slider option to color panel
Also fixes an issue with returning non-RGB colors from the macOS color picker.
Further API alignment (issue #102). Adds support for communicating with
a BasicMessageChannel on the Flutter side.

Also splits apart the files related to codecs and channels to be one class
per file. They were originally combined to match the Flutter iOS file structure,
but that has proven to hinder project navigation more than it helps with
cross-referencing.

Moved classes have been cleaned up to be more consistent about using
nullability annotations only on interfaces, not implementations.
Provides basic instructions for debugging the Flutter side of a desktop
application, since the normal approaches for Flutter debugging require
some modifications on desktop.

Related to issue #14 and issue #164, although doesn't fully address
either.
Adds files missed in recent Linux change.
@cloudwebrtc cloudwebrtc merged commit d6a94e9 into cloudwebrtc:master Dec 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants