Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 2791528

Browse files
committed
Merge remote-tracking branch 'upstream/main' into issue/94051_webview_4.0
2 parents ca99630 + 2ca342c commit 2791528

File tree

65 files changed

+2176
-353
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2176
-353
lines changed

.ci/flutter_master.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4bed76757db7a4eea74d77d5a63804ef52198f37
1+
df7111a848cb0cc076a9c89d48332f0ec2700c45

packages/file_selector/file_selector_platform_interface/CHANGELOG.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
## 2.0.5
1+
## NEXT
22

33
* Removes unnecessary imports.
4-
* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors
5-
lint warnings.
64

75
## 2.0.4
86

packages/file_selector/file_selector_platform_interface/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ repository: https://github.com/flutter/plugins/tree/main/packages/file_selector/
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22
55
# NOTE: We strongly prefer non-breaking changes, even at the expense of a
66
# less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes
7-
version: 2.0.5
7+
version: 2.0.4
88

99
environment:
1010
sdk: ">=2.12.0 <3.0.0"

packages/local_auth/local_auth/CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1+
## 2.0.2
2+
3+
* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors
4+
lint warnings.
5+
16
## 2.0.1
27

38
* Restores the ability to import `error_codes.dart`.
49
* Updates README to match API changes in 2.0, and to improve clarity in
510
general.
611
* Removes unnecessary imports.
7-
* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors
8-
lint warnings.
912

1013
## 2.0.0
1114

packages/local_auth/local_auth/example/lib/readme_excerpts.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ import 'package:local_auth_ios/local_auth_ios.dart';
2424
// #enddocregion CustomMessages
2525

2626
void main() {
27-
runApp(MyApp());
27+
runApp(const MyApp());
2828
}
2929

3030
class MyApp extends StatefulWidget {
31+
const MyApp({Key? key}) : super(key: key);
32+
3133
@override
3234
State<MyApp> createState() => _MyAppState();
3335
}

packages/local_auth/local_auth/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: Flutter plugin for Android and iOS devices to allow local
33
authentication via fingerprint, touch ID, face ID, passcode, pin, or pattern.
44
repository: https://github.com/flutter/plugins/tree/main/packages/local_auth/local_auth
55
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+local_auth%22
6-
version: 2.0.1
6+
version: 2.0.2
77

