Skip to content

Commit b3c2c34

Browse files
Manual roll Flutter from 96fe3b3df509 to c9608e28d01a (26 revisions) (#10145)
Manual roll requested by [email protected] flutter/flutter@96fe3b3...c9608e2 2025-09-30 [email protected] Implement framework interface for the dialog window archetype (flutter/flutter#176202) 2025-09-30 [email protected] Update flutter test to use SemanticsFlags (flutter/flutter#175987) 2025-09-30 [email protected] Set minimum supported java version to 17 (flutter/flutter#176226) 2025-09-30 [email protected] Reduce timeout for Linux web_tool_tests back to 60 (flutter/flutter#176286) 2025-09-30 [email protected] Roll Packages from 34eec78 to 287739d (9 revisions) (flutter/flutter#176284) 2025-09-30 [email protected] [web] Bump Firefox to 143.0 (flutter/flutter#176110) 2025-09-30 [email protected] Migrate to `WidgetStateBorderSide` (flutter/flutter#176164) 2025-09-30 [email protected] Enhance input decorator padding logic for character counter in text f… (flutter/flutter#175706) 2025-09-30 [email protected] Update the test package for the web engine unit test bits. (flutter/flutter#176241) 2025-09-30 [email protected] Warn if embedder API calls don't return success (flutter/flutter#176184) 2025-09-30 [email protected] Roll Fuchsia Test Scripts from APSBP-sS-3FX69Ihf... to JUeFbA8y0E-_pj-bg... (flutter/flutter#176243) 2025-09-30 [email protected] Roll GN to 81b24e01 (flutter/flutter#176119) 2025-09-29 [email protected] Rename DisplayMonitor to DisplayManager on Win32 (flutter/flutter#175619) 2025-09-29 [email protected] [Android] Use headingLevel for heading accessibility property (flutter/flutter#175416) 2025-09-29 [email protected] BUILD.gn: Support LTO build on Linux (flutter/flutter#176191) 2025-09-29 [email protected] fix `assertEquals` arguments are in wrong order in `FlutterJNITest.java` (flutter/flutter#175728) 2025-09-29 [email protected] Add tests for `Project` getters (flutter/flutter#175994) 2025-09-29 [email protected] Roll Fuchsia Linux SDK from 8zjcJic_DtvB2Bo2x... to rcOl0yxJb4znJ903Y... (flutter/flutter#176215) 2025-09-29 [email protected] Clean up typos in `PlatformViewsControllerTest.java` (flutter/flutter#175725) 2025-09-29 [email protected] Migrate java 11 usage to java 17 usage for templates (flutter/flutter#176203) 2025-09-29 [email protected] User Invoke-Expression instead of call operator for nested Powershell scripts invocations (on Windows) (flutter/flutter#175941) 2025-09-29 [email protected] Update changelog as on 3.35 branch (flutter/flutter#176216) 2025-09-29 [email protected] fix typo in `Crashes.md` (flutter/flutter#175959) 2025-09-29 [email protected] Add scene plugin lifecycle events (flutter/flutter#175866) 2025-09-29 [email protected] Migrate tests and documentation to set java version to 17 (flutter/flutter#176204) 2025-09-29 [email protected] Update Engine CI to use NDK r28c (flutter/flutter#175870) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
1 parent 321a584 commit b3c2c34

File tree

7 files changed

+155
-44
lines changed

7 files changed

+155
-44
lines changed

.ci/flutter_master.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
96fe3b3df509d451116124f0abbd288e36a03805
1+
c9608e28d01a81bfbb86aec4bca4a149bf581467

packages/in_app_purchase/in_app_purchase_storekit/example/shared/RunnerTests/Stubs.m

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,11 @@ - (void)registerViewFactory:(nonnull NSObject<FlutterPlatformViewFactory> *)fact
607607
}
608608
}
609609

610+
// TODO(stuartmorgan): Make this NSObject<FlutterSceneLifeCycleDelegate> once
611+
// FlutterSceneLifeCycleDelegate has reached stable.
612+
- (void)addSceneDelegate:(nonnull NSObject *)delegate {
613+
}
614+
610615
@end
611616

612617
// This FlutterBinaryMessenger is a protocol, so to make a stub it has to be implemented.

packages/webview_flutter/webview_flutter_wkwebview/darwin/Tests/FWFWebViewFlutterWKWebViewExternalAPITests.swift

Lines changed: 52 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class FWFWebViewFlutterWKWebViewExternalAPITests: XCTestCase {
2727

2828
WebViewFlutterPlugin.register(with: registrar)
2929

30-
let plugin = registry.registrar.plugin
30+
let plugin = registry.registrar.plugin as! WebViewFlutterPlugin?
3131

3232
let webView = WKWebView(frame: .zero)
3333
let webViewIdentifier = 0
@@ -79,62 +79,71 @@ class TestFlutterTextureRegistry: NSObject, FlutterTextureRegistry {
7979
}
8080
}
8181

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

