From 12588bfc416d9b8e346114ef447707b56bed4c2d Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Wed, 17 May 2023 10:22:40 +0200 Subject: [PATCH 01/13] Adds the web resource request to HttpResponseError --- .../lib/src/types/http_response_error.dart | 6 ++++++ .../lib/src/types/web_resource_request.dart | 21 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart index e51b8cf7e2c5..252b17656766 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart @@ -4,6 +4,8 @@ import 'package:flutter/foundation.dart'; +import 'web_resource_request.dart'; + /// Error returned in `PlatformNavigationDelegate.setOnHttpError` when an HTTP /// response error has been received. /// @@ -38,8 +40,12 @@ class HttpResponseError { /// Used by the platform implementation to create a new [HttpResponseError]. const HttpResponseError({ required this.statusCode, + this.request }); /// The HTTP status code. final int statusCode; + + /// The associated request. + final WebResourceRequest? request; } diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart new file mode 100644 index 000000000000..fd71288fcb09 --- /dev/null +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart @@ -0,0 +1,21 @@ +// 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. + +import 'package:flutter/foundation.dart'; + +/// Defines the parameters of the web resource request from the associated response. +@immutable +class WebResourceRequest { + /// Used by the platform implementation to create a new [WebResourceRequest]. + const WebResourceRequest({ + required this.url, + required this.isForMainFrame + }); + + /// The URL for which the resource request was made. + final String url; + + /// Indicates whether the request was made in the web site's main frame or a subframe. + final bool isForMainFrame; +} \ No newline at end of file From 5016358d5dbefb709fd665afb6c0e16fbe3122d3 Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Wed, 17 May 2023 10:23:29 +0200 Subject: [PATCH 02/13] Adds empty line --- .../lib/src/types/web_resource_request.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart index fd71288fcb09..4f4241e8afbf 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart @@ -18,4 +18,4 @@ class WebResourceRequest { /// Indicates whether the request was made in the web site's main frame or a subframe. final bool isForMainFrame; -} \ No newline at end of file +} From c7600f0379b348690eca5c8b87839b4852e36358 Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Wed, 17 May 2023 10:29:00 +0200 Subject: [PATCH 03/13] Bumps version and updates the changelog --- .../CHANGELOG.md | 4 ++++ .../lib/src/types/http_response_error.dart | 13 ++++++++---- .../lib/src/types/web_resource_request.dart | 21 ------------------- .../pubspec.yaml | 2 +- 4 files changed, 14 insertions(+), 26 deletions(-) delete mode 100644 packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index e708df3f64b7..5749b8b518f2 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.9.0 + +* Adds `WebResourceRequest` to `HttpResponseError`. + ## 2.8.0 * Adds support to track scroll position changes. See `PlatformWebViewController.setOnScrollPositionChange`. diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart index 252b17656766..9437e5794ca7 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart @@ -4,7 +4,8 @@ import 'package:flutter/foundation.dart'; -import 'web_resource_request.dart'; +import '../../webview_flutter_platform_interface.dart'; +import 'web_resource_response.dart'; /// Error returned in `PlatformNavigationDelegate.setOnHttpError` when an HTTP /// response error has been received. @@ -40,12 +41,16 @@ class HttpResponseError { /// Used by the platform implementation to create a new [HttpResponseError]. const HttpResponseError({ required this.statusCode, - this.request + this.requestParams, + this.response, }); /// The HTTP status code. final int statusCode; - /// The associated request. - final WebResourceRequest? request; + /// The associated request parameters. + final LoadRequestParams? requestParams; + + /// The associated response. + final WebResourceResponse? response; } diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart deleted file mode 100644 index 4f4241e8afbf..000000000000 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart +++ /dev/null @@ -1,21 +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. - -import 'package:flutter/foundation.dart'; - -/// Defines the parameters of the web resource request from the associated response. -@immutable -class WebResourceRequest { - /// Used by the platform implementation to create a new [WebResourceRequest]. - const WebResourceRequest({ - required this.url, - required this.isForMainFrame - }); - - /// The URL for which the resource request was made. - final String url; - - /// Indicates whether the request was made in the web site's main frame or a subframe. - final bool isForMainFrame; -} diff --git a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml index 774da3ce458c..1a900c2b4d42 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml +++ b/packages/webview_flutter/webview_flutter_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/packages/tree/main/packages/webview_flutt issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview_flutter%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 2.8.0 +version: 2.9.0 environment: sdk: ">=3.0.0 <4.0.0" From bc00802c8775941a5e1faf7a2c3f9ed25c9c3b23 Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Thu, 25 May 2023 16:58:14 +0200 Subject: [PATCH 04/13] Adds WebResourceResponse class --- .../lib/src/types/web_resource_response.dart | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart new file mode 100644 index 000000000000..01dd778672f0 --- /dev/null +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart @@ -0,0 +1,52 @@ +// 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. + +import 'package:flutter/foundation.dart'; + +/// Contains information about the response for the request. +/// +/// Platform specific implementations can add additional fields by extending +/// this class. +/// +/// {@tool sample} +/// This example demonstrates how to extend the [WebResourceResponse] to +/// provide additional platform specific parameters. +/// +/// When extending [WebResourceResponse] additional parameters should always +/// accept `null` or have a default value to prevent breaking changes. +/// +/// ```dart +/// class AndroidWebResourceResponse extends WebResourceResponse { +/// WebResourceResponse._({ +/// required WebResourceResponse response, +/// }) : super( +/// uri: response.uri, +/// headers: params.headers, +/// ); +/// +/// factory AndroidWebResourceResponse.fromWebResourceResponse( +/// WebResourceResponse response, { +/// Uri? historyUrl, +/// }) { +/// return AndroidWebResourceResponse._(response, historyUrl: historyUrl); +/// } +/// +/// final Uri? historyUrl; +/// } +/// ``` +/// {@end-tool} +@immutable +class WebResourceResponse { + /// Used by the platform implementation to create a new [WebResourceResponse]. + const WebResourceResponse({ + required this.uri, + this.headers = const {}, + }); + + /// URI for the request. + final Uri uri; + + /// Headers for the request. + final Map headers; +} From 71f3d19d069006c8cc90b04a4893c331059b2a29 Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Thu, 25 May 2023 17:01:30 +0200 Subject: [PATCH 05/13] Updates changelog --- .../webview_flutter_platform_interface/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index 5749b8b518f2..965bae71d51a 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,6 +1,6 @@ ## 2.9.0 -* Adds `WebResourceRequest` to `HttpResponseError`. +* Adds `LoadRequestParams` and `WebResourceResponse` to `HttpResponseError`. ## 2.8.0 From 9c519f5de12c46f47ef752ef901b2f4995f7e23e Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Thu, 13 Jul 2023 22:31:03 +0200 Subject: [PATCH 06/13] Implemented feedback --- .../lib/src/types/http_response_error.dart | 8 ++-- .../lib/src/types/web_resource_request.dart | 47 +++++++++++++++++++ .../lib/src/types/web_resource_response.dart | 16 +++---- 3 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart index 9437e5794ca7..d22adbbc24a7 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart @@ -4,7 +4,7 @@ import 'package:flutter/foundation.dart'; -import '../../webview_flutter_platform_interface.dart'; +import 'web_resource_request.dart'; import 'web_resource_response.dart'; /// Error returned in `PlatformNavigationDelegate.setOnHttpError` when an HTTP @@ -41,15 +41,15 @@ class HttpResponseError { /// Used by the platform implementation to create a new [HttpResponseError]. const HttpResponseError({ required this.statusCode, - this.requestParams, + this.request, this.response, }); /// The HTTP status code. final int statusCode; - /// The associated request parameters. - final LoadRequestParams? requestParams; + /// The associated request. + final WebResourceRequest? request; /// The associated response. final WebResourceResponse? response; diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart new file mode 100644 index 000000000000..0977dd24bac5 --- /dev/null +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart @@ -0,0 +1,47 @@ +// 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. + +import 'package:flutter/foundation.dart'; + +/// Defines the parameters of the web resource request from the associated request. +/// +/// Platform specific implementations can add additional fields by extending +/// this class. +/// +/// {@tool sample} +/// This example demonstrates how to extend the [WebResourceRequest] to +/// provide additional platform specific parameters. +/// +/// When extending [WebResourceRequest] additional parameters should always +/// accept `null` or have a default value to prevent breaking changes. +/// +/// ```dart +/// class AndroidWebResourceRequest extends WebResourceRequest { +/// WebResourceRequest._({ +/// required WebResourceRequest request, +/// }) : super( +/// uri: request.uri, +/// ); +/// +/// factory AndroidWebResourceRequest.fromWebResourceRequest( +/// WebResourceRequest request, { +/// Map headers, +/// }) { +/// return AndroidWebResourceRequest._(request, headers: headers); +/// } +/// +/// final Map headers; +/// } +/// ``` +/// {@end-tool} +@immutable +class WebResourceRequest { + /// Used by the platform implementation to create a new [WebResourceRequest]. + const WebResourceRequest({ + required this.uri + }); + + /// URI for the request. + final Uri uri; +} diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart index 01dd778672f0..b42ae39fca3d 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart @@ -4,12 +4,13 @@ import 'package:flutter/foundation.dart'; -/// Contains information about the response for the request. +import 'web_resource_request.dart'; + +/// Contains information about the response for a request. /// /// Platform specific implementations can add additional fields by extending /// this class. /// -/// {@tool sample} /// This example demonstrates how to extend the [WebResourceResponse] to /// provide additional platform specific parameters. /// @@ -21,8 +22,8 @@ import 'package:flutter/foundation.dart'; /// WebResourceResponse._({ /// required WebResourceResponse response, /// }) : super( -/// uri: response.uri, -/// headers: params.headers, +/// request: response.request, +/// headers: response.headers, /// ); /// /// factory AndroidWebResourceResponse.fromWebResourceResponse( @@ -35,17 +36,16 @@ import 'package:flutter/foundation.dart'; /// final Uri? historyUrl; /// } /// ``` -/// {@end-tool} @immutable class WebResourceResponse { /// Used by the platform implementation to create a new [WebResourceResponse]. const WebResourceResponse({ - required this.uri, + required this.request, this.headers = const {}, }); - /// URI for the request. - final Uri uri; + /// The request + final WebResourceRequest request; /// Headers for the request. final Map headers; From 1cdaa00f80903c5cd6924b28828d1402721ebd04 Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Sun, 16 Jul 2023 12:06:41 +0200 Subject: [PATCH 07/13] Fixes formatting --- .../lib/src/types/web_resource_request.dart | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart index 0977dd24bac5..d107d3f69b04 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart @@ -38,9 +38,7 @@ import 'package:flutter/foundation.dart'; @immutable class WebResourceRequest { /// Used by the platform implementation to create a new [WebResourceRequest]. - const WebResourceRequest({ - required this.uri - }); + const WebResourceRequest({required this.uri}); /// URI for the request. final Uri uri; From 66986c22c3793b24c214928fe6f283ca5125bc23 Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Mon, 14 Aug 2023 17:12:51 +0200 Subject: [PATCH 08/13] Moves statusCode to HttpResponseError --- .../webview_flutter_platform_interface/CHANGELOG.md | 2 +- .../lib/src/types/http_response_error.dart | 4 ---- .../lib/src/types/web_resource_request.dart | 2 -- .../lib/src/types/web_resource_response.dart | 4 ++++ 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md index 965bae71d51a..1f9edc0a754d 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md +++ b/packages/webview_flutter/webview_flutter_platform_interface/CHANGELOG.md @@ -1,6 +1,6 @@ ## 2.9.0 -* Adds `LoadRequestParams` and `WebResourceResponse` to `HttpResponseError`. +* Adds `WebResourceRequest` and `WebResourceResponse` to `HttpResponseError`. ## 2.8.0 diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart index d22adbbc24a7..beca1f680dff 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/http_response_error.dart @@ -40,14 +40,10 @@ import 'web_resource_response.dart'; class HttpResponseError { /// Used by the platform implementation to create a new [HttpResponseError]. const HttpResponseError({ - required this.statusCode, this.request, this.response, }); - /// The HTTP status code. - final int statusCode; - /// The associated request. final WebResourceRequest? request; diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart index d107d3f69b04..18ba83badbe1 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_request.dart @@ -9,7 +9,6 @@ import 'package:flutter/foundation.dart'; /// Platform specific implementations can add additional fields by extending /// this class. /// -/// {@tool sample} /// This example demonstrates how to extend the [WebResourceRequest] to /// provide additional platform specific parameters. /// @@ -34,7 +33,6 @@ import 'package:flutter/foundation.dart'; /// final Map headers; /// } /// ``` -/// {@end-tool} @immutable class WebResourceRequest { /// Used by the platform implementation to create a new [WebResourceRequest]. diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart index b42ae39fca3d..975aa247885f 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart @@ -41,12 +41,16 @@ class WebResourceResponse { /// Used by the platform implementation to create a new [WebResourceResponse]. const WebResourceResponse({ required this.request, + required this.statusCode, this.headers = const {}, }); /// The request final WebResourceRequest request; + /// The HTTP status code. + final int statusCode; + /// Headers for the request. final Map headers; } From 7e861b7bf6564468e4ee5405003bbbccfcf07d20 Mon Sep 17 00:00:00 2001 From: Hugo Olthof Date: Wed, 13 Dec 2023 16:51:27 +0100 Subject: [PATCH 09/13] Changed request type in WebResourceResponse to String --- .../lib/src/types/web_resource_response.dart | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart index 975aa247885f..6f8b5285e276 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart @@ -4,8 +4,6 @@ import 'package:flutter/foundation.dart'; -import 'web_resource_request.dart'; - /// Contains information about the response for a request. /// /// Platform specific implementations can add additional fields by extending @@ -22,7 +20,8 @@ import 'web_resource_request.dart'; /// WebResourceResponse._({ /// required WebResourceResponse response, /// }) : super( -/// request: response.request, +/// uri: response.uri, +/// statusCode: response.statusCode, /// headers: response.headers, /// ); /// @@ -40,13 +39,13 @@ import 'web_resource_request.dart'; class WebResourceResponse { /// Used by the platform implementation to create a new [WebResourceResponse]. const WebResourceResponse({ - required this.request, + required this.uri, required this.statusCode, this.headers = const {}, }); - /// The request - final WebResourceRequest request; + /// The URI that this response is associated with. + final String? uri; /// The HTTP status code. final int statusCode; From 6df7c99bdde3155a7da9e6c48ad040caf6d9731d Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 3 Jan 2024 14:09:09 -0500 Subject: [PATCH 10/13] add exports and uri --- .../webview_flutter_platform_interface/lib/src/types/types.dart | 2 ++ .../lib/src/types/web_resource_response.dart | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/types.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/types.dart index 84b20f3257e0..93f3af4196ba 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/types.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/types.dart @@ -19,5 +19,7 @@ export 'platform_webview_widget_creation_params.dart'; export 'scroll_position_change.dart'; export 'url_change.dart'; export 'web_resource_error.dart'; +export 'web_resource_request.dart'; +export 'web_resource_response.dart'; export 'webview_cookie.dart'; export 'webview_credential.dart'; diff --git a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart index 6f8b5285e276..f4269ee6a5b5 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/lib/src/types/web_resource_response.dart @@ -45,7 +45,7 @@ class WebResourceResponse { }); /// The URI that this response is associated with. - final String? uri; + final Uri? uri; /// The HTTP status code. final int statusCode; From 2daf57b0c7af9f79a58fef9056b56e446676259f Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Wed, 3 Jan 2024 14:34:51 -0500 Subject: [PATCH 11/13] add test --- .../webview_flutter_platform_interface.dart | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface.dart diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface.dart new file mode 100644 index 000000000000..2214436373fe --- /dev/null +++ b/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface.dart @@ -0,0 +1,63 @@ +// 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. + +import 'package:flutter_test/flutter_test.dart'; +import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart' + as main_file; + +void main() { + group('webview_flutter_platform_interface', () { + test( + 'ensures webview_flutter_platform_interface.dart exports classes in types directory', + () { + // ignore: unnecessary_statements + main_file.JavaScriptConsoleMessage; + // ignore: unnecessary_statements + main_file.JavaScriptLogLevel; + // ignore: unnecessary_statements + main_file.JavaScriptMessage; + // ignore: unnecessary_statements + main_file.JavaScriptMode; + // ignore: unnecessary_statements + main_file.LoadRequestMethod; + // ignore: unnecessary_statements + main_file.NavigationDecision; + // ignore: unnecessary_statements + main_file.NavigationRequest; + // ignore: unnecessary_statements + main_file.NavigationRequestCallback; + // ignore: unnecessary_statements + main_file.PageEventCallback; + // ignore: unnecessary_statements + main_file.PlatformNavigationDelegateCreationParams; + // ignore: unnecessary_statements + main_file.PlatformWebViewControllerCreationParams; + // ignore: unnecessary_statements + main_file.PlatformWebViewCookieManagerCreationParams; + // ignore: unnecessary_statements + main_file.PlatformWebViewPermissionRequest; + // ignore: unnecessary_statements + main_file.PlatformWebViewWidgetCreationParams; + // ignore: unnecessary_statements + main_file.ProgressCallback; + // ignore: unnecessary_statements + main_file.WebViewPermissionResourceType; + // ignore: unnecessary_statements + main_file.WebResourceRequest; + // ignore: unnecessary_statements + main_file.WebResourceResponse; + // ignore: unnecessary_statements + main_file.WebResourceError; + // ignore: unnecessary_statements + main_file.WebResourceErrorCallback; + // ignore: unnecessary_statements + main_file.WebViewCookie; + // ignore: unnecessary_statements + main_file.WebResourceErrorType; + // ignore: unnecessary_statements + main_file.UrlChange; + }, + ); + }); +} From 281f8fa9d278dc693fe0166d66f194b9109bb5c2 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Mon, 15 Jan 2024 14:43:57 -0500 Subject: [PATCH 12/13] rename test file --- ...utter_platform_interface_export_test.dart} | 27 +++---------------- 1 file changed, 3 insertions(+), 24 deletions(-) rename packages/webview_flutter/webview_flutter_platform_interface/test/{webview_flutter_platform_interface.dart => webview_flutter_platform_interface_export_test.dart} (57%) diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface_export_test.dart similarity index 57% rename from packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface.dart rename to packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface_export_test.dart index 2214436373fe..b48a2c232bf3 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface_export_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// ignore_for_file: unnecessary_statements + import 'package:flutter_test/flutter_test.dart'; import 'package:webview_flutter_platform_interface/webview_flutter_platform_interface.dart' as main_file; @@ -9,53 +11,30 @@ import 'package:webview_flutter_platform_interface/webview_flutter_platform_inte void main() { group('webview_flutter_platform_interface', () { test( - 'ensures webview_flutter_platform_interface.dart exports classes in types directory', + 'ensures webview_flutter_platform_interface_export_test.dart exports classes in types directory', () { - // ignore: unnecessary_statements main_file.JavaScriptConsoleMessage; - // ignore: unnecessary_statements main_file.JavaScriptLogLevel; - // ignore: unnecessary_statements main_file.JavaScriptMessage; - // ignore: unnecessary_statements main_file.JavaScriptMode; - // ignore: unnecessary_statements main_file.LoadRequestMethod; - // ignore: unnecessary_statements main_file.NavigationDecision; - // ignore: unnecessary_statements main_file.NavigationRequest; - // ignore: unnecessary_statements main_file.NavigationRequestCallback; - // ignore: unnecessary_statements main_file.PageEventCallback; - // ignore: unnecessary_statements main_file.PlatformNavigationDelegateCreationParams; - // ignore: unnecessary_statements main_file.PlatformWebViewControllerCreationParams; - // ignore: unnecessary_statements main_file.PlatformWebViewCookieManagerCreationParams; - // ignore: unnecessary_statements main_file.PlatformWebViewPermissionRequest; - // ignore: unnecessary_statements main_file.PlatformWebViewWidgetCreationParams; - // ignore: unnecessary_statements main_file.ProgressCallback; - // ignore: unnecessary_statements main_file.WebViewPermissionResourceType; - // ignore: unnecessary_statements main_file.WebResourceRequest; - // ignore: unnecessary_statements main_file.WebResourceResponse; - // ignore: unnecessary_statements main_file.WebResourceError; - // ignore: unnecessary_statements main_file.WebResourceErrorCallback; - // ignore: unnecessary_statements main_file.WebViewCookie; - // ignore: unnecessary_statements main_file.WebResourceErrorType; - // ignore: unnecessary_statements main_file.UrlChange; }, ); From 1ddc2f58bcced7ac0415bbb5fd67681ae416e4d9 Mon Sep 17 00:00:00 2001 From: Maurice Parrish <10687576+bparrishMines@users.noreply.github.com> Date: Mon, 15 Jan 2024 14:56:33 -0500 Subject: [PATCH 13/13] update tests --- .../test/types_test.dart | 32 ++++++++++ ...lutter_platform_interface_export_test.dart | 58 +++++++++---------- 2 files changed, 60 insertions(+), 30 deletions(-) create mode 100644 packages/webview_flutter/webview_flutter_platform_interface/test/types_test.dart diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/types_test.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/types_test.dart new file mode 100644 index 000000000000..b364500d6fbb --- /dev/null +++ b/packages/webview_flutter/webview_flutter_platform_interface/test/types_test.dart @@ -0,0 +1,32 @@ +// 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. + +import 'package:flutter_test/flutter_test.dart'; +import 'package:webview_flutter_platform_interface/src/types/types.dart'; + +void main() { + group('types', () { + test('WebResourceRequest', () { + final Uri uri = Uri.parse('https://www.google.com'); + final WebResourceRequest request = WebResourceRequest(uri: uri); + expect(request.uri, uri); + }); + + test('WebResourceResponse', () { + final Uri uri = Uri.parse('https://www.google.com'); + const int statusCode = 404; + const Map headers = {'a': 'header'}; + + final WebResourceResponse response = WebResourceResponse( + uri: uri, + statusCode: statusCode, + headers: headers, + ); + + expect(response.uri, uri); + expect(response.statusCode, statusCode); + expect(response.headers, headers); + }); + }); +} diff --git a/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface_export_test.dart b/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface_export_test.dart index b48a2c232bf3..f8c6ee9ce657 100644 --- a/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface_export_test.dart +++ b/packages/webview_flutter/webview_flutter_platform_interface/test/webview_flutter_platform_interface_export_test.dart @@ -9,34 +9,32 @@ import 'package:webview_flutter_platform_interface/webview_flutter_platform_inte as main_file; void main() { - group('webview_flutter_platform_interface', () { - test( - 'ensures webview_flutter_platform_interface_export_test.dart exports classes in types directory', - () { - main_file.JavaScriptConsoleMessage; - main_file.JavaScriptLogLevel; - main_file.JavaScriptMessage; - main_file.JavaScriptMode; - main_file.LoadRequestMethod; - main_file.NavigationDecision; - main_file.NavigationRequest; - main_file.NavigationRequestCallback; - main_file.PageEventCallback; - main_file.PlatformNavigationDelegateCreationParams; - main_file.PlatformWebViewControllerCreationParams; - main_file.PlatformWebViewCookieManagerCreationParams; - main_file.PlatformWebViewPermissionRequest; - main_file.PlatformWebViewWidgetCreationParams; - main_file.ProgressCallback; - main_file.WebViewPermissionResourceType; - main_file.WebResourceRequest; - main_file.WebResourceResponse; - main_file.WebResourceError; - main_file.WebResourceErrorCallback; - main_file.WebViewCookie; - main_file.WebResourceErrorType; - main_file.UrlChange; - }, - ); - }); + test( + 'ensures webview_flutter_platform_interface.dart exports classes in types directory', + () { + main_file.JavaScriptConsoleMessage; + main_file.JavaScriptLogLevel; + main_file.JavaScriptMessage; + main_file.JavaScriptMode; + main_file.LoadRequestMethod; + main_file.NavigationDecision; + main_file.NavigationRequest; + main_file.NavigationRequestCallback; + main_file.PageEventCallback; + main_file.PlatformNavigationDelegateCreationParams; + main_file.PlatformWebViewControllerCreationParams; + main_file.PlatformWebViewCookieManagerCreationParams; + main_file.PlatformWebViewPermissionRequest; + main_file.PlatformWebViewWidgetCreationParams; + main_file.ProgressCallback; + main_file.WebViewPermissionResourceType; + main_file.WebResourceRequest; + main_file.WebResourceResponse; + main_file.WebResourceError; + main_file.WebResourceErrorCallback; + main_file.WebViewCookie; + main_file.WebResourceErrorType; + main_file.UrlChange; + }, + ); }