88
environment:
99
sdk: ">=2.14.0 <3.0.0"

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

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 46;
6+
objectVersion = 50;
77
objects = {
88

99
/* Begin PBXBuildFile section */
@@ -14,6 +14,17 @@
1414
8FA6A87928062CD000A4B183 /* FWFInstanceManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FA6A87828062CD000A4B183 /* FWFInstanceManagerTests.m */; };
1515
8FB79B5328134C3100C101D3 /* FWFWebViewHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B5228134C3100C101D3 /* FWFWebViewHostApiTests.m */; };
1616
8FB79B55281B24F600C101D3 /* FWFDataConvertersTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B54281B24F600C101D3 /* FWFDataConvertersTests.m */; };
17+
8FB79B672820453400C101D3 /* FWFHTTPCookieStoreHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B662820453400C101D3 /* FWFHTTPCookieStoreHostApiTests.m */; };
18+
8FB79B6928204E8700C101D3 /* FWFPreferencesHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B6828204E8700C101D3 /* FWFPreferencesHostApiTests.m */; };
19+
8FB79B6B28204EE500C101D3 /* FWFWebsiteDataStoreHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B6A28204EE500C101D3 /* FWFWebsiteDataStoreHostApiTests.m */; };
20+
8FB79B6D2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B6C2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m */; };
21+
8FB79B73282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B72282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m */; };
22+
8FB79B7928209D1300C101D3 /* FWFUserContentControllerHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B7828209D1300C101D3 /* FWFUserContentControllerHostApiTests.m */; };
23+
8FB79B832820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B822820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m */; };
24+
8FB79B852820A3A400C101D3 /* FWFUIDelegateHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B842820A3A400C101D3 /* FWFUIDelegateHostApiTests.m */; };
25+
8FB79B8F2820BAB300C101D3 /* FWFScrollViewHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B8E2820BAB300C101D3 /* FWFScrollViewHostApiTests.m */; };
26+
8FB79B912820BAC700C101D3 /* FWFUIViewHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B902820BAC700C101D3 /* FWFUIViewHostApiTests.m */; };
27+
8FB79B972821985200C101D3 /* FWFObjectHostApiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FB79B962821985200C101D3 /* FWFObjectHostApiTests.m */; };
1728
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
1829
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
1930
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
@@ -73,6 +84,17 @@
7384
8FA6A87828062CD000A4B183 /* FWFInstanceManagerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFInstanceManagerTests.m; sourceTree = "<group>"; };
7485
8FB79B5228134C3100C101D3 /* FWFWebViewHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFWebViewHostApiTests.m; sourceTree = "<group>"; };
7586
8FB79B54281B24F600C101D3 /* FWFDataConvertersTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFDataConvertersTests.m; sourceTree = "<group>"; };
87+
8FB79B662820453400C101D3 /* FWFHTTPCookieStoreHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFHTTPCookieStoreHostApiTests.m; sourceTree = "<group>"; };
88+
8FB79B6828204E8700C101D3 /* FWFPreferencesHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFPreferencesHostApiTests.m; sourceTree = "<group>"; };
89+
8FB79B6A28204EE500C101D3 /* FWFWebsiteDataStoreHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFWebsiteDataStoreHostApiTests.m; sourceTree = "<group>"; };
90+
8FB79B6C2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFWebViewConfigurationHostApiTests.m; sourceTree = "<group>"; };
91+
8FB79B72282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFScriptMessageHandlerHostApiTests.m; sourceTree = "<group>"; };
92+
8FB79B7828209D1300C101D3 /* FWFUserContentControllerHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFUserContentControllerHostApiTests.m; sourceTree = "<group>"; };
93+
8FB79B822820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFNavigationDelegateHostApiTests.m; sourceTree = "<group>"; };
94+
8FB79B842820A3A400C101D3 /* FWFUIDelegateHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFUIDelegateHostApiTests.m; sourceTree = "<group>"; };
95+
8FB79B8E2820BAB300C101D3 /* FWFScrollViewHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFScrollViewHostApiTests.m; sourceTree = "<group>"; };
96+
8FB79B902820BAC700C101D3 /* FWFUIViewHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFUIViewHostApiTests.m; sourceTree = "<group>"; };
97+
8FB79B962821985200C101D3 /* FWFObjectHostApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FWFObjectHostApiTests.m; sourceTree = "<group>"; };
7698
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
7799
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
78100
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -135,6 +157,17 @@
135157
8FA6A87828062CD000A4B183 /* FWFInstanceManagerTests.m */,
136158
8FB79B5228134C3100C101D3 /* FWFWebViewHostApiTests.m */,
137159
8FB79B54281B24F600C101D3 /* FWFDataConvertersTests.m */,
160+
8FB79B662820453400C101D3 /* FWFHTTPCookieStoreHostApiTests.m */,
161+
8FB79B6828204E8700C101D3 /* FWFPreferencesHostApiTests.m */,
162+
8FB79B6A28204EE500C101D3 /* FWFWebsiteDataStoreHostApiTests.m */,
163+
8FB79B6C2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m */,
164+
8FB79B72282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m */,
165+
8FB79B7828209D1300C101D3 /* FWFUserContentControllerHostApiTests.m */,
166+
8FB79B822820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m */,
167+
8FB79B842820A3A400C101D3 /* FWFUIDelegateHostApiTests.m */,
168+
8FB79B8E2820BAB300C101D3 /* FWFScrollViewHostApiTests.m */,
169+
8FB79B902820BAC700C101D3 /* FWFUIViewHostApiTests.m */,
170+
8FB79B962821985200C101D3 /* FWFObjectHostApiTests.m */,
138171
);
139172
path = RunnerTests;
140173
sourceTree = "<group>";
@@ -433,11 +466,22 @@
433466
buildActionMask = 2147483647;
434467
files = (
435468
8FA6A87928062CD000A4B183 /* FWFInstanceManagerTests.m in Sources */,
469+
8FB79B852820A3A400C101D3 /* FWFUIDelegateHostApiTests.m in Sources */,
470+
8FB79B972821985200C101D3 /* FWFObjectHostApiTests.m in Sources */,
471+
8FB79B672820453400C101D3 /* FWFHTTPCookieStoreHostApiTests.m in Sources */,
436472
8FB79B5328134C3100C101D3 /* FWFWebViewHostApiTests.m in Sources */,
473+
8FB79B73282096B500C101D3 /* FWFScriptMessageHandlerHostApiTests.m in Sources */,
437474
334734012669319100DCC49E /* FLTWebViewTests.m in Sources */,
475+
8FB79B7928209D1300C101D3 /* FWFUserContentControllerHostApiTests.m in Sources */,
476+
8FB79B6B28204EE500C101D3 /* FWFWebsiteDataStoreHostApiTests.m in Sources */,
477+
8FB79B8F2820BAB300C101D3 /* FWFScrollViewHostApiTests.m in Sources */,
478+
8FB79B912820BAC700C101D3 /* FWFUIViewHostApiTests.m in Sources */,
438479
334734022669319400DCC49E /* FLTWKNavigationDelegateTests.m in Sources */,
439480
8FB79B55281B24F600C101D3 /* FWFDataConvertersTests.m in Sources */,
481+
8FB79B6D2820533B00C101D3 /* FWFWebViewConfigurationHostApiTests.m in Sources */,
482+
8FB79B832820A39300C101D3 /* FWFNavigationDelegateHostApiTests.m in Sources */,
440483
E43693B527512C0F00382F85 /* FLTCookieManagerTests.m in Sources */,
484+
8FB79B6928204E8700C101D3 /* FWFPreferencesHostApiTests.m in Sources */,
441485
);
442486
runOnlyForDeploymentPostprocessing = 0;
443487
};

