mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
This makes two changes: - Adds a way to register a callback for when a FlutterDesktopPluginRegistrarRef is destroyed, and implements the logic to call it in the Windows and Linux embeddings. - Adds a class to the C++ wrapper that handles making a singleton owning PluginRegistrar wrappers, and destroying them when the underlying reference goes away, to avoid needing that boilerplate code in every plugin's source. Fixes https://github.com/flutter/flutter/issues/53496
71 lines
1.9 KiB
Plaintext
71 lines
1.9 KiB
Plaintext
# Copyright 2013 The Flutter Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import("//flutter/testing/testing.gni")
|
|
import("core_wrapper_files.gni")
|
|
|
|
# Client library build for internal use by the shell implementation.
|
|
source_set("client_wrapper") {
|
|
sources = core_cpp_client_wrapper_sources
|
|
public = core_cpp_client_wrapper_includes
|
|
|
|
deps = [
|
|
"//flutter/shell/platform/common/cpp:common_cpp_library_headers",
|
|
]
|
|
|
|
configs +=
|
|
[ "//flutter/shell/platform/common/cpp:desktop_library_implementation" ]
|
|
|
|
public_configs =
|
|
[ "//flutter/shell/platform/common/cpp:relative_flutter_library_headers" ]
|
|
}
|
|
|
|
source_set("client_wrapper_library_stubs") {
|
|
sources = [
|
|
"testing/stub_flutter_api.cc",
|
|
"testing/stub_flutter_api.h",
|
|
]
|
|
|
|
defines = [ "FLUTTER_DESKTOP_LIBRARY" ]
|
|
|
|
public_deps = [
|
|
"//flutter/shell/platform/common/cpp:common_cpp_library_headers",
|
|
]
|
|
}
|
|
|
|
test_fixtures("client_wrapper_fixtures") {
|
|
fixtures = []
|
|
}
|
|
|
|
executable("client_wrapper_unittests") {
|
|
testonly = true
|
|
|
|
# TODO: Add more unit tests.
|
|
sources = [
|
|
"basic_message_channel_unittests.cc",
|
|
"encodable_value_unittests.cc",
|
|
"method_call_unittests.cc",
|
|
"method_channel_unittests.cc",
|
|
"plugin_registrar_unittests.cc",
|
|
"standard_message_codec_unittests.cc",
|
|
"standard_method_codec_unittests.cc",
|
|
"testing/encodable_value_utils.cc",
|
|
"testing/encodable_value_utils.h",
|
|
]
|
|
|
|
deps = [
|
|
":client_wrapper",
|
|
":client_wrapper_fixtures",
|
|
":client_wrapper_library_stubs",
|
|
"//flutter/testing",
|
|
|
|
# TODO(chunhtai): Consider refactoring flutter_root/testing so that there's a testing
|
|
# target that doesn't require a Dart runtime to be linked in.
|
|
# https://github.com/flutter/flutter/issues/41414.
|
|
"//third_party/dart/runtime:libdart_jit",
|
|
]
|
|
|
|
defines = [ "FLUTTER_DESKTOP_LIBRARY" ]
|
|
}
|