- Added
Promise
javascript polyfill for webviews that doesn't support it forwindow.flutter_inappwebview.callHandler
- Added
getDefaultUserAgent
static method toInAppWebViewController
- 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 onshouldOverrideUrlLoading
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
anddatabaseEnabled
options totrue
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.
- Updated
shouldOverrideUrlLoading
event:- the
url
parameter has been moved inside an instance ofShouldOverrideUrlLoadingRequest
class - it has a return type
ShouldOverrideUrlLoadingAction
to allow or cancel navigation instead of cancel every time the request
- the
- Renamed
onTargetBlank
toonCreateWindow
- 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 insidecontroller.ios
- Making events available only for the specific platform more explicit:
- Renamed
onSafeBrowsingHit
toandroidOnSafeBrowsingHit
- Renamed
onGeolocationPermissionsShowPrompt
toandroidOnGeolocationPermissionsShowPrompt
- Renamed
onPermissionRequest
toandroidOnPermissionRequest
- Renamed
- Updated attribute names for
InAppWebViewWidgetOptions
,InAppBrowserClassOptions
andChromeSafariBrowserClassOptions
classes - Renamed and updated
onNavigationStateChange
toonUpdateVisitedHistory
- Renamed all iOS options prefix from
Ios
toIOS
- Fix docs
- Added
pause
andresume
methods for Android. - Added
pauseTimers
andresumeTimers
methods. - Added new
historyUrl
optional parameter forloadData
andopenData
methods andInAppWebViewInitialData
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
- Fixed error "java.lang.ClassCastException: $Proxy1 cannot be cast to android.view.WindowManagerImpl" on Android when using native alert dialogs
- 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).
- 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
andverticalScrollBarEnabled
options to enable/disable the corresponding scrollbar of the WebView #165 - Added
onDownloadStart
event anduseOnDownloadStart
option: event fires when the WebView recognizes and starts a downloadable file. - Added
onLoadResourceCustomScheme
event andresourceCustomSchemes
option to set custom schemes that WebView must handle to load resources - Added
onTargetBlank
event anduseOnTargetBlank
option to manage links withtarget="_blank"
- Added
ContentBlocker
,ContentBlockerTrigger
andContentBlockerAction
classes and thecontentBlockers
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 andGeolocationPermissionShowPromptResponse
class (available only for Android) - Added
startSafeBrowsing
,setSafeBrowsingWhitelist
andgetSafeBrowsingPrivacyPolicyUrl
methods (available only for Android) - Added
clearSslPreferences
andclearClientCertPreferences
methods (available only for Android) - Added
onSafeBrowsingHit
event (available only for Android) - Added
onJsAlert
,onJsConfirm
andonJsPrompt
events to manage javascript popup dialogs - Added
onReceivedHttpAuthRequest
event - Added
clearCache
,scrollTo
,scrollBy
,getHtml
,injectJavascriptFileFromAsset
andinjectCSSFileFromAsset
methods method - Added
HttpAuthCredentialDatabase
class - Added
onReceivedServerTrustAuthRequest
andonReceivedClientCertRequest
events to manage SSL requests - Added
onFindResultReceived
event,findAllAsync
,findNext
andclearMatches
methods - Added
shouldInterceptAjaxRequest
,onAjaxReadyStateChange
,onAjaxProgress
andshouldInterceptFetchRequest
events withuseShouldInterceptAjaxRequest
anduseShouldInterceptFetchRequest
webview options - Added
onNavigationStateChange
andonLoadHttpError
events - Fun: added
getTRexRunnerHtml
andgetTRexRunnerCss
methods to get html (with javascript) and css to recreate the Chromium's t-rex runner game
- 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
andiOSSafariOptions
- Renamed
getFavicon
togetFavicons
, now it returns a list of all favicons (List<Favicon>
) found - Renamed
injectScriptFile
toinjectJavascriptFileFromUrl
- Renamed
injectScriptCode
toevaluateJavascript
- Renamed
injectStyleCode
toinjectCSSCode
- Renamed
injectStyleFile
toinjectCSSFileFromUrl
- Merge "added a shared WKProcessPool for webview instances" #198 (thanks to robertcnst)
- Fixed iOS setCookie.
- 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
- 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
- Merge "Add null checks around calls to InAppWebView callbacks" #85 (thanks to matthewlloyd)
- Fix InAppBrowser crashes the app when i change the page "Lost connection" #74
- Fix javascript
...args
parameter ofwindow.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)
- Fixed README.md and
addJavaScriptHandler
method documentation
- Breaking change for
addJavaScriptHandler
andremoveJavaScriptHandler
methods. addJavaScriptHandler
method can return data to JavaScript usingPromise
#46- added
flutterInAppBrowserPlatformReady
JavaScript event to wait until the platform is ready #64
- Fixed Unable to load initialFile on iOS #56
- Some code cleanup
Breaking changes:
- Fixed Flutter AndroidX compatibility, the latest version that doesn't use
AndroidX
is0.6.0
(thanks to juicycleff).
- 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
- updated
pubspec.yaml
- updated
README.md
- added
getUrl
method for theInAppWebViewController
class - added
getTitle
method for theInAppWebViewController
class - added
getProgress
method for theInAppWebViewController
class - added
getFavicon
method for theInAppWebViewController
class - added
onScrollChanged
event for theInAppWebViewController
andInAppBrowser
class - added
onBrowserCreated
event for theInAppBrowser
class - added
openData
method for theInAppBrowser
class - added
initialData
property for theInAppWebView
widget
- added
WebHistory
andWebHistoryItem
class - added
getCopyBackForwardList
,goBackOrForward
,canGoBackOrForward
andgoTo
methods for theInAppWebViewController
class
- added
CookieManager
class
- fixed some missing
result.success()
on Android and iOS - added
postUrl()
method for theInAppWebViewController
class - added
loadData()
method for theInAppWebViewController
class
- updated README.md
- added initial support for Inline WebViews using the
InAppWebView
widget - added
InAppBrowser.openFile()
method - added
InAppBrowser.onProgressChanged()
event - moved
InAppBrowser
WebView related functions on theInAppWebViewController
class - added
InAppLocalhostServer
class - added
InAppWebView.canGoBack()
andInAppWebView.canGoForward()
methods - removed
openWithSystemBrowser
andisLocalFile
option. Now use the corresponding method - code refactoring
- added
InAppBrowser.takeScreenshot()
- added
InAppBrowser.setOptions()
- added
InAppBrowser.getOptions()
- removed
target
parameter toInAppBrowser.open()
method. To open the url on the system browser, use theopenWithSystemBrowser: true
option - fixes for the
_ChannelManager
private class - fixed
EXC_BAD_INSTRUCTION
onLoadStart in Swift - added
openWithSystemBrowser
andisLocalFile
options - added
InAppBrowser.openWithSystemBrowser
method - added
InAppBrowser.openOnLocalhost
method - added
InAppBrowser.loadFile
method - added
InAppBrowser.isOpened
method
- fixed WebView.storyboard path for iOS
- fixed README.md example
- 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()
andInAppBrowser.removeJavaScriptHandler()
methods to add/remove javascript message handlers - removed
keyboardDisplayRequiresUserAction
from iOS available options - now the
url
parameter ofInAppBrowser.open()
is optional. The default value isabout:blank
- added
InAppBrowser.onConsoleMessage()
method to manage console messages - fixed
InAppBrowser.injectScriptCode()
method when there is not a return value
- added support of Chrome CustomTabs for Android
- added support of SFSafariViewController for iOS
- added the ability to create multiple instances of browsers
- updated/added new methods
- updated UI of android/iOS in-app browser
- code cleanup
- added new options when opening the in-app browser
Initial release.