85-
#if os(iOS)
86-
var viewController: UIViewController?
90+
#if os(iOS)
91+
var viewController: UIViewController?
8792

88-
func messenger() -> FlutterBinaryMessenger {
89-
return TestBinaryMessenger()
90-
}
93+
func messenger() -> FlutterBinaryMessenger {
94+
return TestBinaryMessenger()
95+
}
9196

92-
func textures() -> FlutterTextureRegistry {
93-
return TestFlutterTextureRegistry()
94-
}
97+
func textures() -> FlutterTextureRegistry {
98+
return TestFlutterTextureRegistry()
99+
}
95100

96-
func addApplicationDelegate(_ delegate: FlutterPlugin) {
101+
func addApplicationDelegate(_ delegate: FlutterPlugin) {
97102

98-
}
103+
}
99104

100-
func register(
101-
_ factory: FlutterPlatformViewFactory, withId factoryId: String,
102-
gestureRecognizersBlockingPolicy: FlutterPlatformViewGestureRecognizersBlockingPolicy
103-
) {
104-
}
105-
#elseif os(macOS)
106-
var view: NSView?
107-
var viewController: NSViewController?
105+
func register(
106+
_ factory: FlutterPlatformViewFactory, withId factoryId: String,
107+
gestureRecognizersBlockingPolicy: FlutterPlatformViewGestureRecognizersBlockingPolicy
108+
) {
109+
}
108110

109-
var messenger: FlutterBinaryMessenger {
110-
return TestBinaryMessenger()
111-
}
111+
func addSceneDelegate(_ delegate: any FlutterSceneLifeCycleDelegate) {
112+
}
113+
#elseif os(macOS)
114+
var view: NSView?
115+
var viewController: NSViewController?
112116

113-
var textures: FlutterTextureRegistry {
114-
return TestFlutterTextureRegistry()
115-
}
117+
var messenger: FlutterBinaryMessenger {
118+
return TestBinaryMessenger()
119+
}
116120

117-
func addApplicationDelegate(_ delegate: FlutterAppLifecycleDelegate) {
121+
var textures: FlutterTextureRegistry {
122+
return TestFlutterTextureRegistry()
123+
}
118124

119-
}
120-
#endif
125+
func addApplicationDelegate(_ delegate: FlutterAppLifecycleDelegate) {
121126

122-
func register(_ factory: FlutterPlatformViewFactory, withId factoryId: String) {
123-
}
127+
}
128+
#endif
124129

125-
func publish(_ value: NSObject) {
126-
plugin = (value as! WebViewFlutterPlugin)
127-
}
130+
func register(_ factory: FlutterPlatformViewFactory, withId factoryId: String) {
131+
}
128132

129-
func addMethodCallDelegate(_ delegate: FlutterPlugin, channel: FlutterMethodChannel) {
133+
func publish(_ value: NSObject) {
134+
plugin = (value as! WebViewFlutterPlugin)
135+
}
130136

131-
}
137+
func addMethodCallDelegate(_ delegate: FlutterPlugin, channel: FlutterMethodChannel) {
132138

133-
func lookupKey(forAsset asset: String) -> String {
134-
return ""
135-
}
139+
}
140+
141+
func lookupKey(forAsset asset: String) -> String {
142+
return ""
143+
}
136144

137-
func lookupKey(forAsset asset: String, fromPackage package: String) -> String {
138-
return ""
145+
func lookupKey(forAsset asset: String, fromPackage package: String) -> String {
146+
return ""
147+
}
139148
}
140-
}
149+
#endif

