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

Initial import of FDE macOS framework #7642

Conversation

stuartmorgan-g
Copy link
Contributor

Merges the current flutter-desktop-embedding macOS framework code into
the engine repository. Notable changes:

  • All channel/codec related code is eliminated in favor of using the
    existing iOS implementations.
  • All .m files renamed to .mm for consistency with the iOS code.
    • Some minor code changes to fix new warnings in Objective-C++ mode.
  • License headers, basic format (e.g., clang-format changes) updated to
    use repo style.
  • Xcode project is not included; instead adds GN build rules to create
    an integrated framework that combines what was the FDE library with
    what is present in FlutterEmbedder.framework.

Other changes are left as follow-ups, including:

  • Moving shared code out of ios/ into common/.
  • Class renaming; the FLE prefix will be eliminated, but that API
    surface isn't stable yet, so that can be changed later.
  • Capturing the build artifact.
  • Potentially improving sharing between iOS and macOS BUILD.gn.

Merges the current flutter-desktop-embedding macOS framework into the
engine. Notable changes:
- All channel/codec related code is eliminated in favor of using the
  existing iOS implementations.
- All .m files renamed to .mm for consistency with the iOS code.
  - Some minor code changes to fix new warnings in Objective-C++ mode.
- License headers, basic format (e.g., clang-format changes) updated to
  use repo style.
- Xcode project is not included; instead adds GN build rules to create
  an integrated framework that combines what was the FDE library with
  what is present in FlutterEmbedder.framework.

Other changes are left as follow-ups, including:
- Moving shared code out of ios/ into common/.
- Potentially improving sharing between iOS and macOS BUILD.gn.
- Class renaming; the FLE prefix will be eliminated, but that API
  surface isn't stable yet, so that can be changed later.
Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

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

LGTM after the availability macros are in place and the licenses file has been updated. Thanks.

@stuartmorgan-g stuartmorgan-g merged commit 9345274 into flutter:master Jan 31, 2019
@stuartmorgan-g stuartmorgan-g deleted the macos-desktop-embedding-initial-import branch January 31, 2019 22:14
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 2, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 2, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 2, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 2, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 3, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 3, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 4, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 4, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 4, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Feb 4, 2019
flutter/engine@e7eb1c8...74839e2

