-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[url_launcher_web] Disallows launching "javascript:" URLs. #5180
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code itself looks good to me, though I'm hesitant about blanket-adding noopener,noreferrer
. I'm okay with making this the default behavior. But should we give developers the option to allow communication back with the main window? There could be a legit use case when the app is opening its own popup (not a user-provided URL).
I had the same thought initially, but then wasn't convinced that |
@mdebbar it's easy for us to pass a new My two opinions, hoever:
(Do you really think this change is a big breaking change?)
@stuartmorgan hmmm, I think |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stuartmorgan hmmm, I think
Link
does not useopenUrl
on the web
This LGTM then. I would at this point vote for only adding options to remove the attributes if we get significant feedback that there's a compelling case for them in the context of the intended use of url_launcher
.
I agree, but will wait to see how strongly @mdebbar feels about it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Keeping an eye for user feedback sounds like a good strategy!
Applying |
* main: (139 commits) Change firebase device tests from Android api 30 to 33 (flutter#5185) [url_launcher] Add an `inAppBrowserView` mode (flutter#5205) [ci] Remove device_type property from Windows Arm64 properties (flutter#5193) [url_launcher_web] Disallows launching "javascript:" URLs. (flutter#5180) [local_auth]: Bump androidx.fragment:fragment from 1.6.0 to 1.6.1 in /packages/local_auth/local_auth_android/android (flutter#4600) Roll Flutter from 823e083 to 5e8b5f4 (13 revisions) (flutter#5208) [tool] Add optional swift-format support (flutter#5204) [camera] CameraPlatform.createCameraWithSettings (flutter#3615) Bump github/codeql-action from 2.22.3 to 2.22.4 (flutter#5201) Roll Flutter from 6f4850d to 823e083 (3 revisions) (flutter#5198) Bump actions/checkout from 4.1.0 to 4.1.1 (flutter#5167) Roll Flutter from 0883cb2 to 6f4850d (24 revisions) (flutter#5196) [ios_platform_images] migrate objC to swift (flutter#4847) [in_app_pur]: Bump org.json:json from 20230618 to 20231013 in /packages/in_app_purchase/in_app_purchase_android/example/android/app (flutter#5149) [in_app_pur]: Bump org.json:json from 20230618 to 20231013 in /packages/in_app_purchase/in_app_purchase_android/android (flutter#5150) [quick_actions] convert to pigeon (flutter#5159) [ci] Add build-only Windows Arm64 tests (flutter#5142) Add '--no-tree-shake-icons' option to `BenchmarkServer` (flutter#5186) Roll Flutter from c2bd2c1 to 0883cb2 (24 revisions) (flutter#5192) [ci] Finalize migration to x64 specific Windows platform (flutter#5174) ...
flutter/packages@4bf5114...2faf992 2023-10-23 34871572+gmackall@users.noreply.github.com Change firebase device tests from Android api 30 to 33 (flutter/packages#5185) 2023-10-23 stuartmorgan@google.com [url_launcher] Add an `inAppBrowserView` mode (flutter/packages#5205) 2023-10-23 737941+loic-sharma@users.noreply.github.com [ci] Remove device_type property from Windows Arm64 properties (flutter/packages#5193) 2023-10-23 ditman@gmail.com [url_launcher_web] Disallows launching "javascript:" URLs. (flutter/packages#5180) 2023-10-23 49699333+dependabot[bot]@users.noreply.github.com [local_auth]: Bump androidx.fragment:fragment from 1.6.0 to 1.6.1 in /packages/local_auth/local_auth_android/android (flutter/packages#4600) 2023-10-23 engine-flutter-autoroll@skia.org Roll Flutter from 823e083 to 5e8b5f4 (13 revisions) (flutter/packages#5208) 2023-10-23 stuartmorgan@google.com [tool] Add optional swift-format support (flutter/packages#5204) 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-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: 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
This PR updates the URL launcher to:
launchUrl
method.launch
andlaunchUrl
for URLs with thejavascript:
scheme.Issues
Fixes flutter/flutter#136657
Tests
Integration tests (and mocks) updated.
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.