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

[webview_flutter] Update webview platform interface with new methods for running JavaScript. #4401

Merged

Conversation

BeMacized
Copy link
Contributor

@BeMacized BeMacized commented Oct 1, 2021

This PR adds two new platform interface methods, runJavaScript and runJavaScriptForResult, to supersede evaluateJavascript.

This is meant as a solution to the issue mentioned in flutter/flutter#66318, and was discussed offline with @mvanbeusekom and @stuartmorgan.

Relevant issue:

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran [the auto-formatter]. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
  • I signed the [CLA].
  • The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
  • I updated CHANGELOG.md to add a description of the change.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
  • All existing and new tests are passing.

@BeMacized
Copy link
Contributor Author

BeMacized commented Oct 1, 2021

@mvanbeusekom @stuartmorgan
We discussed replacing evaluateJavascript with two new methods, one when no return value is expected and one for where there is. However, while building this I get the feeling we can just replace it with one, as both new methods ignore WKError 5 anyways.

Let me know what you think about that and I can make a quick refactor to merge them if needed.

@mvanbeusekom
Copy link
Contributor

In case of the runJavascriptWithForResult we are clearly expecting a result, so here we should not ignore the WKError 5 in my opinion as this means the developer supplied Javascript which doesn't return a result and we should let them know.

@BeMacized
Copy link
Contributor Author

@mvanbeusekom Gotcha, I'll quickly fix that

@BeMacized
Copy link
Contributor Author

PR feedback has been implemented.

All cases of "JavaScript" have been refactored to "Javascript" in this and the other PRs to maintain consistency with existing names for other methods & classes.

Copy link
Contributor

@stuartmorgan stuartmorgan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with nits.

Copy link
Contributor

@mvanbeusekom mvanbeusekom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mvanbeusekom mvanbeusekom added the waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land. label Oct 6, 2021
@fluttergithubbot
Copy link

This pull request is not suitable for automatic merging in its current state.

  • The status or check suite ios-platform_tests has failed. Please fix the issues identified (or deflake) before re-applying this label.

@fluttergithubbot fluttergithubbot removed the waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land. label Oct 6, 2021
@mvanbeusekom mvanbeusekom added the waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land. label Oct 6, 2021
@fluttergithubbot fluttergithubbot merged commit cd5dc3b into flutter:master Oct 6, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 6, 2021
fluttergithubbot pushed a commit to flutter/flutter that referenced this pull request Oct 6, 2021
NickalasB added a commit to NickalasB/plugins that referenced this pull request Oct 6, 2021
* master:
  [webview_flutter] Update webview platform interface with new methods for running JavaScript. (flutter#4401)
NickalasB added a commit to NickalasB/plugins that referenced this pull request Oct 6, 2021
* master:
  [webview_flutter] Update webview platform interface with new methods for running JavaScript. (flutter#4401)
mgonzalezc pushed a commit to mgonzalezc/plugins that referenced this pull request Oct 12, 2021
* master: (1126 commits)
  [webview_flutter] Adjust test URLs again (flutter#4407)
  [google_sign_in] Add serverAuthCode attribute to google_sign_in_platform_interface user data (flutter#4179)
  [camera] Add filter for unsupported cameras on Android (flutter#4418)
  [webview_flutter] Update webview platform interface with new methods for running JavaScript. (flutter#4401)
  [webview_flutter] Add zoomEnabled to webview flutter platform interface (flutter#4404)
  [ci] Remove obsolete Dockerfile (flutter#4405)
  Fix order-dependant platform interface tests (flutter#4406)
  [google_maps_flutter]: LatLng longitude loses precision in constructor #90574 (flutter#4374)
  [google_maps_flutter] Add Marker drag events (flutter#2838)
  [flutter_plugin_tools] Validate pubspec description (flutter#4396)
  Add file_selector to the repo list (flutter#4395)
  [in_app_purchase] Fix in_app_purchase_android/README.md (flutter#4363)
  [google_maps_flutter_web] Add Marker drag events (flutter#4385)
  [webview_flutter] Fixed todos in FlutterWebView.java (flutter#4394)
  Handle `PurchaseStatus.restored` correctly in example. (flutter#4393)
  Handle restored purchases in iOS example app (flutter#4392)
  [file_selector] Remove custom analysis options (flutter#4382)
  [flutter_plugin_tools] Check licenses in Kotlin (flutter#4373)
  Fixed _CastError when running example App (flutter#4390)
  [in_app_purchase] Ensure the introductoryPriceMicros field is transported as a String. (flutter#4370)
  ...

# Conflicts:
#	packages/quick_actions/ios/Classes/FLTQuickActionsPlugin.m
camsim99 pushed a commit to camsim99/plugins that referenced this pull request Oct 18, 2021
clocksmith pushed a commit to clocksmith/flutter that referenced this pull request Oct 29, 2021
amantoux pushed a commit to amantoux/plugins that referenced this pull request Dec 11, 2021
KyleFin pushed a commit to KyleFin/plugins that referenced this pull request Dec 21, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes p: webview_flutter Edits files for a webview_flutter plugin waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants