Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
9aff466
5d00bf8e6 Update Engine CI to use NDK r28c (flutter/flutter#175870)
engine-flutter-autoroll Sep 30, 2025
402ba77
2a109b46c Migrate tests and documentation to set java version to 17 (…
engine-flutter-autoroll Sep 30, 2025
3de0242
7382e9361 Add scene plugin lifecycle events (flutter/flutter#175866)
engine-flutter-autoroll Sep 30, 2025
518a3da
bb8dc31b5 fix typo in `Crashes.md` (flutter/flutter#175959)
engine-flutter-autoroll Sep 30, 2025
3f100af
9d00255da Update changelog as on 3.35 branch (flutter/flutter#176216)
engine-flutter-autoroll Sep 30, 2025
50c2084
10359a0a3 User Invoke-Expression instead of call operator for nested …
engine-flutter-autoroll Sep 30, 2025
752afde
eb35b066a Migrate java 11 usage to java 17 usage for templates (flutt…
engine-flutter-autoroll Sep 30, 2025
290130b
345fcbe94 Clean up typos in `PlatformViewsControllerTest.java` (flutt…
engine-flutter-autoroll Sep 30, 2025
fd2302c
01bdbebad Roll Fuchsia Linux SDK from 8zjcJic_DtvB2Bo2x... to rcOl0yx…
engine-flutter-autoroll Sep 30, 2025
ec257e6
11ab50902 Add tests for `Project` getters (flutter/flutter#175994)
engine-flutter-autoroll Sep 30, 2025
921db1e
c692e6834 fix `assertEquals` arguments are in wrong order in `Flutter…
engine-flutter-autoroll Sep 30, 2025
94db394
c088bcd17 BUILD.gn: Support LTO build on Linux (flutter/flutter#176191)
engine-flutter-autoroll Sep 30, 2025
be79f67
59d8010db [Android] Use headingLevel for heading accessibility proper…
engine-flutter-autoroll Sep 30, 2025
aba8a1b
9e957f158 Rename DisplayMonitor to DisplayManager on Win32 (flutter/f…
engine-flutter-autoroll Sep 30, 2025
214a3b8
fc4c9b93c Roll GN to 81b24e01 (flutter/flutter#176119)
engine-flutter-autoroll Sep 30, 2025
d8a479e
0d28fd88f Roll Fuchsia Test Scripts from APSBP-sS-3FX69Ihf... to JUeF…
engine-flutter-autoroll Sep 30, 2025
5c8c82a
24942307d Warn if embedder API calls don't return success (flutter/fl…
engine-flutter-autoroll Sep 30, 2025
492cb6a
fbe562711 Update the test package for the web engine unit test bits. …
engine-flutter-autoroll Sep 30, 2025
a36f0d7
8e47e20b0 Enhance input decorator padding logic for character counter…
engine-flutter-autoroll Sep 30, 2025
f63a753
4084680ed Migrate to `WidgetStateBorderSide` (flutter/flutter#176164)
engine-flutter-autoroll Sep 30, 2025
8559340
3fb9ae79f [web] Bump Firefox to 143.0 (flutter/flutter#176110)
engine-flutter-autoroll Sep 30, 2025
938f872
f9e14b574 Roll Packages from 34eec7850cce to 287739d0acce (9 revision…
engine-flutter-autoroll Sep 30, 2025
61e946a
999fd04e1 Reduce timeout for Linux web_tool_tests back to 60 (flutter…
engine-flutter-autoroll Sep 30, 2025
8506148
0eb891db1 Set minimum supported java version to 17 (flutter/flutter#…
engine-flutter-autoroll Sep 30, 2025
52651b6
bfde3e8f3 Update flutter test to use SemanticsFlags (flutter/flutter#…
engine-flutter-autoroll Sep 30, 2025
55c87b5
c9608e28d Implement framework interface for the dialog window archety…
engine-flutter-autoroll Sep 30, 2025
1e922e8
Update IAP stub
stuartmorgan-g Oct 1, 2025
e4e10e3
Add a temporary Obj-C workaround for webview_flutter
stuartmorgan-g Oct 1, 2025
0a8492a
Fix statement ordering
stuartmorgan-g Oct 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/flutter_master.version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
96fe3b3df509d451116124f0abbd288e36a03805
c9608e28d01a81bfbb86aec4bca4a149bf581467
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,11 @@ - (void)registerViewFactory:(nonnull NSObject<FlutterPlatformViewFactory> *)fact
}
}

// TODO(stuartmorgan): Make this NSObject<FlutterSceneLifeCycleDelegate> once
// FlutterSceneLifeCycleDelegate has reached stable.
- (void)addSceneDelegate:(nonnull NSObject *)delegate {
}

@end

// This FlutterBinaryMessenger is a protocol, so to make a stub it has to be implemented.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class FWFWebViewFlutterWKWebViewExternalAPITests: XCTestCase {

WebViewFlutterPlugin.register(with: registrar)

let plugin = registry.registrar.plugin
let plugin = registry.registrar.plugin as! WebViewFlutterPlugin?

let webView = WKWebView(frame: .zero)
let webViewIdentifier = 0
Expand Down Expand Up @@ -79,62 +79,71 @@ class TestFlutterTextureRegistry: NSObject, FlutterTextureRegistry {
}
}

class TestFlutterPluginRegistrar: NSObject, FlutterPluginRegistrar {
var plugin: WebViewFlutterPlugin? = nil
// TODO(stuartmorgan): This is temporarily disabled on iOS in favor of Stubs.h/m,
// because FlutterSceneLifeCycleDelegate isn't available on stable, and Swift doesn't
// allow using looser types (like Any) for protocol conformance. Once that
// protocol reaches stable, this #if should be removed, as should Stubs.*.
#if os(macOS)
class TestFlutterPluginRegistrar: NSObject, FlutterPluginRegistrar {
var plugin: WebViewFlutterPlugin? = nil

#if os(iOS)
var viewController: UIViewController?
#if os(iOS)
var viewController: UIViewController?

func messenger() -> FlutterBinaryMessenger {
return TestBinaryMessenger()
}
func messenger() -> FlutterBinaryMessenger {
return TestBinaryMessenger()
}

func textures() -> FlutterTextureRegistry {
return TestFlutterTextureRegistry()
}
func textures() -> FlutterTextureRegistry {
return TestFlutterTextureRegistry()
}

func addApplicationDelegate(_ delegate: FlutterPlugin) {
func addApplicationDelegate(_ delegate: FlutterPlugin) {

}
}

func register(
_ factory: FlutterPlatformViewFactory, withId factoryId: String,
gestureRecognizersBlockingPolicy: FlutterPlatformViewGestureRecognizersBlockingPolicy
) {
}
#elseif os(macOS)
var view: NSView?
var viewController: NSViewController?
func register(
_ factory: FlutterPlatformViewFactory, withId factoryId: String,
gestureRecognizersBlockingPolicy: FlutterPlatformViewGestureRecognizersBlockingPolicy
) {
}

var messenger: FlutterBinaryMessenger {
return TestBinaryMessenger()
}
func addSceneDelegate(_ delegate: any FlutterSceneLifeCycleDelegate) {
}
#elseif os(macOS)
var view: NSView?
var viewController: NSViewController?

var textures: FlutterTextureRegistry {
return TestFlutterTextureRegistry()
}
var messenger: FlutterBinaryMessenger {
return TestBinaryMessenger()
}

func addApplicationDelegate(_ delegate: FlutterAppLifecycleDelegate) {
var textures: FlutterTextureRegistry {
return TestFlutterTextureRegistry()
}

}
#endif
func addApplicationDelegate(_ delegate: FlutterAppLifecycleDelegate) {

func register(_ factory: FlutterPlatformViewFactory, withId factoryId: String) {
}
}
#endif

func publish(_ value: NSObject) {
plugin = (value as! WebViewFlutterPlugin)
}
func register(_ factory: FlutterPlatformViewFactory, withId factoryId: String) {
}

func addMethodCallDelegate(_ delegate: FlutterPlugin, channel: FlutterMethodChannel) {
func publish(_ value: NSObject) {
plugin = (value as! WebViewFlutterPlugin)
}

}
func addMethodCallDelegate(_ delegate: FlutterPlugin, channel: FlutterMethodChannel) {

func lookupKey(forAsset asset: String) -> String {
return ""
}
}

func lookupKey(forAsset asset: String) -> String {
return ""
}

func lookupKey(forAsset asset: String, fromPackage package: String) -> String {
return ""
func lookupKey(forAsset asset: String, fromPackage package: String) -> String {
return ""
}
}
}
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
33C8DADB2E8D711500A9B7CA /* TemporaryObjCStub.m in Sources */ = {isa = PBXBuildFile; fileRef = 33C8DADA2E8D711500A9B7CA /* TemporaryObjCStub.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
8F0EDFD32E1F4967001938E6 /* ProxyAPIRegistrarTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F0EDFD22E1F4967001938E6 /* ProxyAPIRegistrarTests.swift */; };
Expand Down Expand Up @@ -90,6 +91,8 @@
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
14B8C759112CB6E8AA62F003 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
185E08CFEB8AE9D939566DE6 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
33C8DAD92E8D711500A9B7CA /* TemporaryObjCStub.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TemporaryObjCStub.h; sourceTree = "<group>"; };
33C8DADA2E8D711500A9B7CA /* TemporaryObjCStub.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TemporaryObjCStub.m; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4AA20286555659E34ACB3BE5 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
56443D345A163E3A65320207 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -180,6 +183,8 @@
68BDCAEA23C3F7CB00D9C032 /* RunnerTests */ = {
isa = PBXGroup;
children = (
33C8DAD92E8D711500A9B7CA /* TemporaryObjCStub.h */,
33C8DADA2E8D711500A9B7CA /* TemporaryObjCStub.m */,
8F0EDFD22E1F4967001938E6 /* ProxyAPIRegistrarTests.swift */,
8FEC64812DA2C6DC00C48569 /* GetTrustResultResponseProxyAPITests.swift */,
8FEC64822DA2C6DC00C48569 /* SecCertificateProxyAPITests.swift */,
Expand Down Expand Up @@ -569,6 +574,7 @@
8F1488EC2D2DE27000191744 /* FrameInfoProxyAPITests.swift in Sources */,
8F1488ED2D2DE27000191744 /* ErrorProxyAPITests.swift in Sources */,
8F1488EE2D2DE27000191744 /* NSObjectProxyAPITests.swift in Sources */,
33C8DADB2E8D711500A9B7CA /* TemporaryObjCStub.m in Sources */,
8F1488EF2D2DE27000191744 /* NavigationResponseProxyAPITests.swift in Sources */,
8FEC64852DA2C6DC00C48569 /* GetTrustResultResponseProxyAPITests.swift in Sources */,
8FEC64862DA2C6DC00C48569 /* WebpagePreferencesProxyAPITests.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#import "TemporaryObjCStub.h"
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

@import Foundation;

// TODO(stuartmorgan): This file is temporarily iOS workaround for changes in
// FlutterPluginRegistrar. See the TestFlutterPluginRegistrar TODO in
// FWFWebViewFlutterWKWebViewExternalAPITests.swift.
#if TARGET_OS_IOS
@import Flutter;

NS_ASSUME_NONNULL_BEGIN

@interface TestFlutterPluginRegistrar : NSObject <FlutterPluginRegistrar>

@property(nonatomic, nullable) NSObject *plugin;
@property(nonatomic, weak, nullable) UIViewController *viewController;

@end

NS_ASSUME_NONNULL_END

#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

@import Foundation;

// TODO(stuartmorgan): This file is temporarily iOS workaround for changes in
// FlutterPluginRegistrar. See the TestFlutterPluginRegistrar TODO in
// FWFWebViewFlutterWKWebViewExternalAPITests.swift.
#if TARGET_OS_IOS

#import "TemporaryObjCStub.h"
@import Flutter;

#import "RunnerTests-Swift.h"

// This FlutterPluginRegistrar is a protocol, so to make a stub it has to be implemented.
@implementation TestFlutterPluginRegistrar

- (void)addApplicationDelegate:(nonnull NSObject<FlutterPlugin> *)delegate {
}

- (void)addMethodCallDelegate:(nonnull NSObject<FlutterPlugin> *)delegate
channel:(nonnull FlutterMethodChannel *)channel {
}

- (nonnull NSString *)lookupKeyForAsset:(nonnull NSString *)asset {
return @"";
}

- (nonnull NSString *)lookupKeyForAsset:(nonnull NSString *)asset
fromPackage:(nonnull NSString *)package {
return @"";
}

- (nonnull NSObject<FlutterBinaryMessenger> *)messenger {
return [[TestBinaryMessenger alloc] init];
}

- (void)publish:(nonnull NSObject *)value {
self.plugin = value;
}

- (void)registerViewFactory:(nonnull NSObject<FlutterPlatformViewFactory> *)factory
withId:(nonnull NSString *)factoryId {
}

- (void)registerViewFactory:(nonnull NSObject<FlutterPlatformViewFactory> *)factory
withId:(nonnull NSString *)factoryId
gestureRecognizersBlockingPolicy:
(FlutterPlatformViewGestureRecognizersBlockingPolicy)gestureRecognizersBlockingPolicy {
}

- (nonnull NSObject<FlutterTextureRegistry> *)textures {
return [[TestFlutterTextureRegistry alloc] init];
}

// This would be NSObject<FlutterSceneLifeCycleDelegate>, but
// FlutterSceneLifeCycleDelegate is not available on stable.
- (void)addSceneDelegate:(nonnull NSObject *)delegate {
}

@end

#endif