packages/webview_flutter/webview_flutter_wkwebview/example/ios/RunnerTests/FWFDataConvertersTests.m

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ @interface FWFDataConvertersTests : XCTestCase
1010
@end
1111

1212
@implementation FWFDataConvertersTests
13-
- (void)testFNSURLRequestFromRequestData {
13+
- (void)testFWFNSURLRequestFromRequestData {
1414
NSURLRequest *request = FWFNSURLRequestFromRequestData([FWFNSUrlRequestData
1515
makeWithUrl:@"https://flutter.dev"
1616
httpMethod:@"post"
@@ -22,4 +22,25 @@ - (void)testFNSURLRequestFromRequestData {
2222
XCTAssertEqualObjects(request.HTTPBody, [NSData data]);
2323
XCTAssertEqualObjects(request.allHTTPHeaderFields, @{@"a" : @"header"});
2424
}
25+
26+
- (void)testFWFNSHTTPCookieFromCookieData {
27+
NSHTTPCookie *cookie = FWFNSHTTPCookieFromCookieData([FWFNSHttpCookieData
28+
makeWithPropertyKeys:@[ [FWFNSHttpCookiePropertyKeyEnumData
29+
makeWithValue:FWFNSHttpCookiePropertyKeyEnumName] ]
30+
propertyValues:@[ @"cookieName" ]]);
31+
XCTAssertEqualObjects(cookie,
32+
[NSHTTPCookie cookieWithProperties:@{NSHTTPCookieName : @"cookieName"}]);
33+
}
34+
35+
- (void)testFWFWKUserScriptFromScriptData {
36+
WKUserScript *userScript = FWFWKUserScriptFromScriptData([FWFWKUserScriptData
37+
makeWithSource:@"mySource"
38+
injectionTime:[FWFWKUserScriptInjectionTimeEnumData
39+
makeWithValue:FWFWKUserScriptInjectionTimeEnumAtDocumentStart]
40+
isMainFrameOnly:@NO]);
41+
42+
XCTAssertEqualObjects(userScript.source, @"mySource");
43+
XCTAssertEqual(userScript.injectionTime, WKUserScriptInjectionTimeAtDocumentStart);
44+
XCTAssertEqual(userScript.isForMainFrameOnly, NO);
45+
}
2546
@end
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
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 Flutter;
6+
@import XCTest;
7+
@import webview_flutter_wkwebview;
8+
9+
#import <OCMock/OCMock.h>
10+
11+
@interface FWFHTTPCookieStoreHostApiTests : XCTestCase
12+
@end
13+
14+
@implementation FWFHTTPCookieStoreHostApiTests
15+
- (void)testCreateFromWebsiteDataStoreWithIdentifier API_AVAILABLE(ios(11.0)) {
16+
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
17+
FWFHTTPCookieStoreHostApiImpl *hostApi =
18+
[[FWFHTTPCookieStoreHostApiImpl alloc] initWithInstanceManager:instanceManager];
19+
20+
WKWebsiteDataStore *mockDataStore = OCMClassMock([WKWebsiteDataStore class]);
21+
OCMStub([mockDataStore httpCookieStore]).andReturn(OCMClassMock([WKHTTPCookieStore class]));
22+
[instanceManager addInstance:mockDataStore withIdentifier:0];
23+
24+
FlutterError *error;
25+
[hostApi createFromWebsiteDataStoreWithIdentifier:@1 dataStoreIdentifier:@0 error:&error];
26+
WKHTTPCookieStore *cookieStore = (WKHTTPCookieStore *)[instanceManager instanceForIdentifier:1];
27+
XCTAssertTrue([cookieStore isKindOfClass:[WKHTTPCookieStore class]]);
28+
XCTAssertNil(error);
29+
}
30+
31+
- (void)testSetCookie API_AVAILABLE(ios(11.0)) {
32+
WKHTTPCookieStore *mockHttpCookieStore = OCMClassMock([WKHTTPCookieStore class]);
33+
34+
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
35+
[instanceManager addInstance:mockHttpCookieStore withIdentifier:0];
36+
37+
FWFHTTPCookieStoreHostApiImpl *hostApi =
38+
[[FWFHTTPCookieStoreHostApiImpl alloc] initWithInstanceManager:instanceManager];
39+
40+
FWFNSHttpCookieData *cookieData = [FWFNSHttpCookieData
41+
makeWithPropertyKeys:@[ [FWFNSHttpCookiePropertyKeyEnumData
42+
makeWithValue:FWFNSHttpCookiePropertyKeyEnumName] ]
43+
propertyValues:@[ @"hello" ]];
44+
FlutterError *__block blockError;
45+
[hostApi setCookieForStoreWithIdentifier:@0
46+
cookie:cookieData
47+
completion:^(FlutterError *error) {
48+
blockError = error;
49+
}];
50+
OCMVerify([mockHttpCookieStore
51+
setCookie:[NSHTTPCookie cookieWithProperties:@{NSHTTPCookieName : @"hello"}]
52+
completionHandler:OCMOCK_ANY]);
53+
XCTAssertNil(blockError);
54+
}
55+
@end
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Copyright 2013 The Flutter Authors. All rights reserved.
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 Flutter;
6+
@import XCTest;
7+
@import webview_flutter_wkwebview;
8+
9+
#import <OCMock/OCMock.h>
10+
11+
@interface FWFNavigationDelegateHostApiTests : XCTestCase
12+
@end
13+
14+
@implementation FWFNavigationDelegateHostApiTests
15+
- (void)testCreateWithIdentifier {
16+
FWFInstanceManager *instanceManager = [[FWFInstanceManager alloc] init];
17+
FWFNavigationDelegateHostApiImpl *hostApi =
18+
[[FWFNavigationDelegateHostApiImpl alloc] initWithInstanceManager:instanceManager];
19+
20+
FlutterError *error;
21+
[hostApi createWithIdentifier:@0 error:&error];
22+
FWFNavigationDelegate *navigationDelegate =
23+
(FWFNavigationDelegate *)[instanceManager instanceForIdentifier:0];
24+
25+
XCTAssertTrue([navigationDelegate conformsToProtocol:@protocol(WKNavigationDelegate)]);
26+
XCTAssertNil(error);
27+
}
28+
@end

0 commit comments

Comments
 (0)