git log e7eb1c8..74839e2 --no-merges --oneline
74839e2 Roll src/third_party/skia 8c14038e56c3..d7a5a1d27e1d (5 commits) (flutter/engine#7683)
615ca59 Roll src/third_party/skia 69130631e23d..8c14038e56c3 (1 commits) (flutter/engine#7682)
482e43f Roll src/third_party/skia 21ca3702f8eb..69130631e23d (2 commits) (flutter/engine#7681)
cc349a3 Roll src/third_party/skia b45f47dc3ef5..21ca3702f8eb (1 commits) (flutter/engine#7680)
26b8339 Roll src/third_party/skia 9c7a006a8e2d..b45f47dc3ef5 (1 commits) (flutter/engine#7679)
940b420 Roll src/third_party/skia 32d8cce070dd..9c7a006a8e2d (1 commits) (flutter/engine#7677)
0a9dadb Roll src/third_party/skia 71e434dc9dea..32d8cce070dd (1 commits) (flutter/engine#7675)
6266da8 Roll src/third_party/skia d396dd0347d3..71e434dc9dea (1 commits) (flutter/engine#7674)
94ec2c5 Roll src/third_party/skia 0d84e805c30c..d396dd0347d3 (1 commits) (flutter/engine#7673)
48055b1 Roll src/third_party/skia 48913465db5f..0d84e805c30c (1 commits) (flutter/engine#7672)
7f9d59c Roll src/third_party/skia d6a45a8aee6e..48913465db5f (1 commits) (flutter/engine#7671)
3f4ac2b Roll src/third_party/skia 8ec9a60bdb6f..d6a45a8aee6e (2 commits) (flutter/engine#7670)
b00c7c8 Roll src/third_party/skia 72c687807f5e..8ec9a60bdb6f (2 commits) (flutter/engine#7669)
1b6f139 Roll src/third_party/skia 8f5aeebdd8eb..72c687807f5e (3 commits) (flutter/engine#7668)
637fadb Roll src/third_party/skia 3ed198faf93a..8f5aeebdd8eb (8 commits) (flutter/engine#7667)
1b65785 Add kernel-worker and dart2js to BUILD.gn (flutter/engine#7660)
1cf6061 Roll src/third_party/skia 5892553ad020..3ed198faf93a (3 commits) (flutter/engine#7666)
377e665 Roll src/third_party/skia 569dda7216cd..5892553ad020 (5 commits) (flutter/engine#7665)
44245c8 Roll src/third_party/skia 72a0e3347cdf..569dda7216cd (1 commits) (flutter/engine#7664)
80db23f Roll src/third_party/skia ae64f52786b3..72a0e3347cdf (2 commits) (flutter/engine#7663)
4889c74 Roll src/third_party/skia 95b014790f93..ae64f52786b3 (3 commits) (flutter/engine#7662)
fac24d9 Roll src/third_party/skia 88bfed46ab6e..95b014790f93 (3 commits) (flutter/engine#7661)
5dcf3cf Roll src/third_party/skia 5b257abb87d2..88bfed46ab6e (8 commits) (flutter/engine#7657)
9345274 Initial import of FDE macOS framework (flutter/engine#7642)
54f5467 Roll src/third_party/skia 1bd245b91801..5b257abb87d2 (5 commits) (flutter/engine#7656)
e71daf6 Roll src/third_party/skia ea2dc6a6bc11..1bd245b91801 (1 commits) (flutter/engine#7655)
4f5e170 Roll src/third_party/skia e9742a5a0db1..ea2dc6a6bc11 (1 commits) (flutter/engine#7654)
ef1a7f8 Roll src/third_party/skia 8a484d0203d9..e9742a5a0db1 (2 commits) (flutter/engine#7653)
28339c8 Roll src/third_party/skia b7af275ebbf5..8a484d0203d9 (3 commits) (flutter/engine#7652)
7fa77ef Fix two typos in embedder docs (flutter/engine#7649)
e9419bf Roll src/third_party/skia 9c8ad0316147..b7af275ebbf5 (3 commits) (flutter/engine#7650)
b94e759 Expose the Flutter engine, Dart and Skia versions to Dart. (flutter/engine#7634)
64e1707 Document make_resource_current on FlutterOpenGLRendererConfig and warn if the callback is not set. (flutter/engine#7648)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (dnfield@google.com), and stop
the roller if necessary.
cbracken added a commit to cbracken/flutter_engine that referenced this pull request Feb 8, 2019
In 9345274 (flutter#7642), //shell/platform/darwin:framework_shared was added
without the root flutter config, causing a build breakage in Fuchsia,
where flutter sits under //third_party/flutter as opposed to at the
root. The flutter root config is required to set -I../../third_party as
an include path.
zanderso pushed a commit that referenced this pull request Feb 8, 2019
In 9345274 (#7642), //shell/platform/darwin:framework_shared was added
without the root flutter config, causing a build breakage in Fuchsia,
where flutter sits under //third_party/flutter as opposed to at the
root. The flutter root config is required to set -I../../third_party as
an include path.
kangwang1988 pushed a commit to XianyuTech/flutter that referenced this pull request Feb 12, 2019
flutter/engine@e7eb1c8...74839e2

git log e7eb1c8..74839e2 --no-merges --oneline
74839e2 Roll src/third_party/skia 8c14038e56c3..d7a5a1d27e1d (5 commits) (flutter/engine#7683)
615ca59 Roll src/third_party/skia 69130631e23d..8c14038e56c3 (1 commits) (flutter/engine#7682)
482e43f Roll src/third_party/skia 21ca3702f8eb..69130631e23d (2 commits) (flutter/engine#7681)
cc349a3 Roll src/third_party/skia b45f47dc3ef5..21ca3702f8eb (1 commits) (flutter/engine#7680)
26b8339 Roll src/third_party/skia 9c7a006a8e2d..b45f47dc3ef5 (1 commits) (flutter/engine#7679)
940b420 Roll src/third_party/skia 32d8cce070dd..9c7a006a8e2d (1 commits) (flutter/engine#7677)
0a9dadb Roll src/third_party/skia 71e434dc9dea..32d8cce070dd (1 commits) (flutter/engine#7675)
6266da8 Roll src/third_party/skia d396dd0347d3..71e434dc9dea (1 commits) (flutter/engine#7674)
94ec2c5 Roll src/third_party/skia 0d84e805c30c..d396dd0347d3 (1 commits) (flutter/engine#7673)
48055b1 Roll src/third_party/skia 48913465db5f..0d84e805c30c (1 commits) (flutter/engine#7672)
7f9d59c Roll src/third_party/skia d6a45a8aee6e..48913465db5f (1 commits) (flutter/engine#7671)
3f4ac2b Roll src/third_party/skia 8ec9a60bdb6f..d6a45a8aee6e (2 commits) (flutter/engine#7670)
b00c7c8 Roll src/third_party/skia 72c687807f5e..8ec9a60bdb6f (2 commits) (flutter/engine#7669)
1b6f139 Roll src/third_party/skia 8f5aeebdd8eb..72c687807f5e (3 commits) (flutter/engine#7668)
637fadb Roll src/third_party/skia 3ed198faf93a..8f5aeebdd8eb (8 commits) (flutter/engine#7667)
1b65785 Add kernel-worker and dart2js to BUILD.gn (flutter/engine#7660)
1cf6061 Roll src/third_party/skia 5892553ad020..3ed198faf93a (3 commits) (flutter/engine#7666)
377e665 Roll src/third_party/skia 569dda7216cd..5892553ad020 (5 commits) (flutter/engine#7665)
44245c8 Roll src/third_party/skia 72a0e3347cdf..569dda7216cd (1 commits) (flutter/engine#7664)
80db23f Roll src/third_party/skia ae64f52786b3..72a0e3347cdf (2 commits) (flutter/engine#7663)
4889c74 Roll src/third_party/skia 95b014790f93..ae64f52786b3 (3 commits) (flutter/engine#7662)
fac24d9 Roll src/third_party/skia 88bfed46ab6e..95b014790f93 (3 commits) (flutter/engine#7661)
5dcf3cf Roll src/third_party/skia 5b257abb87d2..88bfed46ab6e (8 commits) (flutter/engine#7657)
9345274 Initial import of FDE macOS framework (flutter/engine#7642)
54f5467 Roll src/third_party/skia 1bd245b91801..5b257abb87d2 (5 commits) (flutter/engine#7656)
e71daf6 Roll src/third_party/skia ea2dc6a6bc11..1bd245b91801 (1 commits) (flutter/engine#7655)
4f5e170 Roll src/third_party/skia e9742a5a0db1..ea2dc6a6bc11 (1 commits) (flutter/engine#7654)
ef1a7f8 Roll src/third_party/skia 8a484d0203d9..e9742a5a0db1 (2 commits) (flutter/engine#7653)
28339c8 Roll src/third_party/skia b7af275ebbf5..8a484d0203d9 (3 commits) (flutter/engine#7652)
7fa77ef Fix two typos in embedder docs (flutter/engine#7649)
e9419bf Roll src/third_party/skia 9c8ad0316147..b7af275ebbf5 (3 commits) (flutter/engine#7650)
b94e759 Expose the Flutter engine, Dart and Skia versions to Dart. (flutter/engine#7634)
64e1707 Document make_resource_current on FlutterOpenGLRendererConfig and warn if the callback is not set. (flutter/engine#7648)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (dnfield@google.com), and stop
the roller if necessary.
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.

3 participants