Added pause and resume methods for Android, Added pauseTimers and resumeTimers methods, Added new historyUrl optional parameter only for Android, fix #202, should fix #201
This commit is contained in:
parent
ade4480c6d
commit
6ba5b0c115
|
@ -6,7 +6,7 @@ about: Something is crashing or not working as intended
|
||||||
|
|
||||||
## Environment
|
## Environment
|
||||||
|
|
||||||
**App version:** <!-- Add branch if necessary -->
|
**Plugin version:** <!-- Add branch if necessary -->
|
||||||
**Android version:** <!-- If customize ROM, write which -->
|
**Android version:** <!-- If customize ROM, write which -->
|
||||||
**Device information:** <!-- Manufacturer and model -->
|
**Device information:** <!-- Manufacturer and model -->
|
||||||
**Flutter version:** <!-- Flutter version used -->
|
**Flutter version:** <!-- Flutter version used -->
|
||||||
|
|
|
@ -2,5 +2,6 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="VcsDirectoryMappings">
|
<component name="VcsDirectoryMappings">
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview" vcs="Git" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -15,24 +15,52 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="9b41f7a2-a71e-4923-91fb-249d7815b3e7" name="Default" comment="">
|
<list default="true" id="9b41f7a2-a71e-4923-91fb-249d7815b3e7" name="Default" comment="">
|
||||||
|
<change afterPath="$PROJECT_DIR$/example/assets/js/main.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/example/assets/js/main.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/nodejs_server_test_auth_basic_and_ssl/public/css/style.css" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/nodejs_server_test_auth_basic_and_ssl/public/index.html" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/nodejs_server_test_auth_basic_and_ssl/public/js/main.js" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/public/css/style.css" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/public/index.html" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/public/js/main.js" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.github/ISSUE_TEMPLATE/BUG_REPORT.md" beforeDir="false" afterPath="$PROJECT_DIR$/.github/ISSUE_TEMPLATE/BUG_REPORT.md" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/FlutterWebView.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/FlutterWebView.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowser.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowser.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowserActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowserActivity.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebView.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebView.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebViewChromeClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebViewChromeClient.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebViewChromeClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebViewChromeClient.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/example/ios/Flutter/flutter_export_environment.sh" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/Flutter/flutter_export_environment.sh" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/example/assets/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/example/assets/index.html" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/example/ios/Runner.xcodeproj/project.pbxproj" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/Runner.xcodeproj/project.pbxproj" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/.github/ISSUE_TEMPLATE/BUG_REPORT.md" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/.github/ISSUE_TEMPLATE/BUG_REPORT.md" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/.idea/vcs.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/CHANGELOG.md" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/README.md" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/FlutterWebView.java" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/FlutterWebView.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowser.java" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowser.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowserActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppBrowserActivity.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebView.java" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebView.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebViewChromeClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/android/src/main/java/com/pichillilorenzo/flutter_inappwebview/InAppWebView/InAppWebViewChromeClient.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/example/assets/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/example/assets/index.html" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/example/lib/main.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/example/lib/main.dart" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/example/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/example/pubspec.yaml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/ios/Classes/FlutterWebViewController.swift" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/ios/Classes/FlutterWebViewController.swift" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/ios/Classes/InAppWebView.swift" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/ios/Classes/InAppWebView.swift" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/lib/src/in_app_browser.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/lib/src/in_app_browser.dart" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/lib/src/in_app_webview.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/lib/src/in_app_webview.dart" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/lib/src/types.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/lib/src/types.dart" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/nodejs_server_test_auth_basic_and_ssl/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/nodejs_server_test_auth_basic_and_ssl/index.js" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/example/ios/.symlinks/plugins/flutter_inappwebview/pubspec.yaml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/example/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/example/pubspec.yaml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/example/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/example/pubspec.yaml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/example/test_driver/in_app_webview_on_load_error_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/test_driver/in_app_webview_on_load_error_test.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/ios/Classes/FlutterWebViewController.swift" beforeDir="false" afterPath="$PROJECT_DIR$/ios/Classes/FlutterWebViewController.swift" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/channel_manager.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/channel_manager.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/ios/Classes/InAppWebView.swift" beforeDir="false" afterPath="$PROJECT_DIR$/ios/Classes/InAppWebView.swift" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/chrome_safari_browser.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/chrome_safari_browser.dart" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/content_blocker.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/content_blocker.dart" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/cookie_manager.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/cookie_manager.dart" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/http_auth_credentials_database.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/http_auth_credentials_database.dart" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/in_app_browser.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/in_app_browser.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/lib/src/in_app_browser.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/in_app_browser.dart" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/in_app_localhost_server.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/in_app_localhost_server.dart" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/in_app_webview.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/in_app_webview.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/lib/src/in_app_webview.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/in_app_webview.dart" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/types.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/types.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/lib/src/types.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/types.dart" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/lib/src/webview_options.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/webview_options.dart" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/index.js" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.yaml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.yaml" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<ignored path="$PROJECT_DIR$/.dart_tool/" />
|
<ignored path="$PROJECT_DIR$/.dart_tool/" />
|
||||||
|
@ -56,10 +84,9 @@
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/README.md">
|
<entry file="file://$PROJECT_DIR$/README.md">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="12735">
|
<state relative-caret-position="159">
|
||||||
<caret line="849" selection-start-line="849" selection-end-line="849" />
|
<caret line="429" column="36" selection-start-line="429" selection-start-column="36" selection-end-line="429" selection-end-column="36" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
|
||||||
<element signature="e#0#39#0" expanded="true" />
|
<element signature="e#0#39#0" expanded="true" />
|
||||||
<element signature="e#0#39#0" expanded="true" />
|
<element signature="e#0#39#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
|
@ -70,8 +97,8 @@
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
|
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="30">
|
<state relative-caret-position="45">
|
||||||
<caret line="2" column="145" selection-start-line="2" selection-start-column="145" selection-end-line="2" selection-end-column="145" />
|
<caret line="3" column="49" selection-start-line="3" selection-start-column="49" selection-end-line="3" selection-end-column="49" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
@ -79,8 +106,8 @@
|
||||||
<file pinned="false" current-in-tab="true">
|
<file pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/example/lib/main.dart">
|
<entry file="file://$PROJECT_DIR$/example/lib/main.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="304">
|
<state relative-caret-position="406">
|
||||||
<caret line="78" column="1" selection-start-line="78" selection-start-column="1" selection-end-line="78" selection-end-column="1" />
|
<caret line="67" column="11" lean-forward="true" selection-start-line="67" selection-start-column="11" selection-end-line="67" selection-end-column="11" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
<element signature="e#0#20#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
|
@ -89,10 +116,25 @@
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$USER_HOME$/Downloads/in_app_webiew_example.screen.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/types.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="345">
|
<state relative-caret-position="405">
|
||||||
<caret line="33" column="57" selection-start-line="33" selection-start-column="2" selection-end-line="33" selection-end-column="57" />
|
<caret line="98" column="19" selection-start-line="98" selection-start-column="9" selection-end-line="98" selection-end-column="19" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#20#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/src/in_app_webview.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="156">
|
||||||
|
<caret line="1120" column="96" selection-start-line="1120" selection-start-column="65" selection-end-line="1120" selection-end-column="96" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#17#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
@ -109,17 +151,6 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="FindInProjectRecents">
|
<component name="FindInProjectRecents">
|
||||||
<findStrings>
|
<findStrings>
|
||||||
<find>window.</find>
|
|
||||||
<find>onLoadHttpError</find>
|
|
||||||
<find>microphone</find>
|
|
||||||
<find>Action</find>
|
|
||||||
<find>Action {</find>
|
|
||||||
<find>Action action;</find>
|
|
||||||
<find>Response {</find>
|
|
||||||
<find>'action': this.action</find>
|
|
||||||
<find>: this.action</find>
|
|
||||||
<find>this.</find>
|
|
||||||
<find>Event fires</find>
|
|
||||||
<find>onSafe</find>
|
<find>onSafe</find>
|
||||||
<find>onPermission</find>
|
<find>onPermission</find>
|
||||||
<find>onPermissionRequest</find>
|
<find>onPermissionRequest</find>
|
||||||
|
@ -139,6 +170,17 @@
|
||||||
<find>iltInZoomControls</find>
|
<find>iltInZoomControls</find>
|
||||||
<find>databaseEnabled</find>
|
<find>databaseEnabled</find>
|
||||||
<find>Cookie</find>
|
<find>Cookie</find>
|
||||||
|
<find>\</find>
|
||||||
|
<find>`shouldOverrideUrlLoading</find>
|
||||||
|
<find>useshouldOverrideUrlLoading</find>
|
||||||
|
<find>initiald</find>
|
||||||
|
<find>shouldOverrideUrlLoading</find>
|
||||||
|
<find>BAAAAACK</find>
|
||||||
|
<find>loadData</find>
|
||||||
|
<find>iNitialData</find>
|
||||||
|
<find>pauseTimers</find>
|
||||||
|
<find>historyUrl</find>
|
||||||
|
<find>data</find>
|
||||||
</findStrings>
|
</findStrings>
|
||||||
<replaceStrings>
|
<replaceStrings>
|
||||||
<replace>activity.getPreferences(0)</replace>
|
<replace>activity.getPreferences(0)</replace>
|
||||||
|
@ -161,14 +203,6 @@
|
||||||
<component name="IdeDocumentHistory">
|
<component name="IdeDocumentHistory">
|
||||||
<option name="CHANGED_PATHS">
|
<option name="CHANGED_PATHS">
|
||||||
<list>
|
<list>
|
||||||
<option value="$PROJECT_DIR$/lib/src/chrome_safari_browser.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/example/assets/index.html" />
|
|
||||||
<option value="$PROJECT_DIR$/lib/src/types.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/example/android/app/src/main/AndroidManifest.xml" />
|
|
||||||
<option value="$PROJECT_DIR$/lib/flutter_inappwebview.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/ios/flutter_inappbrowser.podspec" />
|
|
||||||
<option value="$PROJECT_DIR$/example/lib/in_app_webiew_example.screen.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/example/lib/in_app_browser_example.screen.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/example/lib/chrome_safari_browser_example.screen.dart" />
|
<option value="$PROJECT_DIR$/example/lib/chrome_safari_browser_example.screen.dart" />
|
||||||
<option value="$PROJECT_DIR$/example/test_driver/custom_widget_test.dart" />
|
<option value="$PROJECT_DIR$/example/test_driver/custom_widget_test.dart" />
|
||||||
<option value="$PROJECT_DIR$/example/test_driver/in_app_webview_ajax_test.dart" />
|
<option value="$PROJECT_DIR$/example/test_driver/in_app_webview_ajax_test.dart" />
|
||||||
|
@ -203,19 +237,27 @@
|
||||||
<option value="$PROJECT_DIR$/example/test_assets/in_app_webview_initial_file_test.html" />
|
<option value="$PROJECT_DIR$/example/test_assets/in_app_webview_initial_file_test.html" />
|
||||||
<option value="$PROJECT_DIR$/.git/config" />
|
<option value="$PROJECT_DIR$/.git/config" />
|
||||||
<option value="$PROJECT_DIR$/example/test_driver/in_app_webview_on_load_error_test.dart" />
|
<option value="$PROJECT_DIR$/example/test_driver/in_app_webview_on_load_error_test.dart" />
|
||||||
<option value="$PROJECT_DIR$/example/pubspec.yaml" />
|
|
||||||
<option value="$PROJECT_DIR$/lib/src/in_app_webview.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/pubspec.yaml" />
|
|
||||||
<option value="$PROJECT_DIR$/CHANGELOG.md" />
|
|
||||||
<option value="$PROJECT_DIR$/lib/src/webview_options.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/lib/src/in_app_browser.dart" />
|
|
||||||
<option value="$PROJECT_DIR$/lib/src/channel_manager.dart" />
|
<option value="$PROJECT_DIR$/lib/src/channel_manager.dart" />
|
||||||
<option value="$PROJECT_DIR$/example/lib/main.dart" />
|
<option value="$PROJECT_DIR$/example/pubspec.yaml" />
|
||||||
|
<option value="$PROJECT_DIR$/example/assets/index.html" />
|
||||||
|
<option value="$PROJECT_DIR$/pubspec.yaml" />
|
||||||
<option value="$PROJECT_DIR$/README.md" />
|
<option value="$PROJECT_DIR$/README.md" />
|
||||||
|
<option value="$PROJECT_DIR$/.github/ISSUE_TEMPLATE/BUG_REPORT.md" />
|
||||||
|
<option value="$PROJECT_DIR$/lib/src/types.dart" />
|
||||||
|
<option value="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/css/style.css" />
|
||||||
|
<option value="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/index.html" />
|
||||||
|
<option value="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/js/main.js" />
|
||||||
|
<option value="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/index.js" />
|
||||||
|
<option value="$PROJECT_DIR$/lib/src/in_app_webview.dart" />
|
||||||
|
<option value="$PROJECT_DIR$/lib/src/in_app_browser.dart" />
|
||||||
|
<option value="$PROJECT_DIR$/lib/src/webview_options.dart" />
|
||||||
|
<option value="$PROJECT_DIR$/CHANGELOG.md" />
|
||||||
|
<option value="$PROJECT_DIR$/example/assets/js/main.js" />
|
||||||
|
<option value="$PROJECT_DIR$/example/lib/main.dart" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectFrameBounds" extendedState="6">
|
<component name="ProjectFrameBounds">
|
||||||
<option name="x" value="-1" />
|
<option name="x" value="-1" />
|
||||||
<option name="y" value="23" />
|
<option name="y" value="23" />
|
||||||
<option name="width" value="1920" />
|
<option name="width" value="1920" />
|
||||||
|
@ -256,6 +298,17 @@
|
||||||
<select />
|
<select />
|
||||||
</subPane>
|
</subPane>
|
||||||
</pane>
|
</pane>
|
||||||
|
<pane id="Scope">
|
||||||
|
<subPane subId="Project Files">
|
||||||
|
<expand>
|
||||||
|
<path>
|
||||||
|
<item name="Root" type="cbb8eebc:String" user="Root" />
|
||||||
|
<item name="flutter_inappbrowser" type="cbb8eebc:String" user="flutter_inappbrowser" />
|
||||||
|
</path>
|
||||||
|
</expand>
|
||||||
|
<select />
|
||||||
|
</subPane>
|
||||||
|
</pane>
|
||||||
<pane id="ProjectPane">
|
<pane id="ProjectPane">
|
||||||
<subPane>
|
<subPane>
|
||||||
<expand>
|
<expand>
|
||||||
|
@ -263,6 +316,17 @@
|
||||||
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
||||||
|
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name=".github" type="462c0819:PsiDirectoryNode" />
|
||||||
|
</path>
|
||||||
|
<path>
|
||||||
|
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
||||||
|
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name=".github" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="ISSUE_TEMPLATE" type="462c0819:PsiDirectoryNode" />
|
||||||
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
||||||
|
@ -285,13 +349,14 @@
|
||||||
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="example" type="462c0819:PsiDirectoryNode" />
|
<item name="example" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
<item name="assets" type="462c0819:PsiDirectoryNode" />
|
||||||
|
<item name="js" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
||||||
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
<item name="flutter_inappwebview" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="example" type="462c0819:PsiDirectoryNode" />
|
<item name="example" type="462c0819:PsiDirectoryNode" />
|
||||||
<item name="test_driver" type="462c0819:PsiDirectoryNode" />
|
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
<path>
|
||||||
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
<item name="flutter_inappwebview" type="b2602c69:ProjectViewProjectNode" />
|
||||||
|
@ -308,17 +373,6 @@
|
||||||
<select />
|
<select />
|
||||||
</subPane>
|
</subPane>
|
||||||
</pane>
|
</pane>
|
||||||
<pane id="Scope">
|
|
||||||
<subPane subId="Project Files">
|
|
||||||
<expand>
|
|
||||||
<path>
|
|
||||||
<item name="Root" type="cbb8eebc:String" user="Root" />
|
|
||||||
<item name="flutter_inappbrowser" type="cbb8eebc:String" user="flutter_inappbrowser" />
|
|
||||||
</path>
|
|
||||||
</expand>
|
|
||||||
<select />
|
|
||||||
</subPane>
|
|
||||||
</pane>
|
|
||||||
<pane id="PackagesPane" />
|
<pane id="PackagesPane" />
|
||||||
</panes>
|
</panes>
|
||||||
</component>
|
</component>
|
||||||
|
@ -340,10 +394,6 @@
|
||||||
<property name="show.migrate.to.gradle.popup" value="false" />
|
<property name="show.migrate.to.gradle.popup" value="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
|
||||||
<recent name="$PROJECT_DIR$/example/assets/images" />
|
|
||||||
<recent name="$PROJECT_DIR$/android/src/main/java" />
|
|
||||||
</key>
|
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
<recent name="$PROJECT_DIR$/example/test_driver" />
|
<recent name="$PROJECT_DIR$/example/test_driver" />
|
||||||
<recent name="$PROJECT_DIR$/example/test_assets" />
|
<recent name="$PROJECT_DIR$/example/test_assets" />
|
||||||
|
@ -351,6 +401,11 @@
|
||||||
<recent name="$PROJECT_DIR$/example/assets/images" />
|
<recent name="$PROJECT_DIR$/example/assets/images" />
|
||||||
<recent name="$PROJECT_DIR$/android/libs" />
|
<recent name="$PROJECT_DIR$/android/libs" />
|
||||||
</key>
|
</key>
|
||||||
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/public" />
|
||||||
|
<recent name="$PROJECT_DIR$/example/assets/images" />
|
||||||
|
<recent name="$PROJECT_DIR$/android/src/main/java" />
|
||||||
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunDashboard">
|
<component name="RunDashboard">
|
||||||
<option name="ruleStates">
|
<option name="ruleStates">
|
||||||
|
@ -469,8 +524,9 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="-1" y="23" width="1920" height="1057" extended-state="6" />
|
<frame x="-1" y="23" width="1920" height="1057" extended-state="6" />
|
||||||
|
<editor active="true" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info content_ui="combo" id="Project" order="0" sideWeight="0.6177474" visible="true" weight="0.20766774" />
|
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.6177474" visible="true" weight="0.20766774" />
|
||||||
<window_info id="Structure" order="1" sideWeight="0.38225257" side_tool="true" weight="0.2087327" />
|
<window_info id="Structure" order="1" sideWeight="0.38225257" side_tool="true" weight="0.2087327" />
|
||||||
<window_info id="Designer" order="2" />
|
<window_info id="Designer" order="2" />
|
||||||
<window_info id="Build Variants" order="3" side_tool="true" />
|
<window_info id="Build Variants" order="3" side_tool="true" />
|
||||||
|
@ -481,7 +537,7 @@
|
||||||
<window_info id="Resources Explorer" order="8" />
|
<window_info id="Resources Explorer" order="8" />
|
||||||
<window_info anchor="bottom" id="Message" order="0" />
|
<window_info anchor="bottom" id="Message" order="0" />
|
||||||
<window_info anchor="bottom" id="Find" order="1" weight="0.32745314" />
|
<window_info anchor="bottom" id="Find" order="1" weight="0.32745314" />
|
||||||
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49478307" weight="0.4580311" />
|
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49478307" visible="true" weight="0.35129532" />
|
||||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.34196892" />
|
<window_info anchor="bottom" id="Debug" order="3" weight="0.34196892" />
|
||||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||||
|
@ -489,7 +545,7 @@
|
||||||
<window_info anchor="bottom" id="Android Profiler" order="7" show_stripe_button="false" />
|
<window_info anchor="bottom" id="Android Profiler" order="7" show_stripe_button="false" />
|
||||||
<window_info anchor="bottom" id="Event Log" order="8" sideWeight="0.50532484" side_tool="true" weight="0.35751295" />
|
<window_info anchor="bottom" id="Event Log" order="8" sideWeight="0.50532484" side_tool="true" weight="0.35751295" />
|
||||||
<window_info anchor="bottom" id="Version Control" order="9" />
|
<window_info anchor="bottom" id="Version Control" order="9" />
|
||||||
<window_info active="true" anchor="bottom" id="Terminal" order="10" sideWeight="0.4946752" visible="true" weight="0.5668394" />
|
<window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.4946752" weight="0.35336787" />
|
||||||
<window_info anchor="bottom" id="Logcat" order="11" weight="0.32953367" />
|
<window_info anchor="bottom" id="Logcat" order="11" weight="0.32953367" />
|
||||||
<window_info anchor="bottom" id="Messages" order="12" sideWeight="0.4968051" weight="0.33782384" />
|
<window_info anchor="bottom" id="Messages" order="12" sideWeight="0.4968051" weight="0.33782384" />
|
||||||
<window_info anchor="bottom" id="Dependency Viewer" order="13" weight="0.32800853" />
|
<window_info anchor="bottom" id="Dependency Viewer" order="13" weight="0.32800853" />
|
||||||
|
@ -519,55 +575,6 @@
|
||||||
</ignored-roots>
|
</ignored-roots>
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/custom_widget_test.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="45">
|
|
||||||
<caret line="3" column="57" selection-start-line="3" selection-start-column="57" selection-end-line="3" selection-end-column="57" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_ajax_test.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="30">
|
|
||||||
<caret line="2" column="57" selection-start-line="2" selection-start-column="57" selection-end-line="2" selection-end-column="57" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_content_blocker_test.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="30">
|
|
||||||
<caret line="2" column="57" selection-start-line="2" selection-start-column="57" selection-end-line="2" selection-end-column="57" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_cookie_manager_test.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="30">
|
|
||||||
<caret line="2" column="57" selection-start-line="2" selection-start-column="57" selection-end-line="2" selection-end-column="57" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_fetch_test.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="60">
|
|
||||||
<caret line="4" column="57" selection-start-line="4" selection-start-column="57" selection-end-line="4" selection-end-column="57" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_http_auth_credential_database_test.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="30">
|
|
||||||
<caret line="2" column="57" selection-start-line="2" selection-start-column="57" selection-end-line="2" selection-end-column="57" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_initial_data_test.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="30">
|
|
||||||
<caret line="2" column="57" selection-start-line="2" selection-start-column="57" selection-end-line="2" selection-end-column="57" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_initial_url_test.dart">
|
<entry file="file://$PROJECT_DIR$/example/test_driver/in_app_webview_initial_url_test.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="30">
|
<state relative-caret-position="30">
|
||||||
|
@ -728,11 +735,6 @@
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/example/assets/index.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="-147" />
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/example/test_assets/in_app_webview_initial_file_test.html">
|
<entry file="file://$PROJECT_DIR$/example/test_assets/in_app_webview_initial_file_test.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="135">
|
<state relative-caret-position="135">
|
||||||
|
@ -763,16 +765,6 @@
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/types.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="161">
|
|
||||||
<caret line="480" column="9" selection-start-line="480" selection-start-column="9" selection-end-line="480" selection-end-column="9" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/connectivity-0.4.5+6/lib/connectivity.dart">
|
<entry file="file://$USER_HOME$/flutter/.pub-cache/hosted/pub.dartlang.org/connectivity-0.4.5+6/lib/connectivity.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="75">
|
<state relative-caret-position="75">
|
||||||
|
@ -797,40 +789,6 @@
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/example/pubspec.yaml">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="360">
|
|
||||||
<caret line="24" column="24" selection-start-line="24" selection-start-column="24" selection-end-line="24" selection-end-column="24" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/in_app_webview.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="161">
|
|
||||||
<caret line="105" column="30" selection-start-line="105" selection-start-column="15" selection-end-line="105" selection-end-column="30" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#17#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="165">
|
|
||||||
<caret line="11" column="10" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/in_app_browser.dart">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="413">
|
|
||||||
<caret line="539" column="3" lean-forward="true" selection-start-line="539" selection-start-column="3" selection-end-line="539" selection-end-column="3" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/channel_manager.dart">
|
<entry file="file://$PROJECT_DIR$/lib/src/channel_manager.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="225">
|
<state relative-caret-position="225">
|
||||||
|
@ -851,49 +809,151 @@
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/lib/src/webview_options.dart">
|
<entry file="file://$PROJECT_DIR$/example/README.md">
|
||||||
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$USER_HOME$/Downloads/in_app_webiew_example.screen.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="10620">
|
<state relative-caret-position="15">
|
||||||
<caret line="708" column="23" lean-forward="true" selection-start-line="708" selection-start-column="23" selection-end-line="708" selection-end-column="23" />
|
<caret line="11" selection-start-line="11" selection-end-line="11" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/example/pubspec.yaml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="540">
|
||||||
|
<caret line="36" selection-start-line="36" selection-end-line="51" selection-end-column="24" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/.github/ISSUE_TEMPLATE/BUG_REPORT.md">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="120">
|
||||||
|
<caret line="8" column="8" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="8" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/src/in_app_localhost_server.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="195">
|
||||||
|
<caret line="13" column="2" selection-start-line="13" selection-start-column="2" selection-end-line="13" selection-end-column="2" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#17#0" expanded="true" />
|
<element signature="e#0#17#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$USER_HOME$/Downloads/in_app_webiew_example.screen.dart">
|
<entry file="file://$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/public/index.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="345">
|
<state relative-caret-position="210">
|
||||||
<caret line="33" column="57" selection-start-line="33" selection-start-column="2" selection-end-line="33" selection-end-column="57" />
|
<caret line="14" column="7" lean-forward="true" selection-end-line="14" selection-end-column="7" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/public/css/style.css">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="30">
|
||||||
|
<caret line="2" column="14" selection-end-line="3" selection-end-column="1" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/public/js/main.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state>
|
||||||
|
<caret column="61" selection-start-column="61" selection-end-column="61" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/nodejs_server_test_auth_basic_and_ssl/index.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="285">
|
||||||
|
<caret line="19" selection-start-line="19" selection-end-line="19" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="30">
|
||||||
|
<caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/README.md">
|
<entry file="file://$PROJECT_DIR$/README.md">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="12735">
|
<state relative-caret-position="159">
|
||||||
<caret line="849" selection-start-line="849" selection-end-line="849" />
|
<caret line="429" column="36" selection-start-line="429" selection-start-column="36" selection-end-line="429" selection-end-column="36" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
|
||||||
<element signature="e#0#39#0" expanded="true" />
|
<element signature="e#0#39#0" expanded="true" />
|
||||||
<element signature="e#0#39#0" expanded="true" />
|
<element signature="e#0#39#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
|
<entry file="file://$PROJECT_DIR$/lib/src/types.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="30">
|
<state relative-caret-position="405">
|
||||||
<caret line="2" column="145" selection-start-line="2" selection-start-column="145" selection-end-line="2" selection-end-column="145" />
|
<caret line="98" column="19" selection-start-line="98" selection-start-column="9" selection-end-line="98" selection-end-column="19" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#20#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/example/README.md">
|
<entry file="file://$PROJECT_DIR$/lib/src/in_app_webview.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="156">
|
||||||
|
<caret line="1120" column="96" selection-start-line="1120" selection-start-column="65" selection-end-line="1120" selection-end-column="96" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#17#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/src/in_app_browser.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="225">
|
||||||
|
<caret line="176" column="23" selection-start-line="176" selection-start-column="13" selection-end-line="176" selection-end-column="23" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#20#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/lib/src/webview_options.dart">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="73">
|
||||||
|
<caret line="606" column="28" lean-forward="true" selection-start-line="606" selection-start-column="28" selection-end-line="606" selection-end-column="28" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#17#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="45">
|
||||||
|
<caret line="3" column="49" selection-start-line="3" selection-start-column="49" selection-end-line="3" selection-end-column="49" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/example/assets/js/main.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="45">
|
||||||
|
<caret line="3" column="25" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/example/assets/index.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="459">
|
||||||
|
<caret line="39" column="38" selection-start-line="39" selection-start-column="38" selection-end-line="39" selection-end-column="38" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/example/lib/main.dart">
|
<entry file="file://$PROJECT_DIR$/example/lib/main.dart">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="304">
|
<state relative-caret-position="406">
|
||||||
<caret line="78" column="1" selection-start-line="78" selection-start-column="1" selection-end-line="78" selection-end-column="1" />
|
<caret line="67" column="11" lean-forward="true" selection-start-line="67" selection-start-column="11" selection-end-line="67" selection-end-column="11" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#20#0" expanded="true" />
|
<element signature="e#0#20#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
## 2.1.0
|
||||||
|
|
||||||
|
- Added `pause` and `resume` methods for Android.
|
||||||
|
- Added `pauseTimers` and `resumeTimers` methods.
|
||||||
|
- Added new `historyUrl` optional parameter for `loadData` and `openData` methods and `InAppWebViewInitialData` class. It is used only on Android.
|
||||||
|
- Fix "problems with onReceivedHttpAuthRequest when initialData is used" [#201](https://github.com/pichillilorenzo/flutter_inappwebview/issues/201)
|
||||||
|
- Fix "System ui (status bar and navigation bar) doesn't hide automatically" [#202](https://github.com/pichillilorenzo/flutter_inappwebview/issues/202)
|
||||||
|
|
||||||
## 2.0.1+1
|
## 2.0.1+1
|
||||||
|
|
||||||
- Fixed error "java.lang.ClassCastException: $Proxy1 cannot be cast to android.view.WindowManagerImpl" on Android when using native alert dialogs
|
- Fixed error "java.lang.ClassCastException: $Proxy1 cannot be cast to android.view.WindowManagerImpl" on Android when using native alert dialogs
|
||||||
|
|
16
README.md
16
README.md
|
@ -427,12 +427,12 @@ Instead, on the `onLoadStop` WebView event, you can use `callHandler` directly:
|
||||||
* `onLoadHttpError`: Event fired when the InAppWebView main page receives an HTTP error.
|
* `onLoadHttpError`: Event fired when the InAppWebView main page receives an HTTP error.
|
||||||
* `onProgressChanged`: Event fired when the current progress of loading a page is changed.
|
* `onProgressChanged`: Event fired when the current progress of loading a page is changed.
|
||||||
* `onConsoleMessage`: Event fired when the InAppWebView receives a ConsoleMessage.
|
* `onConsoleMessage`: Event fired when the InAppWebView receives a ConsoleMessage.
|
||||||
* `shouldOverrideUrlLoading`: Give the host application a chance to take control when a URL is about to be loaded in the current WebView.
|
* `shouldOverrideUrlLoading`: Give the host application a chance to take control when a URL is about to be loaded in the current WebView (to use this event, the `useShouldOverrideUrlLoading` option must be `true`).
|
||||||
* `onLoadResource`: Event fired when the InAppWebView loads a resource.
|
* `onLoadResource`: Event fired when the InAppWebView loads a resource (to use this event, the `useOnLoadResource` option must be `true`).
|
||||||
* `onScrollChanged`: Event fired when the InAppWebView scrolls.
|
* `onScrollChanged`: Event fired when the InAppWebView scrolls.
|
||||||
* `onDownloadStart`: Event fired when InAppWebView recognizes and starts a downloadable file.
|
* `onDownloadStart`: Event fired when InAppWebView recognizes and starts a downloadable file (to use this event, the `useOnDownloadStart` option must be `true`).
|
||||||
* `onLoadResourceCustomScheme`: Event fired when the InAppWebView finds the `custom-scheme` while loading a resource. Here you can handle the url request and return a CustomSchemeResponse to load a specific resource encoded to `base64`.
|
* `onLoadResourceCustomScheme`: Event fired when the InAppWebView finds the `custom-scheme` while loading a resource. Here you can handle the url request and return a CustomSchemeResponse to load a specific resource encoded to `base64`.
|
||||||
* `onTargetBlank`: Event fired when the InAppWebView tries to open a link with `target="_blank"`.
|
* `onTargetBlank`: Event fired when the InAppWebView tries to open a link with `target="_blank"` (to use this event, the `useOnTargetBlank` option must be `true`).
|
||||||
* `onGeolocationPermissionsShowPrompt`: Event that notifies the host application that web content from the specified origin is attempting to use the Geolocation API, but no permission state is currently set for that origin (available only on Android).
|
* `onGeolocationPermissionsShowPrompt`: Event that notifies the host application that web content from the specified origin is attempting to use the Geolocation API, but no permission state is currently set for that origin (available only on Android).
|
||||||
* `onJsAlert`: Event fired when javascript calls the `alert()` method to display an alert dialog.
|
* `onJsAlert`: Event fired when javascript calls the `alert()` method to display an alert dialog.
|
||||||
* `onJsConfirm`: Event fired when javascript calls the `confirm()` method to display a confirm dialog.
|
* `onJsConfirm`: Event fired when javascript calls the `confirm()` method to display a confirm dialog.
|
||||||
|
@ -442,10 +442,10 @@ Instead, on the `onLoadStop` WebView event, you can use `callHandler` directly:
|
||||||
* `onReceivedServerTrustAuthRequest`: Event fired when the WebView need to perform server trust authentication (certificate validation).
|
* `onReceivedServerTrustAuthRequest`: Event fired when the WebView need to perform server trust authentication (certificate validation).
|
||||||
* `onReceivedClientCertRequest`: Notify the host application to handle an SSL client certificate request.
|
* `onReceivedClientCertRequest`: Notify the host application to handle an SSL client certificate request.
|
||||||
* `onFindResultReceived`: Event fired as find-on-page operations progress.
|
* `onFindResultReceived`: Event fired as find-on-page operations progress.
|
||||||
* `shouldInterceptAjaxRequest`: Event fired when an `XMLHttpRequest` is sent to a server.
|
* `shouldInterceptAjaxRequest`: Event fired when an `XMLHttpRequest` is sent to a server (to use this event, the `useShouldInterceptAjaxRequest` option must be `true`).
|
||||||
* `onAjaxReadyStateChange`: Event fired whenever the `readyState` attribute of an `XMLHttpRequest` changes.
|
* `onAjaxReadyStateChange`: Event fired whenever the `readyState` attribute of an `XMLHttpRequest` changes (to use this event, the `useShouldInterceptAjaxRequest` option must be `true`).
|
||||||
* `onAjaxProgress`: Event fired as an `XMLHttpRequest` progress.
|
* `onAjaxProgress`: Event fired as an `XMLHttpRequest` progress (to use this event, the `useShouldInterceptAjaxRequest` option must be `true`).
|
||||||
* `shouldInterceptFetchRequest`: Event fired when a request is sent to a server through [Fetch API](https://developer.mozilla.org/it/docs/Web/API/Fetch_API).
|
* `shouldInterceptFetchRequest`: Event fired when a request is sent to a server through [Fetch API](https://developer.mozilla.org/it/docs/Web/API/Fetch_API) (to use this event, the `useShouldInterceptFetchRequest` option must be `true`).
|
||||||
* `onNavigationStateChange`: Event fired when the navigation state of the InAppWebView changes.
|
* `onNavigationStateChange`: Event fired when the navigation state of the InAppWebView changes.
|
||||||
* `onPermissionRequest`: Event fired when the webview is requesting permission to access the specified resources and the permission currently isn't granted or denied (available only on Android).
|
* `onPermissionRequest`: Event fired when the webview is requesting permission to access the specified resources and the permission currently isn't granted or denied (available only on Android).
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,8 @@ public class FlutterWebView implements PlatformView, MethodCallHandler {
|
||||||
String mimeType = initialData.get("mimeType");
|
String mimeType = initialData.get("mimeType");
|
||||||
String encoding = initialData.get("encoding");
|
String encoding = initialData.get("encoding");
|
||||||
String baseUrl = initialData.get("baseUrl");
|
String baseUrl = initialData.get("baseUrl");
|
||||||
webView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, null);
|
String historyUrl = initialData.get("historyUrl");
|
||||||
|
webView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
webView.loadUrl(initialUrl, initialHeaders);
|
webView.loadUrl(initialUrl, initialHeaders);
|
||||||
|
@ -117,9 +118,10 @@ public class FlutterWebView implements PlatformView, MethodCallHandler {
|
||||||
String mimeType = (String) call.argument("mimeType");
|
String mimeType = (String) call.argument("mimeType");
|
||||||
String encoding = (String) call.argument("encoding");
|
String encoding = (String) call.argument("encoding");
|
||||||
String baseUrl = (String) call.argument("baseUrl");
|
String baseUrl = (String) call.argument("baseUrl");
|
||||||
|
String historyUrl = (String) call.argument("historyUrl");
|
||||||
|
|
||||||
if (webView != null)
|
if (webView != null)
|
||||||
webView.loadData(data, mimeType, encoding, baseUrl, result);
|
webView.loadData(data, mimeType, encoding, baseUrl, historyUrl, result);
|
||||||
else
|
else
|
||||||
result.success(false);
|
result.success(false);
|
||||||
}
|
}
|
||||||
|
@ -300,6 +302,38 @@ public class FlutterWebView implements PlatformView, MethodCallHandler {
|
||||||
}
|
}
|
||||||
result.success(true);
|
result.success(true);
|
||||||
break;
|
break;
|
||||||
|
case "pause":
|
||||||
|
if (webView != null) {
|
||||||
|
webView.onPause();
|
||||||
|
result.success(true);
|
||||||
|
} else {
|
||||||
|
result.success(false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "resume":
|
||||||
|
if (webView != null) {
|
||||||
|
webView.onResume();
|
||||||
|
result.success(true);
|
||||||
|
} else {
|
||||||
|
result.success(false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "pauseTimers":
|
||||||
|
if (webView != null) {
|
||||||
|
webView.pauseTimers();
|
||||||
|
result.success(true);
|
||||||
|
} else {
|
||||||
|
result.success(false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "resumeTimers":
|
||||||
|
if (webView != null) {
|
||||||
|
webView.resumeTimers();
|
||||||
|
result.success(true);
|
||||||
|
} else {
|
||||||
|
result.success(false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
result.notImplemented();
|
result.notImplemented();
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,7 +153,8 @@ public class InAppBrowser implements MethodChannel.MethodCallHandler {
|
||||||
String mimeType = (String) call.argument("mimeType");
|
String mimeType = (String) call.argument("mimeType");
|
||||||
String encoding = (String) call.argument("encoding");
|
String encoding = (String) call.argument("encoding");
|
||||||
String baseUrl = (String) call.argument("baseUrl");
|
String baseUrl = (String) call.argument("baseUrl");
|
||||||
openData(activity, uuid, options, data, mimeType, encoding, baseUrl);
|
String historyUrl = (String) call.argument("historyUrl");
|
||||||
|
openData(activity, uuid, options, data, mimeType, encoding, baseUrl, historyUrl);
|
||||||
result.success(true);
|
result.success(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -180,7 +181,8 @@ public class InAppBrowser implements MethodChannel.MethodCallHandler {
|
||||||
String mimeType = (String) call.argument("mimeType");
|
String mimeType = (String) call.argument("mimeType");
|
||||||
String encoding = (String) call.argument("encoding");
|
String encoding = (String) call.argument("encoding");
|
||||||
String baseUrl = (String) call.argument("baseUrl");
|
String baseUrl = (String) call.argument("baseUrl");
|
||||||
loadData(uuid, data, mimeType, encoding, baseUrl, result);
|
String historyUrl = (String) call.argument("historyUrl");
|
||||||
|
loadData(uuid, data, mimeType, encoding, baseUrl, historyUrl, result);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "loadFile":
|
case "loadFile":
|
||||||
|
@ -460,7 +462,7 @@ public class InAppBrowser implements MethodChannel.MethodCallHandler {
|
||||||
result.error(LOG_TAG, "No WebView fallback declared.", null);
|
result.error(LOG_TAG, "No WebView fallback declared.", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openData(Activity activity, String uuid, HashMap<String, Object> options, String data, String mimeType, String encoding, String baseUrl) {
|
public void openData(Activity activity, String uuid, HashMap<String, Object> options, String data, String mimeType, String encoding, String baseUrl, String historyUrl) {
|
||||||
Intent intent = new Intent(activity, InAppBrowserActivity.class);
|
Intent intent = new Intent(activity, InAppBrowserActivity.class);
|
||||||
Bundle extras = new Bundle();
|
Bundle extras = new Bundle();
|
||||||
|
|
||||||
|
@ -471,6 +473,7 @@ public class InAppBrowser implements MethodChannel.MethodCallHandler {
|
||||||
extras.putString("mimeType", mimeType);
|
extras.putString("mimeType", mimeType);
|
||||||
extras.putString("encoding", encoding);
|
extras.putString("encoding", encoding);
|
||||||
extras.putString("baseUrl", baseUrl);
|
extras.putString("baseUrl", baseUrl);
|
||||||
|
extras.putString("historyUrl", historyUrl);
|
||||||
|
|
||||||
intent.putExtras(extras);
|
intent.putExtras(extras);
|
||||||
activity.startActivity(intent);
|
activity.startActivity(intent);
|
||||||
|
@ -513,10 +516,10 @@ public class InAppBrowser implements MethodChannel.MethodCallHandler {
|
||||||
inAppBrowserActivity.postUrl(url, postData, result);
|
inAppBrowserActivity.postUrl(url, postData, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadData(String uuid, String data, String mimeType, String encoding, String baseUrl, Result result) {
|
public void loadData(String uuid, String data, String mimeType, String encoding, String baseUrl, String historyUrl, Result result) {
|
||||||
InAppBrowserActivity inAppBrowserActivity = webViewActivities.get(uuid);
|
InAppBrowserActivity inAppBrowserActivity = webViewActivities.get(uuid);
|
||||||
if (inAppBrowserActivity != null)
|
if (inAppBrowserActivity != null)
|
||||||
inAppBrowserActivity.loadData(data, mimeType, encoding, baseUrl, result);
|
inAppBrowserActivity.loadData(data, mimeType, encoding, baseUrl, historyUrl, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadFile(String uuid, String url, Map<String, String> headers, Result result) {
|
public void loadFile(String uuid, String url, Map<String, String> headers, Result result) {
|
||||||
|
|
|
@ -88,7 +88,8 @@ public class InAppBrowserActivity extends AppCompatActivity {
|
||||||
String mimeType = b.getString("mimeType");
|
String mimeType = b.getString("mimeType");
|
||||||
String encoding = b.getString("encoding");
|
String encoding = b.getString("encoding");
|
||||||
String baseUrl = b.getString("baseUrl");
|
String baseUrl = b.getString("baseUrl");
|
||||||
webView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, null);
|
String historyUrl = b.getString("historyUrl");
|
||||||
|
webView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Object> obj = new HashMap<>();
|
Map<String, Object> obj = new HashMap<>();
|
||||||
|
@ -228,9 +229,9 @@ public class InAppBrowserActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadData(String data, String mimeType, String encoding, String baseUrl, MethodChannel.Result result) {
|
public void loadData(String data, String mimeType, String encoding, String baseUrl, String historyUrl, MethodChannel.Result result) {
|
||||||
if (webView != null) {
|
if (webView != null) {
|
||||||
webView.loadData(data, mimeType, encoding, baseUrl, result);
|
webView.loadData(data, mimeType, encoding, baseUrl, historyUrl, result);
|
||||||
} else {
|
} else {
|
||||||
result.error(LOG_TAG, "webView is null", null);
|
result.error(LOG_TAG, "webView is null", null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -794,8 +794,8 @@ final public class InAppWebView extends InputAwareWebView {
|
||||||
result.success(true);
|
result.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadData(String data, String mimeType, String encoding, String baseUrl, MethodChannel.Result result) {
|
public void loadData(String data, String mimeType, String encoding, String baseUrl, String historyUrl, MethodChannel.Result result) {
|
||||||
loadDataWithBaseURL(baseUrl, data, mimeType, encoding, null);
|
loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);
|
||||||
result.success(true);
|
result.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,16 @@ public class InAppWebViewChromeClient extends WebChromeClient implements PluginR
|
||||||
this.mCustomViewCallback = paramCustomViewCallback;
|
this.mCustomViewCallback = paramCustomViewCallback;
|
||||||
this.mCustomView.setBackgroundColor(Color.parseColor("#000000"));
|
this.mCustomView.setBackgroundColor(Color.parseColor("#000000"));
|
||||||
((FrameLayout) decorView).addView(this.mCustomView, new FrameLayout.LayoutParams(-1, -1));
|
((FrameLayout) decorView).addView(this.mCustomView, new FrameLayout.LayoutParams(-1, -1));
|
||||||
decorView.setSystemUiVisibility(3846 | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
|
decorView.setSystemUiVisibility(
|
||||||
|
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
||||||
|
// Set the content to appear under the system bars so that the
|
||||||
|
// content doesn't resize when the system bars hide and show.
|
||||||
|
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||||
|
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||||
|
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||||
|
// Hide the nav bar and status bar
|
||||||
|
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||||
|
| View.SYSTEM_UI_FLAG_FULLSCREEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
<title>Flutter InAppBrowser</title>
|
<title>Flutter InAppWebView</title>
|
||||||
<link rel="stylesheet" href="https://getbootstrap.com/docs/4.3/dist/css/bootstrap.min.css">
|
<link rel="stylesheet" href="https://getbootstrap.com/docs/4.3/dist/css/bootstrap.min.css">
|
||||||
<link rel="stylesheet" href="css/style.css">
|
<link rel="stylesheet" href="css/style.css">
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
|
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
<div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column">
|
<div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column">
|
||||||
<header class="masthead mb-auto">
|
<header class="masthead mb-auto">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3 class="masthead-brand">Flutter InAppBrowser</h3>
|
<h3 class="masthead-brand">Flutter InAppWebView</h3>
|
||||||
<nav class="nav nav-masthead justify-content-center">
|
<nav class="nav nav-masthead justify-content-center">
|
||||||
<a class="nav-link active" href="index.html">Home</a>
|
<a class="nav-link active" href="index.html">Home</a>
|
||||||
<a class="nav-link" href="page-1.html">Page 1</a>
|
<a class="nav-link" href="page-1.html">Page 1</a>
|
||||||
|
@ -37,5 +37,6 @@
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
<script src="js/main.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -0,0 +1,4 @@
|
||||||
|
function add(a, b) {
|
||||||
|
return a + b;
|
||||||
|
}
|
||||||
|
console.log(add(10, 20));
|
|
@ -46,6 +46,7 @@ flutter:
|
||||||
- assets/index.html
|
- assets/index.html
|
||||||
- assets/page-1.html
|
- assets/page-1.html
|
||||||
- assets/page-2.html
|
- assets/page-2.html
|
||||||
|
- assets/js/
|
||||||
- assets/css/
|
- assets/css/
|
||||||
- assets/images/
|
- assets/images/
|
||||||
- assets/favicon.ico
|
- assets/favicon.ico
|
||||||
|
|
|
@ -318,6 +318,18 @@ public class FlutterWebViewController: NSObject, FlutterPlatformView {
|
||||||
}
|
}
|
||||||
result(true)
|
result(true)
|
||||||
break
|
break
|
||||||
|
case "pauseTimers":
|
||||||
|
if webView != nil {
|
||||||
|
webView!.pauseTimers()
|
||||||
|
}
|
||||||
|
result(true)
|
||||||
|
break
|
||||||
|
case "resumeTimers":
|
||||||
|
if webView != nil {
|
||||||
|
webView!.resumeTimers()
|
||||||
|
}
|
||||||
|
result(true)
|
||||||
|
break
|
||||||
case "removeFromSuperview":
|
case "removeFromSuperview":
|
||||||
webView!.removeFromSuperview()
|
webView!.removeFromSuperview()
|
||||||
result(true)
|
result(true)
|
||||||
|
|
|
@ -689,6 +689,8 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate, WKNavi
|
||||||
static var credentialsProposed: [URLCredential] = []
|
static var credentialsProposed: [URLCredential] = []
|
||||||
var lastScrollX: CGFloat = 0
|
var lastScrollX: CGFloat = 0
|
||||||
var lastScrollY: CGFloat = 0
|
var lastScrollY: CGFloat = 0
|
||||||
|
var isPausedTimers = false
|
||||||
|
var isPausedTimersCompletionHandler: (() -> Void)?
|
||||||
|
|
||||||
init(frame: CGRect, configuration: WKWebViewConfiguration, IABController: InAppBrowserWebViewController?, IAWController: FlutterWebViewController?) {
|
init(frame: CGRect, configuration: WKWebViewConfiguration, IABController: InAppBrowserWebViewController?, IAWController: FlutterWebViewController?) {
|
||||||
|
|
||||||
|
@ -705,6 +707,7 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate, WKNavi
|
||||||
}
|
}
|
||||||
|
|
||||||
public func prepare() {
|
public func prepare() {
|
||||||
|
|
||||||
addObserver(self,
|
addObserver(self,
|
||||||
forKeyPath: #keyPath(WKWebView.estimatedProgress),
|
forKeyPath: #keyPath(WKWebView.estimatedProgress),
|
||||||
options: .new,
|
options: .new,
|
||||||
|
@ -1632,6 +1635,11 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate, WKNavi
|
||||||
public func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String,
|
public func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String,
|
||||||
initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping () -> Void) {
|
initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping () -> Void) {
|
||||||
|
|
||||||
|
if (isPausedTimers) {
|
||||||
|
isPausedTimersCompletionHandler = completionHandler
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
onJsAlert(message: message, result: {(result) -> Void in
|
onJsAlert(message: message, result: {(result) -> Void in
|
||||||
if result is FlutterError {
|
if result is FlutterError {
|
||||||
print((result as! FlutterError).message)
|
print((result as! FlutterError).message)
|
||||||
|
@ -2134,29 +2142,44 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate, WKNavi
|
||||||
return (IABController != nil) ? SwiftFlutterPlugin.instance!.channel! : ((IAWController != nil) ? IAWController!.channel! : nil);
|
return (IABController != nil) ? SwiftFlutterPlugin.instance!.channel! : ((IAWController != nil) ? IAWController!.channel! : nil);
|
||||||
}
|
}
|
||||||
|
|
||||||
func findAllAsync(find: String?, completionHandler: ((Any?, Error?) -> Void)?) {
|
public func findAllAsync(find: String?, completionHandler: ((Any?, Error?) -> Void)?) {
|
||||||
let startSearch = "wkwebview_FindAllAsync('\(find ?? "")');"
|
let startSearch = "wkwebview_FindAllAsync('\(find ?? "")');"
|
||||||
evaluateJavaScript(startSearch, completionHandler: completionHandler)
|
evaluateJavaScript(startSearch, completionHandler: completionHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
func findNext(forward: Bool, completionHandler: ((Any?, Error?) -> Void)?) {
|
public func findNext(forward: Bool, completionHandler: ((Any?, Error?) -> Void)?) {
|
||||||
evaluateJavaScript("wkwebview_FindNext(\(forward ? "true" : "false"));", completionHandler: completionHandler)
|
evaluateJavaScript("wkwebview_FindNext(\(forward ? "true" : "false"));", completionHandler: completionHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
func clearMatches(completionHandler: ((Any?, Error?) -> Void)?) {
|
public func clearMatches(completionHandler: ((Any?, Error?) -> Void)?) {
|
||||||
evaluateJavaScript("wkwebview_ClearMatches();", completionHandler: completionHandler)
|
evaluateJavaScript("wkwebview_ClearMatches();", completionHandler: completionHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
func scrollTo(x: Int, y: Int) {
|
public func scrollTo(x: Int, y: Int) {
|
||||||
scrollView.setContentOffset(CGPoint(x: x, y: y), animated: false)
|
scrollView.setContentOffset(CGPoint(x: x, y: y), animated: false)
|
||||||
}
|
}
|
||||||
|
|
||||||
func scrollBy(x: Int, y: Int) {
|
public func scrollBy(x: Int, y: Int) {
|
||||||
let newX = CGFloat(x) + scrollView.contentOffset.x
|
let newX = CGFloat(x) + scrollView.contentOffset.x
|
||||||
let newY = CGFloat(y) + scrollView.contentOffset.y
|
let newY = CGFloat(y) + scrollView.contentOffset.y
|
||||||
scrollView.setContentOffset(CGPoint(x: newX, y: newY), animated: false)
|
scrollView.setContentOffset(CGPoint(x: newX, y: newY), animated: false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public func pauseTimers() {
|
||||||
|
isPausedTimers = true
|
||||||
|
let script = "alert();";
|
||||||
|
self.evaluateJavaScript(script, completionHandler: nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
public func resumeTimers() {
|
||||||
|
if let completionHandler = isPausedTimersCompletionHandler {
|
||||||
|
completionHandler()
|
||||||
|
isPausedTimersCompletionHandler = nil
|
||||||
|
}
|
||||||
|
isPausedTimers = false
|
||||||
|
}
|
||||||
|
|
||||||
public override func removeFromSuperview() {
|
public override func removeFromSuperview() {
|
||||||
configuration.userContentController.removeScriptMessageHandler(forName: "consoleLog")
|
configuration.userContentController.removeScriptMessageHandler(forName: "consoleLog")
|
||||||
configuration.userContentController.removeScriptMessageHandler(forName: "consoleDebug")
|
configuration.userContentController.removeScriptMessageHandler(forName: "consoleDebug")
|
||||||
|
@ -2175,5 +2198,6 @@ public class InAppWebView: WKWebView, UIScrollViewDelegate, WKUIDelegate, WKNavi
|
||||||
IAWController?.channel?.setMethodCallHandler(nil)
|
IAWController?.channel?.setMethodCallHandler(nil)
|
||||||
IABController?.webView = nil
|
IABController?.webView = nil
|
||||||
IAWController?.webView = nil
|
IAWController?.webView = nil
|
||||||
|
isPausedTimersCompletionHandler = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,9 +162,11 @@ class InAppBrowser {
|
||||||
|
|
||||||
///Opens a new [InAppBrowser] instance with [data] as a content, using [baseUrl] as the base URL for it.
|
///Opens a new [InAppBrowser] instance with [data] as a content, using [baseUrl] as the base URL for it.
|
||||||
///
|
///
|
||||||
///The [mimeType] parameter specifies the format of the data.
|
///The [mimeType] parameter specifies the format of the data. The default value is `"text/html"`.
|
||||||
///
|
///
|
||||||
///The [encoding] parameter specifies the encoding of the data.
|
///The [encoding] parameter specifies the encoding of the data. The default value is `"utf8"`.
|
||||||
|
///
|
||||||
|
///The [historyUrl] parameter is the URL to use as the history entry. The default value is `about:blank`. If non-null, this must be a valid URL. This parameter is used only on Android.
|
||||||
///
|
///
|
||||||
///The [options] parameter specifies the options for the [InAppBrowser].
|
///The [options] parameter specifies the options for the [InAppBrowser].
|
||||||
Future<void> openData(
|
Future<void> openData(
|
||||||
|
@ -172,6 +174,7 @@ class InAppBrowser {
|
||||||
String mimeType = "text/html",
|
String mimeType = "text/html",
|
||||||
String encoding = "utf8",
|
String encoding = "utf8",
|
||||||
String baseUrl = "about:blank",
|
String baseUrl = "about:blank",
|
||||||
|
String historyUrl = "about:blank",
|
||||||
InAppBrowserClassOptions options}) async {
|
InAppBrowserClassOptions options}) async {
|
||||||
assert(data != null);
|
assert(data != null);
|
||||||
|
|
||||||
|
|
|
@ -1115,13 +1115,18 @@ class InAppWebViewController {
|
||||||
}
|
}
|
||||||
|
|
||||||
///Loads the given [data] into this WebView, using [baseUrl] as the base URL for the content.
|
///Loads the given [data] into this WebView, using [baseUrl] as the base URL for the content.
|
||||||
///The [mimeType] parameter specifies the format of the data.
|
///
|
||||||
///The [encoding] parameter specifies the encoding of the data.
|
///The [mimeType] parameter specifies the format of the data. The default value is `"text/html"`.
|
||||||
|
///
|
||||||
|
///The [encoding] parameter specifies the encoding of the data. The default value is `"utf8"`.
|
||||||
|
///
|
||||||
|
///The [historyUrl] parameter is the URL to use as the history entry. The default value is `about:blank`. If non-null, this must be a valid URL. This parameter is used only on Android.
|
||||||
Future<void> loadData(
|
Future<void> loadData(
|
||||||
{@required String data,
|
{@required String data,
|
||||||
String mimeType = "text/html",
|
String mimeType = "text/html",
|
||||||
String encoding = "utf8",
|
String encoding = "utf8",
|
||||||
String baseUrl = "about:blank"}) async {
|
String baseUrl = "about:blank",
|
||||||
|
String historyUrl = "about:blank"}) async {
|
||||||
assert(data != null);
|
assert(data != null);
|
||||||
Map<String, dynamic> args = <String, dynamic>{};
|
Map<String, dynamic> args = <String, dynamic>{};
|
||||||
if (_inAppBrowserUuid != null && _inAppBrowser != null) {
|
if (_inAppBrowserUuid != null && _inAppBrowser != null) {
|
||||||
|
@ -1132,6 +1137,7 @@ class InAppWebViewController {
|
||||||
args.putIfAbsent('mimeType', () => mimeType);
|
args.putIfAbsent('mimeType', () => mimeType);
|
||||||
args.putIfAbsent('encoding', () => encoding);
|
args.putIfAbsent('encoding', () => encoding);
|
||||||
args.putIfAbsent('baseUrl', () => baseUrl);
|
args.putIfAbsent('baseUrl', () => baseUrl);
|
||||||
|
args.putIfAbsent('historyUrl', () => historyUrl);
|
||||||
await _channel.invokeMethod('loadData', args);
|
await _channel.invokeMethod('loadData', args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1673,6 +1679,51 @@ class InAppWebViewController {
|
||||||
await _channel.invokeMethod('scrollBy', args);
|
await _channel.invokeMethod('scrollBy', args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///Does a best-effort attempt to pause any processing that can be paused safely, such as animations and geolocation. Note that this call does not pause JavaScript.
|
||||||
|
///To pause JavaScript globally, use [pauseTimers()]. To resume WebView, call [resume()].
|
||||||
|
///
|
||||||
|
///**NOTE**: available only on Android.
|
||||||
|
Future<void> pause() async {
|
||||||
|
Map<String, dynamic> args = <String, dynamic>{};
|
||||||
|
if (_inAppBrowserUuid != null && _inAppBrowser != null) {
|
||||||
|
_inAppBrowser.throwIsNotOpened();
|
||||||
|
args.putIfAbsent('uuid', () => _inAppBrowserUuid);
|
||||||
|
}
|
||||||
|
await _channel.invokeMethod('pause', args);
|
||||||
|
}
|
||||||
|
|
||||||
|
///Resumes a WebView after a previous call to [pause()].
|
||||||
|
///
|
||||||
|
///**NOTE**: available only on Android.
|
||||||
|
Future<void> resume() async {
|
||||||
|
Map<String, dynamic> args = <String, dynamic>{};
|
||||||
|
if (_inAppBrowserUuid != null && _inAppBrowser != null) {
|
||||||
|
_inAppBrowser.throwIsNotOpened();
|
||||||
|
args.putIfAbsent('uuid', () => _inAppBrowserUuid);
|
||||||
|
}
|
||||||
|
await _channel.invokeMethod('resume', args);
|
||||||
|
}
|
||||||
|
|
||||||
|
///Pauses all layout, parsing, and JavaScript timers for all WebViews. This is a global requests, not restricted to just this WebView. This can be useful if the application has been paused.
|
||||||
|
Future<void> pauseTimers() async {
|
||||||
|
Map<String, dynamic> args = <String, dynamic>{};
|
||||||
|
if (_inAppBrowserUuid != null && _inAppBrowser != null) {
|
||||||
|
_inAppBrowser.throwIsNotOpened();
|
||||||
|
args.putIfAbsent('uuid', () => _inAppBrowserUuid);
|
||||||
|
}
|
||||||
|
await _channel.invokeMethod('pauseTimers', args);
|
||||||
|
}
|
||||||
|
|
||||||
|
///Resumes all layout, parsing, and JavaScript timers for all WebViews. This will resume dispatching all timers.
|
||||||
|
Future<void> resumeTimers() async {
|
||||||
|
Map<String, dynamic> args = <String, dynamic>{};
|
||||||
|
if (_inAppBrowserUuid != null && _inAppBrowser != null) {
|
||||||
|
_inAppBrowser.throwIsNotOpened();
|
||||||
|
args.putIfAbsent('uuid', () => _inAppBrowserUuid);
|
||||||
|
}
|
||||||
|
await _channel.invokeMethod('resumeTimers', args);
|
||||||
|
}
|
||||||
|
|
||||||
/*Future<void> dispose() async {
|
/*Future<void> dispose() async {
|
||||||
Map<String, dynamic> args = <String, dynamic>{};
|
Map<String, dynamic> args = <String, dynamic>{};
|
||||||
if (Platform.isIOS)
|
if (Platform.isIOS)
|
||||||
|
|
|
@ -82,26 +82,36 @@ class LoadedResource {
|
||||||
}
|
}
|
||||||
|
|
||||||
///Initial [data] as a content for an [InAppWebView] instance, using [baseUrl] as the base URL for it.
|
///Initial [data] as a content for an [InAppWebView] instance, using [baseUrl] as the base URL for it.
|
||||||
///The [mimeType] property specifies the format of the data.
|
|
||||||
///The [encoding] property specifies the encoding of the data.
|
|
||||||
class InAppWebViewInitialData {
|
class InAppWebViewInitialData {
|
||||||
|
///A String of data in the given encoding.
|
||||||
String data;
|
String data;
|
||||||
|
|
||||||
|
///The MIME type of the data, e.g. "text/html". The default value is `"text/html"`.
|
||||||
String mimeType;
|
String mimeType;
|
||||||
|
|
||||||
|
///The encoding of the data. The default value is `"utf8"`.
|
||||||
String encoding;
|
String encoding;
|
||||||
|
|
||||||
|
///The URL to use as the page's base URL. The default value is `about:blank`.
|
||||||
String baseUrl;
|
String baseUrl;
|
||||||
|
|
||||||
|
///The URL to use as the history entry. The default value is `about:blank`. If non-null, this must be a valid URL. This parameter is used only on Android.
|
||||||
|
String historyUrl;
|
||||||
|
|
||||||
InAppWebViewInitialData(
|
InAppWebViewInitialData(
|
||||||
{@required this.data,
|
{@required this.data,
|
||||||
this.mimeType = "text/html",
|
this.mimeType = "text/html",
|
||||||
this.encoding = "utf8",
|
this.encoding = "utf8",
|
||||||
this.baseUrl = "about:blank"});
|
this.baseUrl = "about:blank",
|
||||||
|
this.historyUrl = "about:blank"});
|
||||||
|
|
||||||
Map<String, String> toMap() {
|
Map<String, String> toMap() {
|
||||||
return {
|
return {
|
||||||
"data": data,
|
"data": data,
|
||||||
"mimeType": mimeType,
|
"mimeType": mimeType,
|
||||||
"encoding": encoding,
|
"encoding": encoding,
|
||||||
"baseUrl": baseUrl
|
"baseUrl": baseUrl,
|
||||||
|
"historyUrl": historyUrl
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,6 +94,11 @@ appAuthBasic.use((req, res, next) => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
appAuthBasic.use(express.static(__dirname + '/public'));
|
||||||
|
appAuthBasic.get('/test-index', (req, res) => {
|
||||||
|
res.sendFile(__dirname + '/public/index.html');
|
||||||
|
});
|
||||||
|
|
||||||
appAuthBasic.get("/", (req, res) => {
|
appAuthBasic.get("/", (req, res) => {
|
||||||
console.log(JSON.stringify(req.headers))
|
console.log(JSON.stringify(req.headers))
|
||||||
res.send(`
|
res.send(`
|
||||||
|
@ -120,6 +125,11 @@ app.use(cors());
|
||||||
// Parse JSON bodies (as sent by API clients)
|
// Parse JSON bodies (as sent by API clients)
|
||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
|
|
||||||
|
app.use(express.static(__dirname + '/public'));
|
||||||
|
app.get('/test-index', (req, res) => {
|
||||||
|
res.sendFile(__dirname + '/public/index.html');
|
||||||
|
});
|
||||||
|
|
||||||
app.get("/", (req, res) => {
|
app.get("/", (req, res) => {
|
||||||
console.log(JSON.stringify(req.headers))
|
console.log(JSON.stringify(req.headers))
|
||||||
res.send(`
|
res.send(`
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
body {
|
||||||
|
background: yellow;
|
||||||
|
color: #333;
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Flutter InAppWebView</title>
|
||||||
|
<link rel="stylesheet" href="css/style.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>TEST</p>
|
||||||
|
<div id="test"></div>
|
||||||
|
<script src="js/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1 @@
|
||||||
|
document.querySelector("#test").innerHTML = "this is a test";
|
|
@ -1,6 +1,6 @@
|
||||||
name: flutter_inappwebview
|
name: flutter_inappwebview
|
||||||
description: A Flutter plugin that allows you to add an inline webview or open an in-app browser window.
|
description: A Flutter plugin that allows you to add an inline webview or open an in-app browser window.
|
||||||
version: 2.0.1+1
|
version: 2.1.0
|
||||||
author: Lorenzo Pichilli <pichillilorenzo@gmail.com>
|
author: Lorenzo Pichilli <pichillilorenzo@gmail.com>
|
||||||
homepage: https://github.com/pichillilorenzo/flutter_inappwebview
|
homepage: https://github.com/pichillilorenzo/flutter_inappwebview
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue