iosWebViewFix/CHANGELOG.md

18 KiB

3.0.0

  • Added Promise javascript polyfill for webviews that doesn't support it for window.flutter_inappwebview.callHandler
  • Added getDefaultUserAgent static method to InAppWebViewController
  • Added onUpdateVisitedHistory, onPrint event
  • Added onGeolocationPermissionsHidePrompt event for Android
  • Added supportMultipleWindows webview option for Android
  • Added regexToCancelSubFramesLoading webview option for Android to cancel subframe requests on shouldOverrideUrlLoading event based on a Regular Expression
  • Added getContentHeight, zoomBy, printCurrentPage, getScale methods
  • Added getOriginalUrl webview method for Android
  • Added reloadFromOrigin webview method for iOS
  • Added automaticallyAdjustsScrollIndicatorInsets webview options for iOS
  • Added WebStorageManager class which manages the web storage used by WebView instances
  • Updated for Flutter 1.12 new Java Embedding API (Android)
  • Updated clearCache for Android
  • Updated default value for domStorageEnabled and databaseEnabled options to true for Android
  • Merge "Fixes null error when calling getOptions for InAppBrowser class" #214 (thanks to panndoraBoo)
  • Merge "Fixes crash onConsoleMessage iOS forced unwrapping" #228 (thanks to tokonu)
  • Fix for Android and iOS InAppBrowser for some controller methods not exposed.
  • Fixed "App Crashes after clicking on dropdown (Using inappwebview)" #182
  • Fixed "webview can not be released when in ios" #225. Now the iOS WebView is released from memory when it is disposed from Flutter.

BREAKING CHANGES

  • Updated shouldOverrideUrlLoading event:
    • the url parameter has been moved inside an instance of ShouldOverrideUrlLoadingRequest class
    • it has a return type ShouldOverrideUrlLoadingAction to allow or cancel navigation instead of cancel every time the request
  • Renamed onTargetBlank to onCreateWindow
  • Deleted useOnTargetBlank webview option
  • Making methods available only for the specific platform more explicit: moved all the webview's controller methods for Android inside controller.android and all the webview's controller methods for iOS inside controller.ios
  • Making events available only for the specific platform more explicit:
    • Renamed onSafeBrowsingHit to androidOnSafeBrowsingHit
    • Renamed onGeolocationPermissionsShowPrompt to androidOnGeolocationPermissionsShowPrompt
    • Renamed onPermissionRequest to androidOnPermissionRequest
  • Updated attribute names for InAppWebViewWidgetOptions, InAppBrowserClassOptions and ChromeSafariBrowserClassOptions classes
  • Renamed and updated onNavigationStateChange to onUpdateVisitedHistory
  • Renamed all iOS options prefix from Ios to IOS

2.1.0+1

  • Fix docs

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
  • Fix "System ui (status bar and navigation bar) doesn't hide automatically" #202

2.0.1+1

  • Fixed error "java.lang.ClassCastException: $Proxy1 cannot be cast to android.view.WindowManagerImpl" on Android when using native alert dialogs

2.0.1

  • Added onPermissionRequest event. This event is 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).

2.0.0

  • Merge "Avoid null pointer exception after webview is disposed" #116 (thanks to robsonfingo)
  • Merge "Remove async call in close" #119 (thanks to benfingo)
  • Merge "Android takeScreenshot does not work properly." #122 (thanks to PauloMelo)
  • Merge "Resolving gradle error." #144 (thanks to Klingens13)
  • Merge "Create issue and pull request templates" #150 (thanks to deandreamatias)
  • Merge "Fix abstract method error && swift version error" #155 (thanks to AlexVincent525)
  • Merge "migrating to swift 5.0" #162 (thanks to fattiger00)
  • Merge "Update readme example" #178 (thanks to SebastienBtr)
  • Merge "handle choose file callback in android" #183 (thanks to crazecoder)
  • Merge "add initialScale in android" #186 (thanks to crazecoder)
  • Added horizontalScrollBarEnabled and verticalScrollBarEnabled options to enable/disable the corresponding scrollbar of the WebView #165
  • Added onDownloadStart event and useOnDownloadStart option: event fires when the WebView recognizes and starts a downloadable file.
  • Added onLoadResourceCustomScheme event and resourceCustomSchemes option to set custom schemes that WebView must handle to load resources
  • Added onTargetBlank event and useOnTargetBlank option to manage links with target="_blank"
  • Added ContentBlocker, ContentBlockerTrigger and ContentBlockerAction classes and the contentBlockers option that allows to define a set of rules to use to block content in the WebView
  • Added new WebView options: minimumFontSize, debuggingEnabled, preferredContentMode, applicationNameForUserAgent, incognito, cacheEnabled, disableVerticalScroll, disableHorizontalScroll
  • Added new Android WebView options: allowContentAccess, allowFileAccess, allowFileAccessFromFileURLs, allowUniversalAccessFromFileURLs, appCachePath, blockNetworkImage, blockNetworkLoads, cacheMode, cursiveFontFamily, defaultFixedFontSize, defaultFontSize, defaultTextEncodingName, disabledActionModeMenuItems, fantasyFontFamily, fixedFontFamily, forceDark, geolocationEnabled, layoutAlgorithm, loadWithOverviewMode, loadsImagesAutomatically, minimumLogicalFontSize, needInitialFocus, offscreenPreRaster, sansSerifFontFamily, serifFontFamily, standardFontFamily, saveFormData, thirdPartyCookiesEnabled, hardwareAcceleration
  • Added new iOS WebView options: isFraudulentWebsiteWarningEnabled, selectionGranularity, dataDetectorTypes, sharedCookiesEnabled
  • Added onGeolocationPermissionsShowPrompt event and GeolocationPermissionShowPromptResponse class (available only for Android)
  • Added startSafeBrowsing, setSafeBrowsingWhitelist and getSafeBrowsingPrivacyPolicyUrl methods (available only for Android)
  • Added clearSslPreferences and clearClientCertPreferences methods (available only for Android)
  • Added onSafeBrowsingHit event (available only for Android)
  • Added onJsAlert, onJsConfirm and onJsPrompt events to manage javascript popup dialogs
  • Added onReceivedHttpAuthRequest event
  • Added clearCache, scrollTo, scrollBy, getHtml, injectJavascriptFileFromAsset and injectCSSFileFromAsset methods method
  • Added HttpAuthCredentialDatabase class
  • Added onReceivedServerTrustAuthRequest and onReceivedClientCertRequest events to manage SSL requests
  • Added onFindResultReceived event, findAllAsync, findNext and clearMatches methods
  • Added shouldInterceptAjaxRequest, onAjaxReadyStateChange, onAjaxProgress and shouldInterceptFetchRequest events with useShouldInterceptAjaxRequest and useShouldInterceptFetchRequest webview options
  • Added onNavigationStateChange and onLoadHttpError events
  • Fun: added getTRexRunnerHtml and getTRexRunnerCss methods to get html (with javascript) and css to recreate the Chromium's t-rex runner game

BREAKING CHANGES

  • Deleted WebResourceRequest class
  • Updated WebResourceResponse class
  • Updated ConsoleMessage class
  • Updated ConsoleMessageLevel class
  • Updated onLoadResource event
  • Updated CookieManager class
  • WebView options are now available with the new corresponding classes: InAppWebViewOptions, AndroidInAppWebViewOptions, iOSInAppWebViewOptions, InAppBrowserOptions, AndroidInAppBrowserOptions, iOSInAppBrowserOptions, AndroidChromeCustomTabsOptions and iOSSafariOptions
  • Renamed getFavicon to getFavicons, now it returns a list of all favicons (List<Favicon>) found
  • Renamed injectScriptFile to injectJavascriptFileFromUrl
  • Renamed injectScriptCode to evaluateJavascript
  • Renamed injectStyleCode to injectCSSCode
  • Renamed injectStyleFile to injectCSSFileFromUrl

1.2.2

  • Merge "added a shared WKProcessPool for webview instances" #198 (thanks to robertcnst)
  • Fixed iOS setCookie.

1.2.1

  • Merge "Add new option to control the contentMode in Android platform" #101 (thanks to DreamBuddy)
  • Merge "Fix crash on xcode 10.2" #107 (thanks to robsonfingo)
  • Merge "Remove headers_build_phase from example's Podfile" #108 (thanks to robsonfingo)
  • Fixed "Make html5 video fullscreen" for Android #43
  • Fixed "AllowsInlineMediaPlayback not working" for iOS #73

1.2.0

  • Merge "Adds a transparentBackground option for iOS and Android" #86 (thanks to matthewlloyd)
  • Merge "The 'open' method requires an options dictionary" #87 (thanks to matthewlloyd)
  • Merge "iOS: Call setNeedsLayout() in scrollViewDidScroll()" #88 (thanks to matthewlloyd)
  • Fixed "java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread." #98 (thanks to DreamBuddy)
  • Fixed "app force close/crash when enabling zoom and repeatedly changing orientation and zoomin zoomout" #93
  • Added displayZoomControls webview option for Android
  • Fixed "Compatibility with other plugins" #80

1.1.3

  • Merge "Add null checks around calls to InAppWebView callbacks" #85 (thanks to matthewlloyd)

