diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index a525386df5584..560e444e869f3 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -4697,8 +4697,6 @@ ORIGIN: ../../../flutter/fml/concurrent_message_loop_factory.cc + ../../../flutt ORIGIN: ../../../flutter/fml/container.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/fml/cpu_affinity.cc + ../../../flutter/LICENSE ORIGIN: ../../../flutter/fml/cpu_affinity.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/dart/dart_converter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/dart/dart_converter.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/fml/delayed_task.cc + ../../../flutter/LICENSE ORIGIN: ../../../flutter/fml/delayed_task.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/fml/eintr_wrapper.h + ../../../flutter/LICENSE @@ -7471,8 +7469,6 @@ FILE: ../../../flutter/fml/concurrent_message_loop_factory.cc FILE: ../../../flutter/fml/container.h FILE: ../../../flutter/fml/cpu_affinity.cc FILE: ../../../flutter/fml/cpu_affinity.h -FILE: ../../../flutter/fml/dart/dart_converter.cc -FILE: ../../../flutter/fml/dart/dart_converter.h FILE: ../../../flutter/fml/delayed_task.cc FILE: ../../../flutter/fml/delayed_task.h FILE: ../../../flutter/fml/eintr_wrapper.h diff --git a/fml/BUILD.gn b/fml/BUILD.gn index 063c0aee65068..46a0df507861e 100644 --- a/fml/BUILD.gn +++ b/fml/BUILD.gn @@ -387,7 +387,6 @@ if (enable_unittests) { deps = [ ":fml_fixtures", "//flutter/fml", - "//flutter/fml/dart", "//flutter/runtime", "//flutter/runtime:libdart", "//flutter/testing", diff --git a/fml/dart/BUILD.gn b/fml/dart/BUILD.gn deleted file mode 100644 index 099629292cb6a..0000000000000 --- a/fml/dart/BUILD.gn +++ /dev/null @@ -1,19 +0,0 @@ -# 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. - -# Utilities for working with FML types with the Dart API. Targets that use FML -# as well as Dart must explicitly include this target as FML itself cannot -# depend on Dart. -source_set("dart") { - sources = [ - "dart_converter.cc", - "dart_converter.h", - ] - - public_deps = [ - "//flutter/fml", - "//flutter/runtime:libdart", - "//flutter/third_party/tonic", - ] -} diff --git a/fml/dart/dart_converter.cc b/fml/dart/dart_converter.cc deleted file mode 100644 index 7e17bd8bb3c30..0000000000000 --- a/fml/dart/dart_converter.cc +++ /dev/null @@ -1,11 +0,0 @@ -// 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. - -#include "flutter/fml/dart/dart_converter.h" - -namespace fml { - -// - -} // namespace fml diff --git a/fml/dart/dart_converter.h b/fml/dart/dart_converter.h deleted file mode 100644 index ccdd2422abed6..0000000000000 --- a/fml/dart/dart_converter.h +++ /dev/null @@ -1,127 +0,0 @@ -// 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. - -#ifndef FLUTTER_FML_DART_DART_CONVERTER_H_ -#define FLUTTER_FML_DART_DART_CONVERTER_H_ - -#include -#include - -#include "flutter/fml/mapping.h" -#include "third_party/dart/runtime/include/dart_api.h" -#include "third_party/tonic/converter/dart_converter.h" - -namespace tonic { - -using DartConverterMapping = std::unique_ptr; - -template <> -struct DartConverter { - static Dart_Handle ToDart(const DartConverterMapping& val) { - if (!val) { - return Dart_Null(); - } - - auto dart_list_handle = Dart_NewListOfTypeFilled( - ToDartTypeHandle(), // type - CreateZeroInitializedDartObject(), // sentinel - val->GetSize() // size - ); - - if (Dart_IsError(dart_list_handle)) { - FML_LOG(ERROR) << "Error while attempting to allocate a list: " - << Dart_GetError(dart_list_handle); - return dart_list_handle; - } - - if (val->GetSize() == 0) { - // Nothing to copy. Just return the zero sized list. - return dart_list_handle; - } - - auto result = Dart_ListSetAsBytes(dart_list_handle, // list - 0, // offset - val->GetMapping(), // native array, - val->GetSize() // length - ); - - if (Dart_IsError(result)) { - FML_LOG(ERROR) << "Error while attempting to create a Dart list: " - << Dart_GetError(result); - return result; - } - - return dart_list_handle; - } - - static void SetReturnValue(Dart_NativeArguments args, - const DartConverterMapping& val) { - Dart_SetReturnValue(args, ToDart(val)); - } - - static DartConverterMapping FromDart(Dart_Handle dart_list) { - if (Dart_IsNull(dart_list)) { - return nullptr; - } - - if (Dart_IsError(dart_list)) { - FML_LOG(ERROR) << "Cannot convert an error handle to a list: " - << Dart_GetError(dart_list); - return nullptr; - } - - if (!Dart_IsList(dart_list)) { - FML_LOG(ERROR) << "Dart handle was not a list."; - return nullptr; - } - - intptr_t length = 0; - auto handle = Dart_ListLength(dart_list, &length); - - if (Dart_IsError(handle)) { - FML_LOG(ERROR) << "Could not get the length of the Dart list: " - << Dart_GetError(handle); - return nullptr; - } - - if (length == 0) { - // Return a valid zero sized mapping. - return std::make_unique(nullptr, 0); - } - - auto mapping_buffer = ::malloc(length); - - if (!mapping_buffer) { - FML_LOG(ERROR) - << "Out of memory while attempting to allocate a mapping of size: " - << length; - return nullptr; - } - - auto mapping = std::make_unique( - static_cast(mapping_buffer), length, - [](const uint8_t* data, size_t size) { - ::free(const_cast(data)); - }); - - handle = Dart_ListGetAsBytes( - dart_list, // list - 0, // offset - static_cast(mapping_buffer), // native array - length // length - ); - - if (Dart_IsError(handle)) { - FML_LOG(ERROR) << "Could not copy Dart list to native buffer: " - << Dart_GetError(handle); - return nullptr; - } - - return mapping; - } -}; - -} // namespace tonic - -#endif // FLUTTER_FML_DART_DART_CONVERTER_H_ diff --git a/shell/common/BUILD.gn b/shell/common/BUILD.gn index ba83f117cbb51..cd49230765b55 100644 --- a/shell/common/BUILD.gn +++ b/shell/common/BUILD.gn @@ -245,7 +245,6 @@ if (enable_unittests) { public_deps = [ "//flutter/common/graphics", "//flutter/flow", - "//flutter/fml/dart", "//flutter/runtime", "//flutter/shell/common", "//flutter/testing", diff --git a/shell/common/fixtures/shell_test.dart b/shell/common/fixtures/shell_test.dart index 591d2e7d68ab0..8d96938fe6031 100644 --- a/shell/common/fixtures/shell_test.dart +++ b/shell/common/fixtures/shell_test.dart @@ -220,29 +220,6 @@ void callNotifyDestroyed() { @pragma('vm:external-name', 'NotifyMessage') external void notifyMessage(String string); -@pragma('vm:entry-point') -void canConvertMappings() { - sendFixtureMapping(getFixtureMapping()); -} - -@pragma('vm:external-name', 'GetFixtureMapping') -external List getFixtureMapping(); -@pragma('vm:external-name', 'SendFixtureMapping') -external void sendFixtureMapping(List list); - -@pragma('vm:entry-point') -void canDecompressImageFromAsset() { - decodeImageFromList( - Uint8List.fromList(getFixtureImage()), - (Image result) { - notifyWidthHeight(result.width, result.height); - }, - ); -} - -@pragma('vm:external-name', 'GetFixtureImage') -external List getFixtureImage(); - @pragma('vm:entry-point') void canRegisterImageDecoders() { decodeImageFromList( diff --git a/shell/common/shell_fuchsia_unittests.cc b/shell/common/shell_fuchsia_unittests.cc index e8db4e9702cd6..da6bd0f641432 100644 --- a/shell/common/shell_fuchsia_unittests.cc +++ b/shell/common/shell_fuchsia_unittests.cc @@ -18,7 +18,6 @@ #include #include -#include "flutter/fml/dart/dart_converter.h" #include "flutter/fml/logging.h" #include "flutter/fml/synchronization/count_down_latch.h" #include "flutter/runtime/dart_vm.h" diff --git a/shell/common/shell_unittests.cc b/shell/common/shell_unittests.cc index 00cfd4d10b541..9d04138566306 100644 --- a/shell/common/shell_unittests.cc +++ b/shell/common/shell_unittests.cc @@ -28,7 +28,6 @@ #include "flutter/flow/layers/transform_layer.h" #include "flutter/fml/backtrace.h" #include "flutter/fml/command_line.h" -#include "flutter/fml/dart/dart_converter.h" #include "flutter/fml/make_copyable.h" #include "flutter/fml/message_loop.h" #include "flutter/fml/synchronization/count_down_latch.h" @@ -2207,52 +2206,6 @@ TEST_F(ShellTest, Screenshot) { DestroyShell(std::move(shell)); } -TEST_F(ShellTest, CanConvertToAndFromMappings) { - const size_t buffer_size = 2 << 20; - - uint8_t* buffer = static_cast(::malloc(buffer_size)); - // NOLINTNEXTLINE(clang-analyzer-unix.Malloc) - ASSERT_TRUE(buffer != nullptr); - ASSERT_TRUE(MemsetPatternSetOrCheck( - buffer, buffer_size, MemsetPatternOp::kMemsetPatternOpSetBuffer)); - - std::unique_ptr mapping = - std::make_unique(buffer, buffer_size); - - ASSERT_EQ(mapping->GetSize(), buffer_size); - - fml::AutoResetWaitableEvent latch; - AddNativeCallback( - "SendFixtureMapping", CREATE_NATIVE_ENTRY([&](auto args) { - auto mapping_from_dart = - tonic::DartConverter>::FromDart( - Dart_GetNativeArgument(args, 0)); - ASSERT_NE(mapping_from_dart, nullptr); - ASSERT_EQ(mapping_from_dart->GetSize(), buffer_size); - ASSERT_TRUE(MemsetPatternSetOrCheck( - const_cast(mapping_from_dart->GetMapping()), // buffer - mapping_from_dart->GetSize(), // size - MemsetPatternOp::kMemsetPatternOpCheckBuffer // op - )); - latch.Signal(); - })); - - AddNativeCallback( - "GetFixtureMapping", CREATE_NATIVE_ENTRY([&](auto args) { - tonic::DartConverter::SetReturnValue( - args, mapping); - })); - - auto settings = CreateSettingsForFixture(); - auto configuration = RunConfiguration::InferFromSettings(settings); - configuration.SetEntrypoint("canConvertMappings"); - std::unique_ptr shell = CreateShell(settings); - ASSERT_NE(shell.get(), nullptr); - RunEngine(shell.get(), std::move(configuration)); - latch.Wait(); - DestroyShell(std::move(shell)); -} - // Compares local times as seen by the dart isolate and as seen by this test // fixture, to a resolution of 1 hour. // @@ -2301,35 +2254,6 @@ TEST_F(ShellTest, LocaltimesMatch) { DestroyShell(std::move(shell)); } -TEST_F(ShellTest, CanDecompressImageFromAsset) { - fml::AutoResetWaitableEvent latch; - AddNativeCallback("NotifyWidthHeight", CREATE_NATIVE_ENTRY([&](auto args) { - auto width = tonic::DartConverter::FromDart( - Dart_GetNativeArgument(args, 0)); - auto height = tonic::DartConverter::FromDart( - Dart_GetNativeArgument(args, 1)); - ASSERT_EQ(width, 100); - ASSERT_EQ(height, 100); - latch.Signal(); - })); - - AddNativeCallback( - "GetFixtureImage", CREATE_NATIVE_ENTRY([](auto args) { - auto fixture = OpenFixtureAsMapping("shelltest_screenshot.png"); - tonic::DartConverter::SetReturnValue( - args, fixture); - })); - - auto settings = CreateSettingsForFixture(); - auto configuration = RunConfiguration::InferFromSettings(settings); - configuration.SetEntrypoint("canDecompressImageFromAsset"); - std::unique_ptr shell = CreateShell(settings); - ASSERT_NE(shell.get(), nullptr); - RunEngine(shell.get(), std::move(configuration)); - latch.Wait(); - DestroyShell(std::move(shell)); -} - /// An image generator that always creates a 1x1 single-frame green image. class SinglePixelImageGenerator : public ImageGenerator { public: diff --git a/shell/gpu/BUILD.gn b/shell/gpu/BUILD.gn index c7ccf871891cd..0e7e68670551f 100644 --- a/shell/gpu/BUILD.gn +++ b/shell/gpu/BUILD.gn @@ -105,7 +105,6 @@ if (is_mac) { ":gpu_surface_metal", "//flutter/impeller/fixtures", "//flutter/fml", - "//flutter/fml/dart", "//flutter/runtime", "//flutter/runtime:libdart", "//flutter/testing",