packages/webview_flutter/webview_flutter_wkwebview/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
/* Begin PBXBuildFile section */
1010
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11+
33C8DADB2E8D711500A9B7CA /* TemporaryObjCStub.m in Sources */ = {isa = PBXBuildFile; fileRef = 33C8DADA2E8D711500A9B7CA /* TemporaryObjCStub.m */; };
1112
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1213
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
1314
8F0EDFD32E1F4967001938E6 /* ProxyAPIRegistrarTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F0EDFD22E1F4967001938E6 /* ProxyAPIRegistrarTests.swift */; };
@@ -90,6 +91,8 @@
9091
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
9192
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>"; };
9293
185E08CFEB8AE9D939566DE6 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
94+
33C8DAD92E8D711500A9B7CA /* TemporaryObjCStub.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TemporaryObjCStub.h; sourceTree = "<group>"; };
95+
33C8DADA2E8D711500A9B7CA /* TemporaryObjCStub.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TemporaryObjCStub.m; sourceTree = "<group>"; };
9396
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
9497
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>"; };
9598
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>"; };
@@ -180,6 +183,8 @@
180183
68BDCAEA23C3F7CB00D9C032 /* RunnerTests */ = {
181184
isa = PBXGroup;
182185
children = (
186+
33C8DAD92E8D711500A9B7CA /* TemporaryObjCStub.h */,
187+
33C8DADA2E8D711500A9B7CA /* TemporaryObjCStub.m */,
183188
8F0EDFD22E1F4967001938E6 /* ProxyAPIRegistrarTests.swift */,
184189
8FEC64812DA2C6DC00C48569 /* GetTrustResultResponseProxyAPITests.swift */,
185190
8FEC64822DA2C6DC00C48569 /* SecCertificateProxyAPITests.swift */,
@@ -569,6 +574,7 @@
569574
8F1488EC2D2DE27000191744 /* FrameInfoProxyAPITests.swift in Sources */,
570575
8F1488ED2D2DE27000191744 /* ErrorProxyAPITests.swift in Sources */,
571576
8F1488EE2D2DE27000191744 /* NSObjectProxyAPITests.swift in Sources */,
577+
33C8DADB2E8D711500A9B7CA /* TemporaryObjCStub.m in Sources */,
572578
8F1488EF2D2DE27000191744 /* NavigationResponseProxyAPITests.swift in Sources */,
573579
8FEC64852DA2C6DC00C48569 /* GetTrustResultResponseProxyAPITests.swift in Sources */,
574580
8FEC64862DA2C6DC00C48569 /* WebpagePreferencesProxyAPITests.swift in Sources */,
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
// Copyright 2013 The Flutter Authors
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
4+
5+
#import "TemporaryObjCStub.h"
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Copyright 2013 The Flutter Authors
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
@import Foundation;
6+
7+
// TODO(stuartmorgan): This file is temporarily iOS workaround for changes in
8+
// FlutterPluginRegistrar. See the TestFlutterPluginRegistrar TODO in
9+
// FWFWebViewFlutterWKWebViewExternalAPITests.swift.
10+
#if TARGET_OS_IOS
11+
@import Flutter;
12+
13+
NS_ASSUME_NONNULL_BEGIN
14+
15+
@interface TestFlutterPluginRegistrar : NSObject <FlutterPluginRegistrar>
16+
17+
@property(nonatomic, nullable) NSObject *plugin;
18+
@property(nonatomic, weak, nullable) UIViewController *viewController;
19+
20+
@end
21+
22+
NS_ASSUME_NONNULL_END
23+
24+
#endif
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// Copyright 2013 The Flutter Authors
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
@import Foundation;
6+
7+
// TODO(stuartmorgan): This file is temporarily iOS workaround for changes in
8+
// FlutterPluginRegistrar. See the TestFlutterPluginRegistrar TODO in
9+
// FWFWebViewFlutterWKWebViewExternalAPITests.swift.
10+
#if TARGET_OS_IOS
11+
12+
#import "TemporaryObjCStub.h"
13+
@import Flutter;
14+
15+
#import "RunnerTests-Swift.h"
16+
17+
// This FlutterPluginRegistrar is a protocol, so to make a stub it has to be implemented.
18+
@implementation TestFlutterPluginRegistrar
19+
20+
- (void)addApplicationDelegate:(nonnull NSObject<FlutterPlugin> *)delegate {
21+
}
22+
23+
- (void)addMethodCallDelegate:(nonnull NSObject<FlutterPlugin> *)delegate
24+
channel:(nonnull FlutterMethodChannel *)channel {
25+
}
26+
27+
- (nonnull NSString *)lookupKeyForAsset:(nonnull NSString *)asset {
28+
return @"";
29+
}
30+
31+
- (nonnull NSString *)lookupKeyForAsset:(nonnull NSString *)asset
32+
fromPackage:(nonnull NSString *)package {
33+
return @"";
34+
}
35+
36+
- (nonnull NSObject<FlutterBinaryMessenger> *)messenger {
37+
return [[TestBinaryMessenger alloc] init];
38+
}
39+
40+
- (void)publish:(nonnull NSObject *)value {
41+
self.plugin = value;
42+
}
43+
44+
- (void)registerViewFactory:(nonnull NSObject<FlutterPlatformViewFactory> *)factory
45+
withId:(nonnull NSString *)factoryId {
46+
}
47+
48+
- (void)registerViewFactory:(nonnull NSObject<FlutterPlatformViewFactory> *)factory
49+
withId:(nonnull NSString *)factoryId
50+
gestureRecognizersBlockingPolicy:
51+
(FlutterPlatformViewGestureRecognizersBlockingPolicy)gestureRecognizersBlockingPolicy {
52+
}
53+
54+
- (nonnull NSObject<FlutterTextureRegistry> *)textures {
55+
return [[TestFlutterTextureRegistry alloc] init];
56+
}
57+
58+
// This would be NSObject<FlutterSceneLifeCycleDelegate>, but
59+
// FlutterSceneLifeCycleDelegate is not available on stable.
60+
- (void)addSceneDelegate:(nonnull NSObject *)delegate {
61+
}
62+
63+
@end
64+
65+
#endif

0 commit comments

Comments
 (0)