1.1.2

  • Fix InAppBrowser crashes the app when i change the page "Lost connection" #74
  • Fix javascript ...args parameter of window.flutter_inappwebview.callHandler()
  • Merge Enable setTextZoom function of Android WebViewSetting #81 (thanks to YouCii)
  • Merge bug fix for android build: Android dependency 'androidx.core:core' has different version for the compile (1.0.0) and runtime (1.0.1) classpath #83 (thanks to cinos1)

1.1.1

  • Fixed README.md and addJavaScriptHandler method documentation

1.1.0

  • Breaking change for addJavaScriptHandler and removeJavaScriptHandler methods.
  • addJavaScriptHandler method can return data to JavaScript using Promise #46
  • added flutterInAppBrowserPlatformReady JavaScript event to wait until the platform is ready #64

1.0.1

  • Fixed Unable to load initialFile on iOS #56
  • Some code cleanup

1.0.0

Breaking changes:

0.6.0

  • added support for iOS inline native WebView integrated in the flutter widget tree
  • updated example folder (thanks to marquesinijatinha)
  • Fixed bug where passing null to expiresDate failed (thanks to Sense545)
  • Fixed iOS error: encode resourceURL (thanks to igtm)
  • Fixed iOS error: Double value cannot be converted to Int because the result would be greater than Int.max in 32-bit devices (thanks to huzhiren)
  • Fixed iOS error: problem in ChromeSafariBrowser (thanks to marquesinijatinha)
  • Fixed Android build error caused by gradle and build gradle versions (thanks to tje3d)
  • Updated uuid dependency to ^2.0.0

0.5.51

  • updated pubspec.yaml
  • updated README.md

0.5.5

  • added getUrl method for the InAppWebViewController class
  • added getTitle method for the InAppWebViewController class
  • added getProgress method for the InAppWebViewController class
  • added getFavicon method for the InAppWebViewController class
  • added onScrollChanged event for the InAppWebViewController and InAppBrowser class
  • added onBrowserCreated event for the InAppBrowser class
  • added openData method for the InAppBrowser class
  • added initialData property for the InAppWebView widget

0.5.4

  • added WebHistory and WebHistoryItem class
  • added getCopyBackForwardList, goBackOrForward, canGoBackOrForward and goTo methods for the InAppWebViewController class

0.5.3

  • added CookieManager class

0.5.2

  • fixed some missing result.success() on Android and iOS
  • added postUrl() method for the InAppWebViewController class
  • added loadData() method for the InAppWebViewController class

0.5.1

  • updated README.md

0.5.0

  • added initial support for Inline WebViews using the InAppWebView widget
  • added InAppBrowser.openFile() method
  • added InAppBrowser.onProgressChanged() event
  • moved InAppBrowser WebView related functions on the InAppWebViewController class
  • added InAppLocalhostServer class
  • added InAppWebView.canGoBack() and InAppWebView.canGoForward() methods
  • removed openWithSystemBrowser and isLocalFile option. Now use the corresponding method
  • code refactoring

0.4.1

  • added InAppBrowser.takeScreenshot()
  • added InAppBrowser.setOptions()
  • added InAppBrowser.getOptions()

0.4.0

  • removed target parameter to InAppBrowser.open() method. To open the url on the system browser, use the openWithSystemBrowser: true option
  • fixes for the _ChannelManager private class
  • fixed EXC_BAD_INSTRUCTION onLoadStart in Swift
  • added openWithSystemBrowser and isLocalFile options
  • added InAppBrowser.openWithSystemBrowser method
  • added InAppBrowser.openOnLocalhost method
  • added InAppBrowser.loadFile method
  • added InAppBrowser.isOpened method

0.3.2

  • fixed WebView.storyboard path for iOS

0.3.1

  • fixed README.md example

0.3.0

  • fixed WebView.storyboard to deployment target 8.0
  • added InAppBrowser.onLoadResource() method. The event fires when the InAppBrowser webview loads a resource
  • added InAppBrowser.addJavaScriptHandler() and InAppBrowser.removeJavaScriptHandler() methods to add/remove javascript message handlers
  • removed keyboardDisplayRequiresUserAction from iOS available options
  • now the url parameter of InAppBrowser.open() is optional. The default value is about:blank

0.2.1

  • added InAppBrowser.onConsoleMessage() method to manage console messages
  • fixed InAppBrowser.injectScriptCode() method when there is not a return value

0.2.0

  • added support of Chrome CustomTabs for Android
  • added support of SFSafariViewController for iOS
  • added the ability to create multiple instances of browsers

0.1.1

  • updated/added new methods
  • updated UI of android/iOS in-app browser
  • code cleanup
  • added new options when opening the in-app browser

0.0.1

Initial release.