From 76f38cea00e312f7eafa352a862b0357b3b7f9ca Mon Sep 17 00:00:00 2001 From: Chris Bracken Date: Fri, 27 Sep 2024 16:13:43 -0700 Subject: [PATCH] iOS: Migrate FlutterHeadlessDartRunner to ARC This is a subclass of FlutterEngine, which is still manually reference counted, but that's not problematic since the headers have been migrated to ARC-safe syntax that preserves existing behaviour. Issue: https://github.com/flutter/flutter/issues/137801 --- shell/platform/darwin/ios/BUILD.gn | 2 +- .../ios/framework/Source/FlutterHeadlessDartRunner.mm | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/shell/platform/darwin/ios/BUILD.gn b/shell/platform/darwin/ios/BUILD.gn index 62b8f60450ceb..090f144cc6eaf 100644 --- a/shell/platform/darwin/ios/BUILD.gn +++ b/shell/platform/darwin/ios/BUILD.gn @@ -70,6 +70,7 @@ source_set("flutter_framework_source_arc") { "framework/Source/FlutterDartVMServicePublisher.mm", "framework/Source/FlutterEmbedderKeyResponder.h", "framework/Source/FlutterEmbedderKeyResponder.mm", + "framework/Source/FlutterHeadlessDartRunner.mm", "framework/Source/FlutterKeyPrimaryResponder.h", "framework/Source/FlutterKeySecondaryResponder.h", "framework/Source/FlutterKeyboardManager.h", @@ -183,7 +184,6 @@ source_set("flutter_framework_source") { "framework/Source/FlutterEngine.mm", "framework/Source/FlutterEngineGroup.mm", "framework/Source/FlutterEngine_Internal.h", - "framework/Source/FlutterHeadlessDartRunner.mm", "framework/Source/FlutterPlatformPlugin.h", "framework/Source/FlutterPlatformPlugin.mm", "framework/Source/FlutterViewController.mm", diff --git a/shell/platform/darwin/ios/framework/Source/FlutterHeadlessDartRunner.mm b/shell/platform/darwin/ios/framework/Source/FlutterHeadlessDartRunner.mm index 2f3dcc28774fa..f85da98240a17 100644 --- a/shell/platform/darwin/ios/framework/Source/FlutterHeadlessDartRunner.mm +++ b/shell/platform/darwin/ios/framework/Source/FlutterHeadlessDartRunner.mm @@ -23,8 +23,9 @@ #import "flutter/shell/platform/darwin/ios/framework/Source/platform_message_response_darwin.h" #import "flutter/shell/platform/darwin/ios/platform_view_ios.h" -@implementation FlutterHeadlessDartRunner { -} +FLUTTER_ASSERT_ARC + +@implementation FlutterHeadlessDartRunner - (instancetype)initWithName:(NSString*)labelPrefix project:(FlutterDartProject*)projectOrNil { return [self initWithName:labelPrefix project:projectOrNil allowHeadlessExecution:YES]; @@ -56,4 +57,5 @@ - (instancetype)initWithName:(NSString*)labelPrefix - (instancetype)init { return [self initWithName:@"io.flutter.headless" project:nil]; } + @end