Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[webview_flutter] Opt-in feature that javaScript can automatically open window for iOS platform #8505

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

fummicc1
Copy link

@fummicc1 fummicc1 commented Jan 26, 2025

PR Description

This PR aims to add an option that Javascript can open window without user interaction. related issue is flutter/flutter#112276.

Diving into the detail, I added a setter named setJavaScriptCanOpenWindowsAutomatically to WebViewController that can configure javaScriptCanOpenWindowsAutomatically whose default value is false in iOS platform.

There are two scenarios when javaScriptCanOpenWindowsAutomatically needs to be true.

  1. Open window without user interaction such as when loaded html.
  2. Open window in asynchronous function such as setInterval. Even with user interaction, iOS prevents webview from opening new window in this scenario.

In general, first scenario should be prevented but second scenario might be accepted in some cases. This is why I tried to solve this issue.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Copy link

google-cla bot commented Jan 26, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant