Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
Prev Previous commit
switch statement and fix setting bounce
  • Loading branch information
bparrishMines committed Apr 17, 2025
commit 47d08c341cc818486897dc6f08a2696be68573c7
Original file line number Diff line number Diff line change
Expand Up @@ -733,25 +733,21 @@ class AndroidWebViewController extends PlatformWebViewController {
}

@override
Future<void> setOverScrollMode(WebViewOverScrollMode mode) async {
switch (mode) {
case WebViewOverScrollMode.always:
return _webView.setOverScrollMode(
Future<void> setOverScrollMode(WebViewOverScrollMode mode) {
return switch (mode) {
WebViewOverScrollMode.always => _webView.setOverScrollMode(
android_webview.OverScrollMode.always,
);
case WebViewOverScrollMode.ifContentScrolls:
return _webView.setOverScrollMode(
),
WebViewOverScrollMode.ifContentScrolls => _webView.setOverScrollMode(
android_webview.OverScrollMode.ifContentScrolls,
);
case WebViewOverScrollMode.never:
return _webView.setOverScrollMode(
),
WebViewOverScrollMode.never => _webView.setOverScrollMode(
android_webview.OverScrollMode.never,
);
),
// This prevents future additions from causing a breaking change.
// ignore: unreachable_switch_case
case _:
throw UnsupportedError('Android does not support $mode.');
}
_ => throw UnsupportedError('Android does not support $mode.'),
};
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -769,23 +769,27 @@ window.addEventListener("error", function(e) {
}

@override
Future<void> setOverScrollMode(WebViewOverScrollMode mode) async {
switch (mode) {
case WebViewOverScrollMode.always:
return _webView.scrollView.setBounces(true);
case WebViewOverScrollMode.ifContentScrolls:
await Future.wait<void>(<Future<void>>[
_webView.scrollView.setBounces(true),
_webView.scrollView.setAlwaysBounceHorizontal(false),
_webView.scrollView.setAlwaysBounceVertical(false),
]);
case WebViewOverScrollMode.never:
return _webView.scrollView.setBounces(false);
Future<void> setOverScrollMode(WebViewOverScrollMode mode) {
return switch (mode) {
WebViewOverScrollMode.always => Future.wait<void>(
<Future<void>>[
_webView.scrollView.setBounces(true),
_webView.scrollView.setAlwaysBounceHorizontal(true),
_webView.scrollView.setAlwaysBounceVertical(true),
],
),
WebViewOverScrollMode.ifContentScrolls => Future.wait<void>(
<Future<void>>[
_webView.scrollView.setBounces(true),
_webView.scrollView.setAlwaysBounceHorizontal(false),
_webView.scrollView.setAlwaysBounceVertical(false),
],
),
WebViewOverScrollMode.never => _webView.scrollView.setBounces(false),
// This prevents future additions from causing a breaking change.
// ignore: unreachable_switch_case
case _:
throw UnsupportedError('This platform does not support $mode.');
}
_ => throw UnsupportedError('This platform does not support $mode.'),
};
}

// WKWebView does not support removing a single user script, so all user
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1392,6 +1392,8 @@ void main() {

await controller.setOverScrollMode(WebViewOverScrollMode.always);
verify(mockScrollView.setBounces(true));
verify(mockScrollView.setAlwaysBounceVertical(true));
verify(mockScrollView.setAlwaysBounceHorizontal(true));

clearInteractions(mockScrollView);
await controller
Expand Down